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) {