diff --git a/embark-ui/package-lock.json b/embark-ui/package-lock.json
index 96562f159..86ae75e02 100644
--- a/embark-ui/package-lock.json
+++ b/embark-ui/package-lock.json
@@ -3929,6 +3929,14 @@
"bser": "^2.0.0"
}
},
+ "fbemitter": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz",
+ "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=",
+ "requires": {
+ "fbjs": "^0.8.4"
+ }
+ },
"fbjs": {
"version": "0.8.17",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
@@ -4072,6 +4080,15 @@
"resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
"integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
},
+ "flux": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/flux/-/flux-3.1.3.tgz",
+ "integrity": "sha1-0jvtUVp5oi2TOrU6tK2hnQWy8Io=",
+ "requires": {
+ "fbemitter": "^2.0.0",
+ "fbjs": "^0.8.0"
+ }
+ },
"follow-redirects": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz",
@@ -9691,6 +9708,30 @@
"react-base16-styling": "^0.5.1"
}
},
+ "react-json-view": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.19.1.tgz",
+ "integrity": "sha512-u5e0XDLIs9Rj43vWkKvwL8G3JzvXSl6etuS5G42a8klMohZuYFQzSN6ri+/GiBptDqlrXPTdExJVU7x9rrlXhg==",
+ "requires": {
+ "flux": "^3.1.3",
+ "react-base16-styling": "^0.6.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-textarea-autosize": "^6.1.0"
+ },
+ "dependencies": {
+ "react-base16-styling": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz",
+ "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=",
+ "requires": {
+ "base16": "^1.0.0",
+ "lodash.curry": "^4.0.1",
+ "lodash.flow": "^3.3.0",
+ "pure-color": "^1.2.0"
+ }
+ }
+ }
+ },
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@@ -9817,6 +9858,14 @@
"prop-types": "^15.5.6"
}
},
+ "react-textarea-autosize": {
+ "version": "6.1.0",
+ "resolved": "http://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz",
+ "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==",
+ "requires": {
+ "prop-types": "^15.6.0"
+ }
+ },
"react-transition-group": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
diff --git a/embark-ui/package.json b/embark-ui/package.json
index cc47c7ee4..5d9563f6c 100644
--- a/embark-ui/package.json
+++ b/embark-ui/package.json
@@ -57,6 +57,7 @@
"react-dom": "^16.4.1",
"react-fontawesome": "^1.6.1",
"react-json-tree": "^0.11.0",
+ "react-json-view": "^1.19.1",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-scroll-to-component": "^1.0.2",
diff --git a/embark-ui/src/actions/index.js b/embark-ui/src/actions/index.js
index 53fe2cbe9..dfd431eb5 100644
--- a/embark-ui/src/actions/index.js
+++ b/embark-ui/src/actions/index.js
@@ -117,7 +117,9 @@ export const commands = {
{
timestamp: new Date().getTime(),
name: EMBARK_PROCESS_NAME,
- msg: `console> ${payload.command}
${ansiToHtml(command.result)}`
+ msg: `console> ${payload.command}
${ansiToHtml(command.result)}`,
+ command: `console> ${payload.command}
`,
+ result: command.result
}
]
});
diff --git a/embark-ui/src/components/Console.js b/embark-ui/src/components/Console.js
index 8179565a3..0afd4916f 100644
--- a/embark-ui/src/components/Console.js
+++ b/embark-ui/src/components/Console.js
@@ -5,6 +5,7 @@ import Convert from 'ansi-to-html';
import { Col, Row, Card, CardBody, CardFooter, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';
import classnames from 'classnames';
import {AsyncTypeahead} from 'react-bootstrap-typeahead'
+import ReactJson from 'react-json-view';
import Logs from "./Logs";
import "./Console.css";
@@ -67,8 +68,17 @@ class Console extends Component {
{processLogs
.filter((item) => item.name === process.name)
.reverse()
- .map((item, i) =>