diff --git a/README.md b/README.md
index 38d948f..6c94b51 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,10 @@ together is all it takes to move versions.
5. Open the local dev server in your browser and upload the generated `stats.json` file.
+ The upload dialog also carries example stats files, one per webpack version
+ from 1 to 5. They are in [`app/pages/upload/`](app/pages/upload) and are
+ enough to look around the app before generating a file of your own.
+
## Available scripts
```bash
@@ -86,9 +90,9 @@ npm test
Runs the unit tests in [`test/`](test). They check the circular dependency
detection against [`app/pages/upload/example3.json`](app/pages/upload/example3.json),
-a small hand-written stats file that covers every hint of the hints page and is
-loadable in the app as the "hint test cases" example. CI runs this before the
-build, so a failing test stops the run and nothing is deployed.
+a small hand-written stats file that covers every hint of the hints page. CI
+runs this before the build, so a failing test stops the run and nothing is
+deployed.
## Docker
diff --git a/app/pages/upload/application.pug b/app/pages/upload/application.pug
index 83c622e..2200441 100644
--- a/app/pages/upload/application.pug
+++ b/app/pages/upload/application.pug
@@ -23,6 +23,8 @@ nav.navbar.navbar-default
.form-group
label(for="example") Examples
div: button(type="btn btn-default", id="example1") webpack 1 test cases
+ div: button(type="btn btn-default", id="example4") webpack 2 test cases
+ div: button(type="btn btn-default", id="example5") webpack 3 test cases
+ div: button(type="btn btn-default", id="example6") webpack 4 test cases
div: button(type="btn btn-default", id="example2") webpack 5 test cases
- div: button(type="btn btn-default", id="example3") hint test cases
.modal-footer
\ No newline at end of file
diff --git a/app/pages/upload/example4.json b/app/pages/upload/example4.json
new file mode 100644
index 0000000..80c2e51
--- /dev/null
+++ b/app/pages/upload/example4.json
@@ -0,0 +1,1355 @@
+{
+ "errors": [],
+ "warnings": [
+ "./src/legacy.js\nCritical dependency: the request of a dependency is an expression\n @ ./src/legacy.js 4:18-31\n @ ./src/index.js 5:0-20"
+ ],
+ "version": "2.7.0",
+ "hash": "9c4b1e7a53f0d268ab14",
+ "time": 1642,
+ "publicPath": "/assets/",
+ "assetsByChunkName": {
+ "vendor": "vendor.js",
+ "main": "main.js"
+ },
+ "assets": [
+ {
+ "name": "vendor.js",
+ "size": 34218,
+ "chunks": [
+ 2
+ ],
+ "chunkNames": [
+ "vendor"
+ ],
+ "emitted": true
+ },
+ {
+ "name": "main.js",
+ "size": 18740,
+ "chunks": [
+ 1
+ ],
+ "chunkNames": [
+ "main"
+ ],
+ "emitted": true
+ },
+ {
+ "name": "0.chunk.js",
+ "size": 1362,
+ "chunks": [
+ 0
+ ],
+ "chunkNames": [],
+ "emitted": true
+ }
+ ],
+ "entrypoints": {
+ "main": {
+ "chunks": [
+ 2,
+ 1
+ ],
+ "assets": [
+ "vendor.js",
+ "main.js"
+ ]
+ }
+ },
+ "chunks": [
+ {
+ "id": 0,
+ "rendered": true,
+ "initial": false,
+ "entry": false,
+ "extraAsync": false,
+ "names": [],
+ "files": [
+ "0.chunk.js"
+ ],
+ "hash": "6b8f1c05d2e4a7930f61",
+ "parents": [
+ 1
+ ],
+ "origins": [
+ {
+ "moduleId": 1,
+ "module": "./src/app.js",
+ "moduleIdentifier": "/app/src/app.js",
+ "moduleName": "./src/app.js",
+ "loc": "11:8-38",
+ "name": null,
+ "reasons": [
+ "import()"
+ ]
+ }
+ ],
+ "size": 900,
+ "modules": [
+ {
+ "id": 10,
+ "identifier": "/app/src/pages/settings.js",
+ "name": "./src/pages/settings.js",
+ "index": 10,
+ "index2": 3,
+ "size": 900,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 26,
+ "building": 41,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "import()",
+ "userRequest": "./pages/settings",
+ "loc": "11:8-38"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "source": "import { formatCell } from \"../utils\";\n\nexport default function render(settings) {\n\treturn Object.keys(settings).map(formatCell);\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 1,
+ "rendered": true,
+ "initial": true,
+ "entry": false,
+ "extraAsync": false,
+ "names": [
+ "main"
+ ],
+ "files": [
+ "main.js"
+ ],
+ "hash": "a1d43f7e9c2b06584d3a",
+ "parents": [
+ 2
+ ],
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "main",
+ "name": "main",
+ "reasons": []
+ }
+ ],
+ "size": 6425,
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 13,
+ "size": 620,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "profile": {
+ "factory": 31,
+ "building": 44,
+ "dependencies": 12
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "import { start } from \"./app\";\nimport \"./styles.css\";\nimport { translate } from \"./i18n\";\n\nrequire(\"./legacy\");\n\nstart(translate(\"title\"));\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js",
+ "index": 1,
+ "index2": 12,
+ "size": 780,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 24,
+ "building": 51,
+ "dependencies": 8
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./app",
+ "loc": "1:0-30"
+ }
+ ],
+ "usedExports": [
+ "start"
+ ],
+ "providedExports": [
+ "start"
+ ],
+ "source": "import { formatRow } from \"./utils\";\n\nvar map = require(\"lodash/map\");\n\nexport function start(title) {\n\tdocument.title = title;\n\treturn map([1, 2, 3], formatRow);\n}\n\nexport function openSettings() {\n\treturn import(\"./pages/settings\");\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/utils.js",
+ "name": "./src/utils.js",
+ "index": 2,
+ "index2": 11,
+ "size": 410,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 18,
+ "building": 29,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import",
+ "userRequest": "./utils",
+ "loc": "1:0-36"
+ },
+ {
+ "moduleId": 10,
+ "moduleIdentifier": "/app/src/pages/settings.js",
+ "module": "./src/pages/settings.js",
+ "moduleName": "./src/pages/settings.js",
+ "type": "harmony import",
+ "userRequest": "../utils",
+ "loc": "1:0-38"
+ }
+ ],
+ "usedExports": [
+ "formatRow"
+ ],
+ "providedExports": [
+ "formatRow",
+ "formatCell"
+ ],
+ "source": "export function formatRow(value) {\n\treturn formatCell(value) + \"\\n\";\n}\n\nexport function formatCell(value) {\n\treturn String(value);\n}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "name": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "index": 3,
+ "index2": 10,
+ "size": 1080,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 46,
+ "building": 87,
+ "dependencies": 4
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./styles.css",
+ "loc": "2:0-22"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var content = require(\"!!../node_modules/css-loader/index.js!./styles.css\");\nrequire(\"../node_modules/style-loader/addStyles.js\")(content, {});\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "name": "./node_modules/css-loader/index.js!./src/styles.css",
+ "index": 4,
+ "index2": 9,
+ "size": 2140,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "issuerId": 3,
+ "issuerName": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "profile": {
+ "factory": 39,
+ "building": 96,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "module": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "moduleName": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "type": "cjs require",
+ "userRequest": "!!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "loc": "1:14-75"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "exports = module.exports = require(\"./node_modules/css-loader/lib/css-base.js\")();\nexports.push([module.id, \"body { margin: 0; font: 14px/1.4 sans-serif; }\", \"\"]);\n"
+ },
+ {
+ "id": 5,
+ "identifier": "/app/src/i18n.js",
+ "name": "./src/i18n.js",
+ "index": 5,
+ "index2": 8,
+ "size": 460,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 21,
+ "building": 33,
+ "dependencies": 6
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./i18n",
+ "loc": "3:0-36"
+ }
+ ],
+ "usedExports": [
+ "translate"
+ ],
+ "providedExports": [
+ "translate"
+ ],
+ "source": "var lang = document.documentElement.lang || \"en\";\nvar messages = require(\"./locales/\" + lang + \".json\");\n\nexport function translate(key) {\n\treturn messages[key] || key;\n}\n"
+ },
+ {
+ "id": 6,
+ "identifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "name": "./src/locales sync ^\\.\\/.*\\.json$",
+ "index": 6,
+ "index2": 7,
+ "size": 210,
+ "cacheable": false,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/i18n.js",
+ "issuerId": 5,
+ "issuerName": "./src/i18n.js",
+ "profile": {
+ "factory": 12,
+ "building": 8,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 5,
+ "moduleIdentifier": "/app/src/i18n.js",
+ "module": "./src/i18n.js",
+ "moduleName": "./src/i18n.js",
+ "type": "cjs require context",
+ "userRequest": "./locales",
+ "loc": "2:15-53"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var map = {\n\t\"./de.json\": 8,\n\t\"./en.json\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n}\n"
+ },
+ {
+ "id": 7,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/locales/en.json",
+ "name": "./node_modules/json-loader/index.js!./src/locales/en.json",
+ "index": 7,
+ "index2": 6,
+ "size": 190,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "issuerId": 6,
+ "issuerName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "profile": {
+ "factory": 14,
+ "building": 11,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "module": "./src/locales sync ^\\.\\/.*\\.json$",
+ "moduleName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "type": "context element",
+ "userRequest": "./en.json",
+ "loc": "./en.json"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "module.exports = {\"title\":\"Dashboard\",\"empty\":\"Nothing here yet\"}\n"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/locales/de.json",
+ "name": "./node_modules/json-loader/index.js!./src/locales/de.json",
+ "index": 8,
+ "index2": 5,
+ "size": 195,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "issuerId": 6,
+ "issuerName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "profile": {
+ "factory": 13,
+ "building": 10,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "module": "./src/locales sync ^\\.\\/.*\\.json$",
+ "moduleName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "type": "context element",
+ "userRequest": "./de.json",
+ "loc": "./de.json"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "module.exports = {\"title\":\"Übersicht\",\"empty\":\"Noch nichts vorhanden\"}\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/src/legacy.js",
+ "name": "./src/legacy.js",
+ "index": 9,
+ "index2": 4,
+ "size": 340,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 16,
+ "building": 27,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 1,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "cjs require",
+ "userRequest": "./legacy",
+ "loc": "5:0-20"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var name = window.LEGACY_PLUGIN;\n\nif (name) {\n\tmodule.exports = require(name);\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 2,
+ "rendered": true,
+ "initial": true,
+ "entry": true,
+ "extraAsync": false,
+ "names": [
+ "vendor"
+ ],
+ "files": [
+ "vendor.js"
+ ],
+ "hash": "0f57e3b1a86d4c29b7e0",
+ "parents": [],
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "",
+ "name": "vendor",
+ "reasons": []
+ }
+ ],
+ "size": 2520,
+ "modules": [
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/lodash/map.js",
+ "name": "./node_modules/lodash/map.js",
+ "index": 11,
+ "index2": 2,
+ "size": 1720,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 52,
+ "building": 63,
+ "dependencies": 19
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "cjs require",
+ "userRequest": "lodash/map",
+ "loc": "3:10-31"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var arrayMap = require(\"./_arrayMap\"),\n\tisArray = require(\"./isArray\");\n\nfunction map(collection, iteratee) {\n\tvar func = isArray(collection) ? arrayMap : baseMap;\n\treturn func(collection, iteratee);\n}\n\nmodule.exports = map;\n"
+ },
+ {
+ "id": 12,
+ "identifier": "/app/node_modules/lodash/_arrayMap.js",
+ "name": "./node_modules/lodash/_arrayMap.js",
+ "index": 12,
+ "index2": 1,
+ "size": 480,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/lodash/map.js",
+ "issuerId": 11,
+ "issuerName": "./node_modules/lodash/map.js",
+ "profile": {
+ "factory": 17,
+ "building": 12,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 11,
+ "moduleIdentifier": "/app/node_modules/lodash/map.js",
+ "module": "./node_modules/lodash/map.js",
+ "moduleName": "./node_modules/lodash/map.js",
+ "type": "cjs require",
+ "userRequest": "./_arrayMap",
+ "loc": "1:15-37"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "function arrayMap(array, iteratee) {\n\tvar index = -1,\n\t\tlength = array == null ? 0 : array.length,\n\t\tresult = Array(length);\n\n\twhile (++index < length) {\n\t\tresult[index] = iteratee(array[index], index, array);\n\t}\n\treturn result;\n}\n\nmodule.exports = arrayMap;\n"
+ },
+ {
+ "id": 13,
+ "identifier": "/app/node_modules/lodash/isArray.js",
+ "name": "./node_modules/lodash/isArray.js",
+ "index": 13,
+ "index2": 0,
+ "size": 320,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/lodash/map.js",
+ "issuerId": 11,
+ "issuerName": "./node_modules/lodash/map.js",
+ "profile": {
+ "factory": 15,
+ "building": 9,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 11,
+ "moduleIdentifier": "/app/node_modules/lodash/map.js",
+ "module": "./node_modules/lodash/map.js",
+ "moduleName": "./node_modules/lodash/map.js",
+ "type": "cjs require",
+ "userRequest": "./isArray",
+ "loc": "2:11-31"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var isArray = Array.isArray;\n\nmodule.exports = isArray;\n"
+ }
+ ],
+ "filteredModules": 0
+ }
+ ],
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 13,
+ "size": 620,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "profile": {
+ "factory": 31,
+ "building": 44,
+ "dependencies": 12
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "import { start } from \"./app\";\nimport \"./styles.css\";\nimport { translate } from \"./i18n\";\n\nrequire(\"./legacy\");\n\nstart(translate(\"title\"));\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js",
+ "index": 1,
+ "index2": 12,
+ "size": 780,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 24,
+ "building": 51,
+ "dependencies": 8
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./app",
+ "loc": "1:0-30"
+ }
+ ],
+ "usedExports": [
+ "start"
+ ],
+ "providedExports": [
+ "start"
+ ],
+ "source": "import { formatRow } from \"./utils\";\n\nvar map = require(\"lodash/map\");\n\nexport function start(title) {\n\tdocument.title = title;\n\treturn map([1, 2, 3], formatRow);\n}\n\nexport function openSettings() {\n\treturn import(\"./pages/settings\");\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/utils.js",
+ "name": "./src/utils.js",
+ "index": 2,
+ "index2": 11,
+ "size": 410,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 18,
+ "building": 29,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import",
+ "userRequest": "./utils",
+ "loc": "1:0-36"
+ },
+ {
+ "moduleId": 10,
+ "moduleIdentifier": "/app/src/pages/settings.js",
+ "module": "./src/pages/settings.js",
+ "moduleName": "./src/pages/settings.js",
+ "type": "harmony import",
+ "userRequest": "../utils",
+ "loc": "1:0-38"
+ }
+ ],
+ "usedExports": [
+ "formatRow"
+ ],
+ "providedExports": [
+ "formatRow",
+ "formatCell"
+ ],
+ "source": "export function formatRow(value) {\n\treturn formatCell(value) + \"\\n\";\n}\n\nexport function formatCell(value) {\n\treturn String(value);\n}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "name": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "index": 3,
+ "index2": 10,
+ "size": 1080,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 46,
+ "building": 87,
+ "dependencies": 4
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./styles.css",
+ "loc": "2:0-22"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var content = require(\"!!../node_modules/css-loader/index.js!./styles.css\");\nrequire(\"../node_modules/style-loader/addStyles.js\")(content, {});\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "name": "./node_modules/css-loader/index.js!./src/styles.css",
+ "index": 4,
+ "index2": 9,
+ "size": 2140,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "issuerId": 3,
+ "issuerName": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "profile": {
+ "factory": 39,
+ "building": 96,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/node_modules/style-loader/index.js!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "module": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "moduleName": "./node_modules/style-loader/index.js!./node_modules/css-loader/index.js!./src/styles.css",
+ "type": "cjs require",
+ "userRequest": "!!/app/node_modules/css-loader/index.js!/app/src/styles.css",
+ "loc": "1:14-75"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "exports = module.exports = require(\"./node_modules/css-loader/lib/css-base.js\")();\nexports.push([module.id, \"body { margin: 0; font: 14px/1.4 sans-serif; }\", \"\"]);\n"
+ },
+ {
+ "id": 5,
+ "identifier": "/app/src/i18n.js",
+ "name": "./src/i18n.js",
+ "index": 5,
+ "index2": 8,
+ "size": 460,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 21,
+ "building": 33,
+ "dependencies": 6
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./i18n",
+ "loc": "3:0-36"
+ }
+ ],
+ "usedExports": [
+ "translate"
+ ],
+ "providedExports": [
+ "translate"
+ ],
+ "source": "var lang = document.documentElement.lang || \"en\";\nvar messages = require(\"./locales/\" + lang + \".json\");\n\nexport function translate(key) {\n\treturn messages[key] || key;\n}\n"
+ },
+ {
+ "id": 6,
+ "identifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "name": "./src/locales sync ^\\.\\/.*\\.json$",
+ "index": 6,
+ "index2": 7,
+ "size": 210,
+ "cacheable": false,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/i18n.js",
+ "issuerId": 5,
+ "issuerName": "./src/i18n.js",
+ "profile": {
+ "factory": 12,
+ "building": 8,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 5,
+ "moduleIdentifier": "/app/src/i18n.js",
+ "module": "./src/i18n.js",
+ "moduleName": "./src/i18n.js",
+ "type": "cjs require context",
+ "userRequest": "./locales",
+ "loc": "2:15-53"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var map = {\n\t\"./de.json\": 8,\n\t\"./en.json\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n}\n"
+ },
+ {
+ "id": 7,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/locales/en.json",
+ "name": "./node_modules/json-loader/index.js!./src/locales/en.json",
+ "index": 7,
+ "index2": 6,
+ "size": 190,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "issuerId": 6,
+ "issuerName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "profile": {
+ "factory": 14,
+ "building": 11,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "module": "./src/locales sync ^\\.\\/.*\\.json$",
+ "moduleName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "type": "context element",
+ "userRequest": "./en.json",
+ "loc": "./en.json"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "module.exports = {\"title\":\"Dashboard\",\"empty\":\"Nothing here yet\"}\n"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/locales/de.json",
+ "name": "./node_modules/json-loader/index.js!./src/locales/de.json",
+ "index": 8,
+ "index2": 5,
+ "size": 195,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "issuerId": 6,
+ "issuerName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "profile": {
+ "factory": 13,
+ "building": 10,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/locales sync ^\\.\\/.*\\.json$",
+ "module": "./src/locales sync ^\\.\\/.*\\.json$",
+ "moduleName": "./src/locales sync ^\\.\\/.*\\.json$",
+ "type": "context element",
+ "userRequest": "./de.json",
+ "loc": "./de.json"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "module.exports = {\"title\":\"Übersicht\",\"empty\":\"Noch nichts vorhanden\"}\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/src/legacy.js",
+ "name": "./src/legacy.js",
+ "index": 9,
+ "index2": 4,
+ "size": 340,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 16,
+ "building": 27,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 1,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "cjs require",
+ "userRequest": "./legacy",
+ "loc": "5:0-20"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var name = window.LEGACY_PLUGIN;\n\nif (name) {\n\tmodule.exports = require(name);\n}\n"
+ },
+ {
+ "id": 10,
+ "identifier": "/app/src/pages/settings.js",
+ "name": "./src/pages/settings.js",
+ "index": 10,
+ "index2": 3,
+ "size": 900,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 26,
+ "building": 41,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "import()",
+ "userRequest": "./pages/settings",
+ "loc": "11:8-38"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "source": "import { formatCell } from \"../utils\";\n\nexport default function render(settings) {\n\treturn Object.keys(settings).map(formatCell);\n}\n"
+ },
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/lodash/map.js",
+ "name": "./node_modules/lodash/map.js",
+ "index": 11,
+ "index2": 2,
+ "size": 1720,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "profile": {
+ "factory": 52,
+ "building": 63,
+ "dependencies": 19
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "cjs require",
+ "userRequest": "lodash/map",
+ "loc": "3:10-31"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var arrayMap = require(\"./_arrayMap\"),\n\tisArray = require(\"./isArray\");\n\nfunction map(collection, iteratee) {\n\tvar func = isArray(collection) ? arrayMap : baseMap;\n\treturn func(collection, iteratee);\n}\n\nmodule.exports = map;\n"
+ },
+ {
+ "id": 12,
+ "identifier": "/app/node_modules/lodash/_arrayMap.js",
+ "name": "./node_modules/lodash/_arrayMap.js",
+ "index": 12,
+ "index2": 1,
+ "size": 480,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/lodash/map.js",
+ "issuerId": 11,
+ "issuerName": "./node_modules/lodash/map.js",
+ "profile": {
+ "factory": 17,
+ "building": 12,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 11,
+ "moduleIdentifier": "/app/node_modules/lodash/map.js",
+ "module": "./node_modules/lodash/map.js",
+ "moduleName": "./node_modules/lodash/map.js",
+ "type": "cjs require",
+ "userRequest": "./_arrayMap",
+ "loc": "1:15-37"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "function arrayMap(array, iteratee) {\n\tvar index = -1,\n\t\tlength = array == null ? 0 : array.length,\n\t\tresult = Array(length);\n\n\twhile (++index < length) {\n\t\tresult[index] = iteratee(array[index], index, array);\n\t}\n\treturn result;\n}\n\nmodule.exports = arrayMap;\n"
+ },
+ {
+ "id": 13,
+ "identifier": "/app/node_modules/lodash/isArray.js",
+ "name": "./node_modules/lodash/isArray.js",
+ "index": 13,
+ "index2": 0,
+ "size": 320,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/lodash/map.js",
+ "issuerId": 11,
+ "issuerName": "./node_modules/lodash/map.js",
+ "profile": {
+ "factory": 15,
+ "building": 9,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 11,
+ "moduleIdentifier": "/app/node_modules/lodash/map.js",
+ "module": "./node_modules/lodash/map.js",
+ "moduleName": "./node_modules/lodash/map.js",
+ "type": "cjs require",
+ "userRequest": "./isArray",
+ "loc": "2:11-31"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "source": "var isArray = Array.isArray;\n\nmodule.exports = isArray;\n"
+ }
+ ],
+ "filteredModules": 0,
+ "children": []
+}
diff --git a/app/pages/upload/example5.json b/app/pages/upload/example5.json
new file mode 100644
index 0000000..f26360f
--- /dev/null
+++ b/app/pages/upload/example5.json
@@ -0,0 +1,1386 @@
+{
+ "errors": [
+ "./src/settings.js\nModule not found: Error: Can't resolve './theme' in '/app/src'\n @ ./src/settings.js 2:0-28\n @ ./src/index.js 6:8-63"
+ ],
+ "warnings": [
+ "asset size limit: The following asset(s) exceed the recommended size limit (250 kB).\nThis can impact web performance.\nAssets: \n vendor.js (318 kB)",
+ "entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (250 kB). This can impact web performance.\nEntrypoints:\n main (339 kB)\n vendor.js\n main.js\n"
+ ],
+ "version": "3.12.0",
+ "hash": "4d8a2f61c093be57a2d1",
+ "time": 3184,
+ "publicPath": "/static/",
+ "assetsByChunkName": {
+ "vendor": "vendor.js",
+ "main": "main.js",
+ "settings": "settings.chunk.js",
+ "editor": "editor.chunk.js"
+ },
+ "assets": [
+ {
+ "name": "vendor.js",
+ "size": 318402,
+ "chunks": [
+ 0
+ ],
+ "chunkNames": [
+ "vendor"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": true
+ },
+ {
+ "name": "main.js",
+ "size": 21036,
+ "chunks": [
+ 1
+ ],
+ "chunkNames": [
+ "main"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "settings.chunk.js",
+ "size": 1284,
+ "chunks": [
+ 2
+ ],
+ "chunkNames": [
+ "settings"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "editor.chunk.js",
+ "size": 1710,
+ "chunks": [
+ 3
+ ],
+ "chunkNames": [
+ "editor"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ }
+ ],
+ "entrypoints": {
+ "main": {
+ "chunks": [
+ 0,
+ 1
+ ],
+ "assets": [
+ "vendor.js",
+ "main.js"
+ ],
+ "isOverSizeLimit": true
+ }
+ },
+ "chunks": [
+ {
+ "id": 0,
+ "rendered": true,
+ "initial": true,
+ "entry": true,
+ "extraAsync": false,
+ "names": [
+ "vendor"
+ ],
+ "files": [
+ "vendor.js"
+ ],
+ "hash": "c7f1b6039e2a48d5710c",
+ "parents": [],
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "",
+ "name": "vendor",
+ "reasons": []
+ }
+ ],
+ "size": 298650,
+ "modules": [
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/moment/moment.js",
+ "name": "./node_modules/moment/moment.js",
+ "index": 8,
+ "index2": 3,
+ "size": 292430,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/format.js",
+ "issuerId": 3,
+ "issuerName": "./src/format.js",
+ "profile": {
+ "factory": 74,
+ "building": 512,
+ "dependencies": 96
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "cjs require",
+ "userRequest": "moment",
+ "loc": "3:13-30"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module",
+ "ModuleConcatenation bailout: Module uses injected variables (module, exports)"
+ ],
+ "source": "(function(global, factory) {\n\ttypeof exports === \"object\" && typeof module !== \"undefined\"\n\t\t? (module.exports = factory())\n\t\t: (global.moment = factory());\n})(this, function() {\n\t// 2.22.2\n});\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "name": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "index": 9,
+ "index2": 2,
+ "size": 230,
+ "cacheable": false,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/moment.js",
+ "issuerId": 8,
+ "issuerName": "./node_modules/moment/moment.js",
+ "profile": {
+ "factory": 16,
+ "building": 11,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 8,
+ "moduleIdentifier": "/app/node_modules/moment/moment.js",
+ "module": "./node_modules/moment/moment.js",
+ "moduleName": "./node_modules/moment/moment.js",
+ "type": "cjs require context",
+ "userRequest": "./locale",
+ "loc": "1284:12-42"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "var map = {\n\t\"./en-gb\": 10,\n\t\"./nb\": 11\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n}\n"
+ },
+ {
+ "id": 10,
+ "identifier": "/app/node_modules/moment/locale/en-gb.js",
+ "name": "./node_modules/moment/locale/en-gb.js",
+ "index": 10,
+ "index2": 1,
+ "size": 3120,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "issuerId": 9,
+ "issuerName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "profile": {
+ "factory": 21,
+ "building": 34,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "module": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "moduleName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "type": "context element",
+ "userRequest": "./en-gb",
+ "loc": "./en-gb"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "// moment.js locale configuration : British English\nmodule.exports = hooks.defineLocale(\"en-gb\", { week: { dow: 1, doy: 4 } });\n"
+ },
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/moment/locale/nb.js",
+ "name": "./node_modules/moment/locale/nb.js",
+ "index": 11,
+ "index2": 0,
+ "size": 2870,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "issuerId": 9,
+ "issuerName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "profile": {
+ "factory": 20,
+ "building": 32,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "module": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "moduleName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "type": "context element",
+ "userRequest": "./nb",
+ "loc": "./nb"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "// moment.js locale configuration : Norwegian Bokmål\nmodule.exports = hooks.defineLocale(\"nb\", { week: { dow: 1, doy: 4 } });\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 1,
+ "rendered": true,
+ "initial": true,
+ "entry": false,
+ "extraAsync": false,
+ "names": [
+ "main"
+ ],
+ "files": [
+ "main.js"
+ ],
+ "hash": "2e8d40a19b7c6f35d284",
+ "parents": [
+ 0
+ ],
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "main",
+ "name": "main",
+ "reasons": []
+ }
+ ],
+ "size": 3550,
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 11,
+ "size": 690,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "profile": {
+ "factory": 34,
+ "building": 48,
+ "dependencies": 14
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is an entry point"
+ ],
+ "source": "import { render } from \"./dashboard\";\n\nrender(document.body);\n\ndocument.querySelector(\"#settings\").onclick = function() {\n\treturn import(/* webpackChunkName: \"settings\" */ \"./settings\");\n};\n\ndocument.querySelector(\"#editor\").onclick = function() {\n\treturn import(/* webpackChunkName: \"editor\" */ \"./editor\");\n};\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/dashboard.js",
+ "name": "./src/dashboard.js",
+ "index": 1,
+ "index2": 10,
+ "size": 840,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 27,
+ "building": 39,
+ "dependencies": 9
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./dashboard",
+ "loc": "1:0-37"
+ }
+ ],
+ "usedExports": [
+ "render"
+ ],
+ "providedExports": [
+ "render"
+ ],
+ "optimizationBailout": [],
+ "source": "import { draw } from \"./chart\";\nimport { humanize } from \"./format\";\n\nvar config = require(\"./config.json\");\n\nexport function render(root) {\n\troot.appendChild(draw(config.series));\n\treturn humanize(config.updatedAt);\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/chart.js",
+ "name": "./src/chart.js",
+ "index": 2,
+ "index2": 9,
+ "size": 1240,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 22,
+ "building": 46,
+ "dependencies": 5
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "harmony import",
+ "userRequest": "./chart",
+ "loc": "1:0-31"
+ },
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "harmony import",
+ "userRequest": "./chart",
+ "loc": "1:0-31"
+ },
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "harmony import specifier",
+ "userRequest": "./chart",
+ "loc": "4:36-40"
+ }
+ ],
+ "usedExports": [
+ "draw",
+ "axis"
+ ],
+ "providedExports": [
+ "draw",
+ "axis"
+ ],
+ "optimizationBailout": [],
+ "source": "import { humanize } from \"./format\";\n\nexport function draw(series) {\n\tvar node = document.createElement(\"figure\");\n\tnode.textContent = series.map(humanize).join(\" \");\n\treturn node;\n}\n\nexport function axis(range) {\n\treturn range.map(humanize);\n}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/src/format.js",
+ "name": "./src/format.js",
+ "index": 3,
+ "index2": 8,
+ "size": 520,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 19,
+ "building": 31,
+ "dependencies": 4
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "2:0-36"
+ },
+ {
+ "moduleId": 2,
+ "moduleIdentifier": "/app/src/chart.js",
+ "module": "./src/chart.js",
+ "moduleName": "./src/chart.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "1:0-36"
+ },
+ {
+ "moduleId": 2,
+ "moduleIdentifier": "/app/src/chart.js",
+ "module": "./src/chart.js",
+ "moduleName": "./src/chart.js",
+ "type": "harmony import specifier",
+ "userRequest": "./format",
+ "loc": "5:32-40"
+ },
+ {
+ "moduleId": 5,
+ "moduleIdentifier": "/app/src/settings.js",
+ "module": "./src/settings.js",
+ "moduleName": "./src/settings.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "1:0-36"
+ }
+ ],
+ "usedExports": [
+ "humanize"
+ ],
+ "providedExports": [
+ "humanize"
+ ],
+ "optimizationBailout": [],
+ "source": "import { axis } from \"./chart\";\n\nvar moment = require(\"moment\");\n\nexport function humanize(value) {\n\tif (Array.isArray(value)) return axis(value).join(\", \");\n\tif (value instanceof Date) return moment(value).fromNow();\n\treturn String(value);\n}\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/config.json",
+ "name": "./node_modules/json-loader/index.js!./src/config.json",
+ "index": 4,
+ "index2": 7,
+ "size": 260,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 23,
+ "building": 15,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "cjs require",
+ "userRequest": "./config.json",
+ "loc": "4:13-38"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "module.exports = {\"series\":[1,3,7],\"updatedAt\":\"2018-04-02T09:00:00Z\"}\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 2,
+ "rendered": true,
+ "initial": false,
+ "entry": false,
+ "extraAsync": false,
+ "names": [
+ "settings"
+ ],
+ "files": [
+ "settings.chunk.js"
+ ],
+ "hash": "5a0c93f7e14b28d6a3f9",
+ "parents": [
+ 1
+ ],
+ "origins": [
+ {
+ "moduleId": 0,
+ "module": "./src/index.js",
+ "moduleIdentifier": "/app/src/index.js",
+ "moduleName": "./src/index.js",
+ "loc": "6:8-63",
+ "name": "settings",
+ "reasons": [
+ "import()"
+ ]
+ }
+ ],
+ "size": 610,
+ "modules": [
+ {
+ "id": 5,
+ "identifier": "/app/src/settings.js",
+ "name": "./src/settings.js",
+ "index": 5,
+ "index2": 6,
+ "size": 610,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 25,
+ "building": 37,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 1,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./settings",
+ "loc": "6:8-63"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "source": "import { humanize } from \"./format\";\nimport theme from \"./theme\";\n\nexport default function open(values) {\n\treturn humanize(values) + theme.name;\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 3,
+ "rendered": true,
+ "initial": false,
+ "entry": false,
+ "extraAsync": false,
+ "names": [
+ "editor"
+ ],
+ "files": [
+ "editor.chunk.js"
+ ],
+ "hash": "b93e17c5028af64d1e7b",
+ "parents": [
+ 1
+ ],
+ "origins": [
+ {
+ "moduleId": 0,
+ "module": "./src/index.js",
+ "moduleIdentifier": "/app/src/index.js",
+ "moduleName": "./src/index.js",
+ "loc": "10:8-59",
+ "name": "editor",
+ "reasons": [
+ "import()"
+ ]
+ }
+ ],
+ "size": 1450,
+ "modules": [
+ {
+ "id": 6,
+ "identifier": "/app/src/editor/index.js",
+ "name": "./src/editor/index.js",
+ "index": 6,
+ "index2": 5,
+ "size": 980,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 29,
+ "building": 43,
+ "dependencies": 6
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./editor",
+ "loc": "10:8-59"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "source": "import { toolbar } from \"./toolbar\";\n\nexport default function open(root) {\n\troot.appendChild(toolbar());\n}\n"
+ },
+ {
+ "id": 7,
+ "identifier": "/app/src/editor/toolbar.js",
+ "name": "./src/editor/toolbar.js",
+ "index": 7,
+ "index2": 4,
+ "size": 470,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/editor/index.js",
+ "issuerId": 6,
+ "issuerName": "./src/editor/index.js",
+ "profile": {
+ "factory": 18,
+ "building": 26,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/editor/index.js",
+ "module": "./src/editor/index.js",
+ "moduleName": "./src/editor/index.js",
+ "type": "harmony import",
+ "userRequest": "./toolbar",
+ "loc": "1:0-36"
+ }
+ ],
+ "usedExports": [
+ "toolbar"
+ ],
+ "providedExports": [
+ "toolbar"
+ ],
+ "optimizationBailout": [],
+ "source": "export function toolbar() {\n\treturn document.createElement(\"nav\");\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ }
+ ],
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 11,
+ "size": 690,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "profile": {
+ "factory": 34,
+ "building": 48,
+ "dependencies": 14
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is an entry point"
+ ],
+ "source": "import { render } from \"./dashboard\";\n\nrender(document.body);\n\ndocument.querySelector(\"#settings\").onclick = function() {\n\treturn import(/* webpackChunkName: \"settings\" */ \"./settings\");\n};\n\ndocument.querySelector(\"#editor\").onclick = function() {\n\treturn import(/* webpackChunkName: \"editor\" */ \"./editor\");\n};\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/dashboard.js",
+ "name": "./src/dashboard.js",
+ "index": 1,
+ "index2": 10,
+ "size": 840,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 27,
+ "building": 39,
+ "dependencies": 9
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import",
+ "userRequest": "./dashboard",
+ "loc": "1:0-37"
+ }
+ ],
+ "usedExports": [
+ "render"
+ ],
+ "providedExports": [
+ "render"
+ ],
+ "optimizationBailout": [],
+ "source": "import { draw } from \"./chart\";\nimport { humanize } from \"./format\";\n\nvar config = require(\"./config.json\");\n\nexport function render(root) {\n\troot.appendChild(draw(config.series));\n\treturn humanize(config.updatedAt);\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/chart.js",
+ "name": "./src/chart.js",
+ "index": 2,
+ "index2": 9,
+ "size": 1240,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 22,
+ "building": 46,
+ "dependencies": 5
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "harmony import",
+ "userRequest": "./chart",
+ "loc": "1:0-31"
+ },
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "harmony import",
+ "userRequest": "./chart",
+ "loc": "1:0-31"
+ },
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "harmony import specifier",
+ "userRequest": "./chart",
+ "loc": "4:36-40"
+ }
+ ],
+ "usedExports": [
+ "draw",
+ "axis"
+ ],
+ "providedExports": [
+ "draw",
+ "axis"
+ ],
+ "optimizationBailout": [],
+ "source": "import { humanize } from \"./format\";\n\nexport function draw(series) {\n\tvar node = document.createElement(\"figure\");\n\tnode.textContent = series.map(humanize).join(\" \");\n\treturn node;\n}\n\nexport function axis(range) {\n\treturn range.map(humanize);\n}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/src/format.js",
+ "name": "./src/format.js",
+ "index": 3,
+ "index2": 8,
+ "size": 520,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 19,
+ "building": 31,
+ "dependencies": 4
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "2:0-36"
+ },
+ {
+ "moduleId": 2,
+ "moduleIdentifier": "/app/src/chart.js",
+ "module": "./src/chart.js",
+ "moduleName": "./src/chart.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "1:0-36"
+ },
+ {
+ "moduleId": 2,
+ "moduleIdentifier": "/app/src/chart.js",
+ "module": "./src/chart.js",
+ "moduleName": "./src/chart.js",
+ "type": "harmony import specifier",
+ "userRequest": "./format",
+ "loc": "5:32-40"
+ },
+ {
+ "moduleId": 5,
+ "moduleIdentifier": "/app/src/settings.js",
+ "module": "./src/settings.js",
+ "moduleName": "./src/settings.js",
+ "type": "harmony import",
+ "userRequest": "./format",
+ "loc": "1:0-36"
+ }
+ ],
+ "usedExports": [
+ "humanize"
+ ],
+ "providedExports": [
+ "humanize"
+ ],
+ "optimizationBailout": [],
+ "source": "import { axis } from \"./chart\";\n\nvar moment = require(\"moment\");\n\nexport function humanize(value) {\n\tif (Array.isArray(value)) return axis(value).join(\", \");\n\tif (value instanceof Date) return moment(value).fromNow();\n\treturn String(value);\n}\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/json-loader/index.js!/app/src/config.json",
+ "name": "./node_modules/json-loader/index.js!./src/config.json",
+ "index": 4,
+ "index2": 7,
+ "size": 260,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/dashboard.js",
+ "issuerId": 1,
+ "issuerName": "./src/dashboard.js",
+ "profile": {
+ "factory": 23,
+ "building": 15,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/dashboard.js",
+ "module": "./src/dashboard.js",
+ "moduleName": "./src/dashboard.js",
+ "type": "cjs require",
+ "userRequest": "./config.json",
+ "loc": "4:13-38"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "module.exports = {\"series\":[1,3,7],\"updatedAt\":\"2018-04-02T09:00:00Z\"}\n"
+ },
+ {
+ "id": 5,
+ "identifier": "/app/src/settings.js",
+ "name": "./src/settings.js",
+ "index": 5,
+ "index2": 6,
+ "size": 610,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 25,
+ "building": 37,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 1,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./settings",
+ "loc": "6:8-63"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "source": "import { humanize } from \"./format\";\nimport theme from \"./theme\";\n\nexport default function open(values) {\n\treturn humanize(values) + theme.name;\n}\n"
+ },
+ {
+ "id": 6,
+ "identifier": "/app/src/editor/index.js",
+ "name": "./src/editor/index.js",
+ "index": 6,
+ "index2": 5,
+ "size": 980,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "profile": {
+ "factory": 29,
+ "building": 43,
+ "dependencies": 6
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./editor",
+ "loc": "10:8-59"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "source": "import { toolbar } from \"./toolbar\";\n\nexport default function open(root) {\n\troot.appendChild(toolbar());\n}\n"
+ },
+ {
+ "id": 7,
+ "identifier": "/app/src/editor/toolbar.js",
+ "name": "./src/editor/toolbar.js",
+ "index": 7,
+ "index2": 4,
+ "size": 470,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/editor/index.js",
+ "issuerId": 6,
+ "issuerName": "./src/editor/index.js",
+ "profile": {
+ "factory": 18,
+ "building": 26,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/editor/index.js",
+ "module": "./src/editor/index.js",
+ "moduleName": "./src/editor/index.js",
+ "type": "harmony import",
+ "userRequest": "./toolbar",
+ "loc": "1:0-36"
+ }
+ ],
+ "usedExports": [
+ "toolbar"
+ ],
+ "providedExports": [
+ "toolbar"
+ ],
+ "optimizationBailout": [],
+ "source": "export function toolbar() {\n\treturn document.createElement(\"nav\");\n}\n"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/moment/moment.js",
+ "name": "./node_modules/moment/moment.js",
+ "index": 8,
+ "index2": 3,
+ "size": 292430,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/format.js",
+ "issuerId": 3,
+ "issuerName": "./src/format.js",
+ "profile": {
+ "factory": 74,
+ "building": 512,
+ "dependencies": 96
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/src/format.js",
+ "module": "./src/format.js",
+ "moduleName": "./src/format.js",
+ "type": "cjs require",
+ "userRequest": "moment",
+ "loc": "3:13-30"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module",
+ "ModuleConcatenation bailout: Module uses injected variables (module, exports)"
+ ],
+ "source": "(function(global, factory) {\n\ttypeof exports === \"object\" && typeof module !== \"undefined\"\n\t\t? (module.exports = factory())\n\t\t: (global.moment = factory());\n})(this, function() {\n\t// 2.22.2\n});\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "name": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "index": 9,
+ "index2": 2,
+ "size": 230,
+ "cacheable": false,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/moment.js",
+ "issuerId": 8,
+ "issuerName": "./node_modules/moment/moment.js",
+ "profile": {
+ "factory": 16,
+ "building": 11,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 8,
+ "moduleIdentifier": "/app/node_modules/moment/moment.js",
+ "module": "./node_modules/moment/moment.js",
+ "moduleName": "./node_modules/moment/moment.js",
+ "type": "cjs require context",
+ "userRequest": "./locale",
+ "loc": "1284:12-42"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "var map = {\n\t\"./en-gb\": 10,\n\t\"./nb\": 11\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n}\n"
+ },
+ {
+ "id": 10,
+ "identifier": "/app/node_modules/moment/locale/en-gb.js",
+ "name": "./node_modules/moment/locale/en-gb.js",
+ "index": 10,
+ "index2": 1,
+ "size": 3120,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "issuerId": 9,
+ "issuerName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "profile": {
+ "factory": 21,
+ "building": 34,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "module": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "moduleName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "type": "context element",
+ "userRequest": "./en-gb",
+ "loc": "./en-gb"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "// moment.js locale configuration : British English\nmodule.exports = hooks.defineLocale(\"en-gb\", { week: { dow: 1, doy: 4 } });\n"
+ },
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/moment/locale/nb.js",
+ "name": "./node_modules/moment/locale/nb.js",
+ "index": 11,
+ "index2": 0,
+ "size": 2870,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "issuerId": 9,
+ "issuerName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "profile": {
+ "factory": 20,
+ "building": 32,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/moment/locale sync ^\\.\\/.*$",
+ "module": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "moduleName": "./node_modules/moment/locale sync ^\\.\\/.*$",
+ "type": "context element",
+ "userRequest": "./nb",
+ "loc": "./nb"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "source": "// moment.js locale configuration : Norwegian Bokmål\nmodule.exports = hooks.defineLocale(\"nb\", { week: { dow: 1, doy: 4 } });\n"
+ }
+ ],
+ "filteredModules": 0,
+ "children": []
+}
diff --git a/app/pages/upload/example6.json b/app/pages/upload/example6.json
new file mode 100644
index 0000000..a8fe40c
--- /dev/null
+++ b/app/pages/upload/example6.json
@@ -0,0 +1,1799 @@
+{
+ "errors": [],
+ "warnings": [
+ "./node_modules/legacy-lib/index.js\nCritical dependency: the request of a dependency is an expression\n @ ./node_modules/legacy-lib/index.js 5:15-28\n @ ./src/app.js 5:0-21\n @ ./src/index.js 2:0-30"
+ ],
+ "version": "4.46.0",
+ "hash": "8c1e5b7f2a0d94e63a1b",
+ "time": 2764,
+ "builtAt": 1596018342517,
+ "publicPath": "/",
+ "outputPath": "/app/dist",
+ "assetsByChunkName": {
+ "vendors~main": "vendors~main.4d2a5c81.js",
+ "main": [
+ "main.3ab7f0e2.css",
+ "main.1f9c74b6.js"
+ ],
+ "about": "about.7c31de40.js",
+ "editor": "editor.9b12ea55.js"
+ },
+ "assets": [
+ {
+ "name": "vendors~main.4d2a5c81.js",
+ "size": 104318,
+ "chunks": [
+ 0
+ ],
+ "chunkNames": [
+ "vendors~main"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "main.1f9c74b6.js",
+ "size": 6142,
+ "chunks": [
+ 1
+ ],
+ "chunkNames": [
+ "main"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "main.3ab7f0e2.css",
+ "size": 1804,
+ "chunks": [
+ 1
+ ],
+ "chunkNames": [
+ "main"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "about.7c31de40.js",
+ "size": 918,
+ "chunks": [
+ 2
+ ],
+ "chunkNames": [
+ "about"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "editor.9b12ea55.js",
+ "size": 1046,
+ "chunks": [
+ 3
+ ],
+ "chunkNames": [
+ "editor"
+ ],
+ "emitted": true,
+ "isOverSizeLimit": false
+ },
+ {
+ "name": "logo.4f2a1c8b.png",
+ "size": 12680,
+ "chunks": [],
+ "chunkNames": [],
+ "emitted": true,
+ "isOverSizeLimit": false
+ }
+ ],
+ "entrypoints": {
+ "main": {
+ "chunks": [
+ 0,
+ 1
+ ],
+ "assets": [
+ "vendors~main.4d2a5c81.js",
+ "main.3ab7f0e2.css",
+ "main.1f9c74b6.js"
+ ],
+ "children": {
+ "prefetch": [
+ {
+ "name": "about",
+ "chunks": [
+ 2
+ ],
+ "assets": [
+ "about.7c31de40.js"
+ ]
+ }
+ ]
+ },
+ "childAssets": {
+ "prefetch": [
+ "about.7c31de40.js"
+ ]
+ },
+ "isOverSizeLimit": false
+ }
+ },
+ "namedChunkGroups": {
+ "main": {
+ "chunks": [
+ 0,
+ 1
+ ],
+ "assets": [
+ "vendors~main.4d2a5c81.js",
+ "main.3ab7f0e2.css",
+ "main.1f9c74b6.js"
+ ],
+ "children": {
+ "prefetch": [
+ {
+ "name": "about",
+ "chunks": [
+ 2
+ ],
+ "assets": [
+ "about.7c31de40.js"
+ ]
+ }
+ ]
+ },
+ "childAssets": {
+ "prefetch": [
+ "about.7c31de40.js"
+ ]
+ },
+ "isOverSizeLimit": false
+ },
+ "about": {
+ "chunks": [
+ 2
+ ],
+ "assets": [
+ "about.7c31de40.js"
+ ],
+ "children": {},
+ "childAssets": {},
+ "isOverSizeLimit": false
+ },
+ "editor": {
+ "chunks": [
+ 3
+ ],
+ "assets": [
+ "editor.9b12ea55.js"
+ ],
+ "children": {},
+ "childAssets": {},
+ "isOverSizeLimit": false
+ }
+ },
+ "chunks": [
+ {
+ "id": 0,
+ "rendered": true,
+ "initial": true,
+ "entry": false,
+ "reason": "split chunk (cache group: vendors) (name: vendors~main)",
+ "names": [
+ "vendors~main"
+ ],
+ "files": [
+ "vendors~main.4d2a5c81.js"
+ ],
+ "hash": "7e1b0d94a35c62f8710d",
+ "siblings": [
+ 1
+ ],
+ "parents": [],
+ "children": [
+ 2,
+ 3
+ ],
+ "childrenByOrder": {},
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "main",
+ "request": "./src/index.js",
+ "reasons": []
+ }
+ ],
+ "size": 99402,
+ "modules": [
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js",
+ "index": 8,
+ "index2": 3,
+ "size": 190,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 47,
+ "building": 23,
+ "dependencies": 168
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "react",
+ "loc": "9:8-21"
+ },
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/pages/about.js",
+ "module": "./src/pages/about.js",
+ "moduleName": "./src/pages/about.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ },
+ {
+ "moduleId": 7,
+ "moduleIdentifier": "/app/src/editor/index.js",
+ "module": "./src/editor/index.js",
+ "moduleName": "./src/editor/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "module.exports = require(\"./cjs/react.production.min.js\");\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "name": "./node_modules/react/cjs/react.production.min.js",
+ "index": 9,
+ "index2": 2,
+ "size": 96420,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/react/index.js",
+ "issuerId": 8,
+ "issuerName": "./node_modules/react/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 39,
+ "building": 141,
+ "dependencies": 12
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 8,
+ "moduleIdentifier": "/app/node_modules/react/index.js",
+ "module": "./node_modules/react/index.js",
+ "moduleName": "./node_modules/react/index.js",
+ "type": "cjs require",
+ "userRequest": "./cjs/react.production.min.js",
+ "loc": "1:17-56"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module",
+ "ModuleConcatenation bailout: Module uses injected variables (module, exports)"
+ ],
+ "depth": 3,
+ "source": "/** @license React v16.14.0 */\n\"use strict\";\nvar objectAssign = require(\"object-assign\");\nmodule.exports = { createElement: createElement, version: \"16.14.0\" };\n"
+ },
+ {
+ "id": 10,
+ "identifier": "/app/node_modules/object-assign/index.js",
+ "name": "./node_modules/object-assign/index.js",
+ "index": 10,
+ "index2": 1,
+ "size": 2062,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/react/cjs/react.production.min.js",
+ "issuerId": 9,
+ "issuerName": "./node_modules/react/cjs/react.production.min.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "name": "./node_modules/react/cjs/react.production.min.js"
+ }
+ ],
+ "profile": {
+ "factory": 22,
+ "building": 18,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "module": "./node_modules/react/cjs/react.production.min.js",
+ "moduleName": "./node_modules/react/cjs/react.production.min.js",
+ "type": "cjs require",
+ "userRequest": "object-assign",
+ "loc": "3:19-43"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 4,
+ "source": "\"use strict\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = Object.assign || function(target, source) {};\n"
+ },
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/legacy-lib/index.js",
+ "name": "./node_modules/legacy-lib/index.js",
+ "index": 11,
+ "index2": 0,
+ "size": 730,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 26,
+ "building": 31,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 1,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "cjs require",
+ "userRequest": "legacy-lib",
+ "loc": "5:0-21"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "var plugins = {};\n\nexports.load = function(name) {\n\tif (!plugins[name]) {\n\t\tplugins[name] = require(name);\n\t}\n\treturn plugins[name];\n};\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 1,
+ "rendered": true,
+ "initial": true,
+ "entry": true,
+ "names": [
+ "main"
+ ],
+ "files": [
+ "main.3ab7f0e2.css",
+ "main.1f9c74b6.js"
+ ],
+ "hash": "b04c7fa1e93d5628c17e",
+ "siblings": [
+ 0
+ ],
+ "parents": [],
+ "children": [
+ 2,
+ 3
+ ],
+ "childrenByOrder": {
+ "prefetch": [
+ 2
+ ]
+ },
+ "origins": [
+ {
+ "moduleId": null,
+ "module": "",
+ "moduleIdentifier": "",
+ "moduleName": "",
+ "loc": "main",
+ "request": "./src/index.js",
+ "reasons": []
+ }
+ ],
+ "size": 3981,
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 11,
+ "size": 712,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "issuerPath": null,
+ "profile": {
+ "factory": 38,
+ "building": 52,
+ "dependencies": 16
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is an entry point"
+ ],
+ "depth": 0,
+ "source": "import \"./styles.css\";\nimport { mount } from \"./app\";\n\nmount(document.getElementById(\"root\"));\n\ndocument.querySelector(\"#about\").onclick = function() {\n\treturn import(/* webpackChunkName: \"about\", webpackPrefetch: true */ \"./pages/about\");\n};\n\ndocument.querySelector(\"#editor\").onclick = function() {\n\treturn import(/* webpackChunkName: \"editor\" */ \"./editor\");\n};\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js",
+ "index": 1,
+ "index2": 10,
+ "size": 1140,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 31,
+ "building": 47,
+ "dependencies": 21
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./app",
+ "loc": "2:0-30"
+ },
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import specifier",
+ "userRequest": "./app",
+ "loc": "4:0-5"
+ }
+ ],
+ "usedExports": [
+ "mount"
+ ],
+ "providedExports": [
+ "mount"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\nimport settings from \"./config.json\";\nimport logo from \"./logo.png\";\n\nrequire(\"legacy-lib\");\n\nexport function mount(root) {\n\troot.innerHTML = '
';\n\treturn React.createElement(\"main\", null, settings.title);\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/config.json",
+ "name": "./src/config.json",
+ "index": 2,
+ "index2": 9,
+ "size": 148,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 12,
+ "building": 6,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./config.json",
+ "loc": "2:0-37"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "./config.json",
+ "loc": "8:47-61"
+ }
+ ],
+ "usedExports": [
+ "title"
+ ],
+ "providedExports": [
+ "title",
+ "api",
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 2,
+ "source": "{\"title\":\"Analyse demo\",\"api\":\"/api/v1\"}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "index": 3,
+ "index2": 8,
+ "size": 39,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 58,
+ "building": 112,
+ "dependencies": 3
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./styles.css",
+ "loc": "1:0-22"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 1,
+ "source": "// extracted by mini-css-extract-plugin\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "index": 4,
+ "index2": 7,
+ "size": 1860,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "issuerId": 3,
+ "issuerName": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css"
+ }
+ ],
+ "profile": {
+ "factory": 41,
+ "building": 103,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "module": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "moduleName": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "type": "cjs require",
+ "userRequest": "!!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "loc": "1:0-0"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "exports = module.exports = require(\"../../css-loader/dist/runtime/api.js\")(false);\nexports.push([module.i, \"body{margin:0;font:14px/1.4 system-ui,sans-serif}\", \"\"]);\n"
+ },
+ {
+ "id": 5,
+ "identifier": "/app/node_modules/file-loader/dist/cjs.js!/app/src/logo.png",
+ "name": "./node_modules/file-loader/dist/cjs.js!./src/logo.png",
+ "index": 5,
+ "index2": 6,
+ "size": 82,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [
+ "logo.4f2a1c8b.png"
+ ],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 34,
+ "building": 77,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./logo.png",
+ "loc": "3:0-30"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "./logo.png",
+ "loc": "8:36-40"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "module.exports = __webpack_public_path__ + \"logo.4f2a1c8b.png\";\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 2,
+ "rendered": true,
+ "initial": false,
+ "entry": false,
+ "names": [
+ "about"
+ ],
+ "files": [
+ "about.7c31de40.js"
+ ],
+ "hash": "1c6f3a90d47e5b82f0a3",
+ "siblings": [],
+ "parents": [
+ 0,
+ 1
+ ],
+ "children": [],
+ "childrenByOrder": {},
+ "origins": [
+ {
+ "moduleId": 0,
+ "module": "./src/index.js",
+ "moduleIdentifier": "/app/src/index.js",
+ "moduleName": "./src/index.js",
+ "loc": "7:8-85",
+ "request": "./pages/about",
+ "reasons": [
+ "import()"
+ ]
+ }
+ ],
+ "size": 640,
+ "modules": [
+ {
+ "id": 6,
+ "identifier": "/app/src/pages/about.js",
+ "name": "./src/pages/about.js",
+ "index": 6,
+ "index2": 5,
+ "size": 640,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 27,
+ "building": 39,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./pages/about",
+ "loc": "7:8-85"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\n\nexport default function About() {\n\treturn React.createElement(\"section\", null, \"About\");\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ },
+ {
+ "id": 3,
+ "rendered": true,
+ "initial": false,
+ "entry": false,
+ "names": [
+ "editor"
+ ],
+ "files": [
+ "editor.9b12ea55.js"
+ ],
+ "hash": "d5a80c37b1e694f2035c",
+ "siblings": [],
+ "parents": [
+ 0,
+ 1
+ ],
+ "children": [],
+ "childrenByOrder": {},
+ "origins": [
+ {
+ "moduleId": 0,
+ "module": "./src/index.js",
+ "moduleIdentifier": "/app/src/index.js",
+ "moduleName": "./src/index.js",
+ "loc": "11:8-59",
+ "request": "./editor",
+ "reasons": [
+ "import()"
+ ]
+ }
+ ],
+ "size": 1020,
+ "modules": [
+ {
+ "id": 7,
+ "identifier": "/app/src/editor/index.js",
+ "name": "./src/editor/index.js",
+ "index": 7,
+ "index2": 4,
+ "size": 1020,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 29,
+ "building": 44,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./editor",
+ "loc": "11:8-59"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\n\nexport default function Editor(props) {\n\treturn React.createElement(\"textarea\", props);\n}\n"
+ }
+ ],
+ "filteredModules": 0
+ }
+ ],
+ "modules": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js",
+ "index": 0,
+ "index2": 11,
+ "size": 712,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": null,
+ "issuerId": null,
+ "issuerName": null,
+ "issuerPath": null,
+ "profile": {
+ "factory": 38,
+ "building": 52,
+ "dependencies": 16
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": null,
+ "moduleIdentifier": null,
+ "module": null,
+ "moduleName": null,
+ "type": "single entry",
+ "userRequest": "./src/index.js",
+ "loc": "main"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is an entry point"
+ ],
+ "depth": 0,
+ "source": "import \"./styles.css\";\nimport { mount } from \"./app\";\n\nmount(document.getElementById(\"root\"));\n\ndocument.querySelector(\"#about\").onclick = function() {\n\treturn import(/* webpackChunkName: \"about\", webpackPrefetch: true */ \"./pages/about\");\n};\n\ndocument.querySelector(\"#editor\").onclick = function() {\n\treturn import(/* webpackChunkName: \"editor\" */ \"./editor\");\n};\n"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js",
+ "index": 1,
+ "index2": 10,
+ "size": 1140,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 31,
+ "building": 47,
+ "dependencies": 21
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./app",
+ "loc": "2:0-30"
+ },
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony import specifier",
+ "userRequest": "./app",
+ "loc": "4:0-5"
+ }
+ ],
+ "usedExports": [
+ "mount"
+ ],
+ "providedExports": [
+ "mount"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\nimport settings from \"./config.json\";\nimport logo from \"./logo.png\";\n\nrequire(\"legacy-lib\");\n\nexport function mount(root) {\n\troot.innerHTML = '
';\n\treturn React.createElement(\"main\", null, settings.title);\n}\n"
+ },
+ {
+ "id": 2,
+ "identifier": "/app/src/config.json",
+ "name": "./src/config.json",
+ "index": 2,
+ "index2": 9,
+ "size": 148,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 12,
+ "building": 6,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./config.json",
+ "loc": "2:0-37"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "./config.json",
+ "loc": "8:47-61"
+ }
+ ],
+ "usedExports": [
+ "title"
+ ],
+ "providedExports": [
+ "title",
+ "api",
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 2,
+ "source": "{\"title\":\"Analyse demo\",\"api\":\"/api/v1\"}\n"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "index": 3,
+ "index2": 8,
+ "size": 39,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 58,
+ "building": 112,
+ "dependencies": 3
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./styles.css",
+ "loc": "1:0-22"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 1,
+ "source": "// extracted by mini-css-extract-plugin\n"
+ },
+ {
+ "id": 4,
+ "identifier": "/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "index": 4,
+ "index2": 7,
+ "size": 1860,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "issuerId": 3,
+ "issuerName": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 3,
+ "identifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "name": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css"
+ }
+ ],
+ "profile": {
+ "factory": 41,
+ "building": 103,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 3,
+ "moduleIdentifier": "/app/node_modules/mini-css-extract-plugin/dist/loader.js!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "module": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "moduleName": "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./src/styles.css",
+ "type": "cjs require",
+ "userRequest": "!!/app/node_modules/css-loader/dist/cjs.js!/app/src/styles.css",
+ "loc": "1:0-0"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "exports = module.exports = require(\"../../css-loader/dist/runtime/api.js\")(false);\nexports.push([module.i, \"body{margin:0;font:14px/1.4 system-ui,sans-serif}\", \"\"]);\n"
+ },
+ {
+ "id": 5,
+ "identifier": "/app/node_modules/file-loader/dist/cjs.js!/app/src/logo.png",
+ "name": "./node_modules/file-loader/dist/cjs.js!./src/logo.png",
+ "index": 5,
+ "index2": 6,
+ "size": 82,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 1
+ ],
+ "assets": [
+ "logo.4f2a1c8b.png"
+ ],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 34,
+ "building": 77,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./logo.png",
+ "loc": "3:0-30"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "./logo.png",
+ "loc": "8:36-40"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "module.exports = __webpack_public_path__ + \"logo.4f2a1c8b.png\";\n"
+ },
+ {
+ "id": 6,
+ "identifier": "/app/src/pages/about.js",
+ "name": "./src/pages/about.js",
+ "index": 6,
+ "index2": 5,
+ "size": 640,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 2
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 27,
+ "building": 39,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./pages/about",
+ "loc": "7:8-85"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\n\nexport default function About() {\n\treturn React.createElement(\"section\", null, \"About\");\n}\n"
+ },
+ {
+ "id": 7,
+ "identifier": "/app/src/editor/index.js",
+ "name": "./src/editor/index.js",
+ "index": 7,
+ "index2": 4,
+ "size": 1020,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 3
+ ],
+ "assets": [],
+ "issuer": "/app/src/index.js",
+ "issuerId": 0,
+ "issuerName": "./src/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 29,
+ "building": 44,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 0,
+ "moduleIdentifier": "/app/src/index.js",
+ "module": "./src/index.js",
+ "moduleName": "./src/index.js",
+ "type": "import()",
+ "userRequest": "./editor",
+ "loc": "11:8-59"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": [
+ "default"
+ ],
+ "optimizationBailout": [],
+ "depth": 1,
+ "source": "import React from \"react\";\n\nexport default function Editor(props) {\n\treturn React.createElement(\"textarea\", props);\n}\n"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js",
+ "index": 8,
+ "index2": 3,
+ "size": 190,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 47,
+ "building": 23,
+ "dependencies": 168
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ },
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "harmony import specifier",
+ "userRequest": "react",
+ "loc": "9:8-21"
+ },
+ {
+ "moduleId": 6,
+ "moduleIdentifier": "/app/src/pages/about.js",
+ "module": "./src/pages/about.js",
+ "moduleName": "./src/pages/about.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ },
+ {
+ "moduleId": 7,
+ "moduleIdentifier": "/app/src/editor/index.js",
+ "module": "./src/editor/index.js",
+ "moduleName": "./src/editor/index.js",
+ "type": "harmony side effect evaluation",
+ "userRequest": "react",
+ "loc": "1:0-26"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "module.exports = require(\"./cjs/react.production.min.js\");\n"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "name": "./node_modules/react/cjs/react.production.min.js",
+ "index": 9,
+ "index2": 2,
+ "size": 96420,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/react/index.js",
+ "issuerId": 8,
+ "issuerName": "./node_modules/react/index.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js"
+ }
+ ],
+ "profile": {
+ "factory": 39,
+ "building": 141,
+ "dependencies": 12
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 8,
+ "moduleIdentifier": "/app/node_modules/react/index.js",
+ "module": "./node_modules/react/index.js",
+ "moduleName": "./node_modules/react/index.js",
+ "type": "cjs require",
+ "userRequest": "./cjs/react.production.min.js",
+ "loc": "1:17-56"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module",
+ "ModuleConcatenation bailout: Module uses injected variables (module, exports)"
+ ],
+ "depth": 3,
+ "source": "/** @license React v16.14.0 */\n\"use strict\";\nvar objectAssign = require(\"object-assign\");\nmodule.exports = { createElement: createElement, version: \"16.14.0\" };\n"
+ },
+ {
+ "id": 10,
+ "identifier": "/app/node_modules/object-assign/index.js",
+ "name": "./node_modules/object-assign/index.js",
+ "index": 10,
+ "index2": 1,
+ "size": 2062,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/node_modules/react/cjs/react.production.min.js",
+ "issuerId": 9,
+ "issuerName": "./node_modules/react/cjs/react.production.min.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ },
+ {
+ "id": 8,
+ "identifier": "/app/node_modules/react/index.js",
+ "name": "./node_modules/react/index.js"
+ },
+ {
+ "id": 9,
+ "identifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "name": "./node_modules/react/cjs/react.production.min.js"
+ }
+ ],
+ "profile": {
+ "factory": 22,
+ "building": 18,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 0,
+ "reasons": [
+ {
+ "moduleId": 9,
+ "moduleIdentifier": "/app/node_modules/react/cjs/react.production.min.js",
+ "module": "./node_modules/react/cjs/react.production.min.js",
+ "moduleName": "./node_modules/react/cjs/react.production.min.js",
+ "type": "cjs require",
+ "userRequest": "object-assign",
+ "loc": "3:19-43"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 4,
+ "source": "\"use strict\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = Object.assign || function(target, source) {};\n"
+ },
+ {
+ "id": 11,
+ "identifier": "/app/node_modules/legacy-lib/index.js",
+ "name": "./node_modules/legacy-lib/index.js",
+ "index": 11,
+ "index2": 0,
+ "size": 730,
+ "cacheable": true,
+ "built": true,
+ "optional": false,
+ "prefetched": false,
+ "chunks": [
+ 0
+ ],
+ "assets": [],
+ "issuer": "/app/src/app.js",
+ "issuerId": 1,
+ "issuerName": "./src/app.js",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "/app/src/index.js",
+ "name": "./src/index.js"
+ },
+ {
+ "id": 1,
+ "identifier": "/app/src/app.js",
+ "name": "./src/app.js"
+ }
+ ],
+ "profile": {
+ "factory": 26,
+ "building": 31,
+ "dependencies": 0
+ },
+ "failed": false,
+ "errors": 0,
+ "warnings": 1,
+ "reasons": [
+ {
+ "moduleId": 1,
+ "moduleIdentifier": "/app/src/app.js",
+ "module": "./src/app.js",
+ "moduleName": "./src/app.js",
+ "type": "cjs require",
+ "userRequest": "legacy-lib",
+ "loc": "5:0-21"
+ }
+ ],
+ "usedExports": true,
+ "providedExports": null,
+ "optimizationBailout": [
+ "ModuleConcatenation bailout: Module is not an ECMAScript module"
+ ],
+ "depth": 2,
+ "source": "var plugins = {};\n\nexports.load = function(name) {\n\tif (!plugins[name]) {\n\t\tplugins[name] = require(name);\n\t}\n\treturn plugins[name];\n};\n"
+ }
+ ],
+ "filteredModules": 0,
+ "children": []
+}
diff --git a/app/pages/upload/page.js b/app/pages/upload/page.js
index 6c8f882..8c9ca5b 100644
--- a/app/pages/upload/page.js
+++ b/app/pages/upload/page.js
@@ -6,9 +6,13 @@ module.exports = function() {
$("body").html(require("./application.pug")());
$(".modal").modal({ show: true });
$("#file").change(loadFromFile);
- $("#example1").click(() => loadFromExample(1));
- $("#example2").click(() => loadFromExample(2));
- $("#example3").click(() => loadFromExample(3));
+ // The examples are numbered in the order they were added, not by the
+ // webpack version each one was written for. This is the order the modal
+ // lists them in. example3.json is not listed, it is the fixture the
+ // circular dependency test runs on.
+ [1, 4, 5, 6, 2].forEach(n =>
+ $("#example" + n).click(() => loadFromExample(n))
+ );
function loadFromExample(n) {
import(`./example${n}.json`).then(function(exampleModule) {