We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chunk 可以简单理解为 code spliting 出来的包,如果代码没有 code spliting 那么基本上可以认为对应于所输出的 bundle,webpack 1.0的文档中将 chunk 分为的三种类型,如下:
目前官方文档中�已经找不到这些描述了,/(ㄒoㄒ)/~~,不过可以在这两篇博文中看到�比较详细的解释
「前端」看懂前端脚手架你需要这篇webpack
webpack 进阶
我们在使用 webpack 的时候对于 chunk 比较关注的可能就是使用 �code spliting 和写插件的时候,code spliting 这个话题留到之后说,现在主要聊一聊写 webpack 插件时和 chunk 打交道的那些事儿。
webpack 插件的基本格式就是一个�含有 apply 方法的 JavaScript 的 class,这个在之前的文章中�已经比较完整的提到过了,需要参考�的可以看之前的文章:通过 Webpack 的 compiler 对象的 Hooks 学会编写 Webpack 插件的编写
我们在编写插件的时候可以通过 compilation 这个对象对 chunk 进行访问,compilation.chunks 即表示了这次编译的所有 chunks,可以看一个实例,简单的多入口配置 webpack 配置如下:
compilation
chunk
compilation.chunks
chunks
const config = { entry: { 'index': path.join(__dirname, 'index.js'), 'a': path.join(__dirname, 'a.css') }, output: { filename: '[name].[hash].js', path: path.resolve(__dirname, 'dist') }, module: { rules: [{ test: /\.js$/, use: 'babel-loader' }, { test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] }] }, plugins: [ new cleanPlugin(), new MiniCssExtractPlugin({ filename: '[name].css' }), new HtmlWebpackPlutin({ template: path.resolve(__dirname, 'index.html') }), new ProgressBarPlugin(), new tablePlugin() ], devServer: { contentBase: path.join(__dirname, 'dist'), port: 10000 }, mode: 'development' };
在 cleanPlugin 中将这次编译的 chunks 内容打印下来,如下:
cleanPlugin
const fs = require('fs') const stringify = require('json-stringify-safe') class cleanPlugin { constructor() { this.entriesWithNoJS = [] } apply(compiler) { compiler.hooks.emit.tap('cleanPlugin', (compilation) => { const cache = [] fs.writeFileSync('chunk.json', stringify(compilation.chunks, null, 2), { flag: 'w+' }) }) } } module.exports = cleanPlugin
json-stringify-safe 是为了解决 JSON.stringify 方法循环依赖的问题,类似的库还有 flatted 、 circular-json-es6 等
json-stringify-safe
JSON.stringify
运行一下 webpack,打开 chunk.json 文件,这个文件的内容如下:
chunk.json
[ { "id": "a", "ids": [ "a" ], "debugId": 1004, "name": "a", "preventIntegration": false, "entryModule": { "dependencies": [ { "module": { "dependencies": [], "blocks": [], "variables": [], "type": "css/mini-extract", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1012, "hash": "08cf1f522d9d27c31e912691f4b31127", "renderedHash": "08cf1f522d9d27c31e91", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule]", "dependency": "[Circular ~.0.entryModule.dependencies.0]", "_chunks": null } ], "_chunks": {}, "id": "?7044", "index": 5, "index2": 3, "depth": 1, "issuer": "[Circular ~.0.entryModule]", "prefetched": false, "built": false, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": null, "_identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "_identifierIndex": 0, "content": "body {\n background: red;\n font-size: 12px;\n}", "media": "" }, "weak": false, "optional": false, "identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "identifierIndex": 0, "content": "body {\n background: red;\n font-size: 12px;\n}", "media": "", "context": "/Users/huruji/Documents/webpac-plugin-test" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1002, "hash": "76982c2fb2ab3938a545c4a825da5089", "renderedHash": "76982c2fb2ab3938a545", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "temporaryProvidedExports": false }, "reasons": [ { "module": null, "dependency": { "module": "[Circular ~.0.entryModule]", "weak": false, "optional": false, "loc": { "name": "a" }, "request": "/Users/huruji/Documents/webpac-plugin-test/a.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css" }, "_chunks": null }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "expression": "", "range": [ 0, 20 ] }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.3.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.module]", "dependency": "[Circular ~.0.entryModule.reasons.1.module.dependencies.3]", "_chunks": null }, { "module": "[Circular ~.0.entryModule.reasons.1.module]", "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.module.dependencies.3.module]", "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.module]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.0.entryModule.reasons.1.module.dependencies.4.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.module]", "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.module.dependencies.4.module]", "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, "_chunks": null }, { "module": "[Circular ~.0.entryModule.reasons.1.module]", "dependency": "[Circular ~.0.entryModule.reasons.1.module.dependencies.4]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.module]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "expression": "", "range": [ 37, 57 ] }, { "module": { "dependencies": [ { "module": { "dependencies": [], "blocks": [], "variables": [], "type": "css/mini-extract", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1014, "hash": "f1f0adaf2dc816a4823cf341693f18c8", "renderedHash": "f1f0adaf2dc816a4823c", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.module.dependencies.6.module]", "dependency": "[Circular ~.0.entryModule.reasons.1.module.dependencies.6.module.dependencies.0]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "?751f", "index": 3, "index2": 1, "depth": 2, "issuer": "[Circular ~.0.entryModule.reasons.1.module.dependencies.6.module]", "prefetched": false, "built": false, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": null, "_identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "_identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "" }, "weak": false, "optional": false, "identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "", "context": "/Users/huruji/Documents/webpac-plugin-test" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1006, "hash": "c04c289c0b95239614aa06bb2a310fcc", "renderedHash": "c04c289c0b95239614aa", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.module]", "dependency": "[Circular ~.0.entryModule.reasons.1.module.dependencies.6]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./main.css", "index": 2, "index2": 2, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.module]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "// extracted by mini-css-extract-plugin", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/main.css", "rawRequest": "./main.css", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/main.css", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js" }, { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js" } ], "error": null, "_buildHash": "5a855d6f954c109e28c85c504bd0c1d3", "buildTimestamp": 1550127876985, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "providedExports": true }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "request": "./main.css", "userRequest": "./main.css", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 2, "parserScope": { "importVarMap": {} } }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "expression": "", "range": [ 58, 75 ] }, { "module": "[Circular ~.0.entryModule]", "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "request": "./a.css", "userRequest": "./a.css", "originModule": "[Circular ~.0.entryModule.reasons.1.module]", "sourceOrder": 3, "parserScope": { "importVarMap": {} } } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1004, "hash": "3e3ed907ea63c1b8ec000db711efd148", "renderedHash": "3e3ed907ea63c1b8ec00", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": null, "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.module]", "weak": false, "optional": false, "loc": { "name": "index" }, "request": "/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js" }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./index.js", "index": 0, "index2": 5, "depth": 0, "issuer": null, "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "import a from './a';\nconsole.log(a);\nimport './main.css';\nimport './a.css';", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "rawRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/index.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "d1beb4573e61d4768d808e9b8460f47c", "buildTimestamp": 1550127874127, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [] }, "_ast": null }, "dependency": { "module": "[Circular ~.0.entryModule]", "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "request": "./a.css", "userRequest": "./a.css", "originModule": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "expression": "", "range": [ 0, 20 ] }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.3.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "dependency": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.3]", "_chunks": null }, { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.3.module]", "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.4.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.4.module]", "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, "_chunks": null }, { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "dependency": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.4]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "expression": "", "range": [ 37, 57 ] }, { "module": { "dependencies": [ { "module": { "dependencies": [], "blocks": [], "variables": [], "type": "css/mini-extract", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1014, "hash": "f1f0adaf2dc816a4823cf341693f18c8", "renderedHash": "f1f0adaf2dc816a4823c", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.6.module]", "dependency": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.6.module.dependencies.0]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "?751f", "index": 3, "index2": 1, "depth": 2, "issuer": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.6.module]", "prefetched": false, "built": false, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": null, "_identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "_identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "" }, "weak": false, "optional": false, "identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "", "context": "/Users/huruji/Documents/webpac-plugin-test" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1006, "hash": "c04c289c0b95239614aa06bb2a310fcc", "renderedHash": "c04c289c0b95239614aa", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "dependency": "[Circular ~.0.entryModule.reasons.1.dependency.originModule.dependencies.6]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./main.css", "index": 2, "index2": 2, "depth": 1, "issuer": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "// extracted by mini-css-extract-plugin", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/main.css", "rawRequest": "./main.css", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/main.css", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js" }, { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js" } ], "error": null, "_buildHash": "5a855d6f954c109e28c85c504bd0c1d3", "buildTimestamp": 1550127876985, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "providedExports": true }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "request": "./main.css", "userRequest": "./main.css", "originModule": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "sourceOrder": 2, "parserScope": { "importVarMap": {} } }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "expression": "", "range": [ 58, 75 ] }, "[Circular ~.0.entryModule.reasons.1.dependency]" ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1004, "hash": "3e3ed907ea63c1b8ec000db711efd148", "renderedHash": "3e3ed907ea63c1b8ec00", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": null, "dependency": { "module": "[Circular ~.0.entryModule.reasons.1.dependency.originModule]", "weak": false, "optional": false, "loc": { "name": "index" }, "request": "/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js" }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./index.js", "index": 0, "index2": 5, "depth": 0, "issuer": null, "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "import a from './a';\nconsole.log(a);\nimport './main.css';\nimport './a.css';", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "rawRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/index.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "d1beb4573e61d4768d808e9b8460f47c", "buildTimestamp": 1550127874127, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [] }, "_ast": null }, "sourceOrder": 3, "parserScope": { "importVarMap": {} } }, "_chunks": null } ], "_chunks": {}, "id": "./a.css", "index": 4, "index2": 4, "depth": 0, "issuer": null, "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "// extracted by mini-css-extract-plugin", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css", "rawRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.css", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js" }, { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js" } ], "error": null, "_buildHash": "5a855d6f954c109e28c85c504bd0c1d3", "buildTimestamp": 1550127873318, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "providedExports": true }, "_ast": null }, "_modules": { "_cache": {} }, "_groups": { "_lastActiveSortFn": null }, "files": [ "a.css", "a.5c50884f7299ede45e0f.js" ], "rendered": true, "hash": "bc1c39b8321f86e52b1449d53249a399", "contentHash": { "css/mini-extract": "08cf1f522d9d27c31e91", "javascript": "b2c599d85656b924374d" }, "renderedHash": "bc1c39b8321f86e52b14", "extraAsync": false }, { "id": "index", "ids": [ "index" ], "debugId": 1003, "name": "index", "preventIntegration": false, "entryModule": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.1.entryModule]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.1.entryModule]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "expression": "", "range": [ 0, 20 ] }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.1.entryModule.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.1.entryModule.dependencies.3.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.1.entryModule.dependencies.3.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.1.entryModule]", "dependency": "[Circular ~.1.entryModule.dependencies.3]", "_chunks": null }, { "module": "[Circular ~.1.entryModule]", "dependency": { "module": "[Circular ~.1.entryModule.dependencies.3.module]", "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.1.entryModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, { "module": { "dependencies": [ { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -3 }, "originModule": "[Circular ~.1.entryModule.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": -1, "column": 0 }, "end": { "line": -1, "column": 0 }, "index": -2 }, "originModule": "[Circular ~.1.entryModule.dependencies.4.module]" }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ] }, { "module": null, "weak": false, "optional": false, "loc": { "index": -1 }, "originModule": "[Circular ~.1.entryModule.dependencies.4.module]", "range": [ 15, 18 ], "rangeStatement": [ 0, 19 ], "prefix": "" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1011, "hash": "8d6445f4bd840f5894be1a891f1c8ceb", "renderedHash": "8d6445f4bd840f5894be", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.1.entryModule]", "dependency": { "module": "[Circular ~.1.entryModule.dependencies.4.module]", "weak": false, "optional": false, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 20 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} } }, "_chunks": null }, { "module": "[Circular ~.1.entryModule]", "dependency": "[Circular ~.1.entryModule.dependencies.4]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./a.js", "index": 1, "index2": 0, "depth": 1, "issuer": "[Circular ~.1.entryModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "export default 123;", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/a.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.js", "rawRequest": "./a", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "9f7bf84b36cbd1e6ccc0fe4b5ce8f1f3", "buildTimestamp": 1550127876994, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [ "default" ] }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 2, "column": 12 }, "end": { "line": 2, "column": 13 } }, "request": "./a", "userRequest": "./a", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 1, "parserScope": { "importVarMap": {} }, "id": "default", "name": "a", "range": [ 33, 34 ], "strictExportPresence": false, "namespaceObjectAsContext": false, "directImport": true, "shorthand": false }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "expression": "", "range": [ 37, 57 ] }, { "module": { "dependencies": [ { "module": { "dependencies": [], "blocks": [], "variables": [], "type": "css/mini-extract", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1014, "hash": "f1f0adaf2dc816a4823cf341693f18c8", "renderedHash": "f1f0adaf2dc816a4823c", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.1.entryModule.dependencies.6.module]", "dependency": "[Circular ~.1.entryModule.dependencies.6.module.dependencies.0]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "?751f", "index": 3, "index2": 1, "depth": 2, "issuer": "[Circular ~.1.entryModule.dependencies.6.module]", "prefetched": false, "built": false, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": null, "_identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "_identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "" }, "weak": false, "optional": false, "identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "identifierIndex": 0, "content": "body {\n background: #fff\n}", "media": "", "context": "/Users/huruji/Documents/webpac-plugin-test" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1006, "hash": "c04c289c0b95239614aa06bb2a310fcc", "renderedHash": "c04c289c0b95239614aa", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.1.entryModule]", "dependency": "[Circular ~.1.entryModule.dependencies.6]", "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./main.css", "index": 2, "index2": 2, "depth": 1, "issuer": "[Circular ~.1.entryModule]", "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "// extracted by mini-css-extract-plugin", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/main.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/main.css", "rawRequest": "./main.css", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/main.css", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js" }, { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js" } ], "error": null, "_buildHash": "5a855d6f954c109e28c85c504bd0c1d3", "buildTimestamp": 1550127876985, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "providedExports": true }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 20 } }, "request": "./main.css", "userRequest": "./main.css", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 2, "parserScope": { "importVarMap": {} } }, { "module": null, "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "expression": "", "range": [ 58, 75 ] }, { "module": { "dependencies": [ { "module": { "dependencies": [], "blocks": [], "variables": [], "type": "css/mini-extract", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1012, "hash": "08cf1f522d9d27c31e912691f4b31127", "renderedHash": "08cf1f522d9d27c31e91", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "temporaryProvidedExports": false }, "reasons": [ { "module": "[Circular ~.1.entryModule.dependencies.8.module]", "dependency": "[Circular ~.1.entryModule.dependencies.8.module.dependencies.0]", "_chunks": null } ], "_chunks": {}, "id": "?7044", "index": 5, "index2": 3, "depth": 1, "issuer": "[Circular ~.1.entryModule.dependencies.8.module]", "prefetched": false, "built": false, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": null, "_identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "_identifierIndex": 0, "content": "body {\n background: red;\n font-size: 12px;\n}", "media": "" }, "weak": false, "optional": false, "identifier": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "identifierIndex": 0, "content": "body {\n background: red;\n font-size: 12px;\n}", "media": "", "context": "/Users/huruji/Documents/webpac-plugin-test" } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1002, "hash": "76982c2fb2ab3938a545c4a825da5089", "renderedHash": "76982c2fb2ab3938a545", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "providedExports": true }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "temporaryProvidedExports": false }, "reasons": [ { "module": null, "dependency": { "module": "[Circular ~.1.entryModule.dependencies.8.module]", "weak": false, "optional": false, "loc": { "name": "a" }, "request": "/Users/huruji/Documents/webpac-plugin-test/a.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css" }, "_chunks": null }, { "module": "[Circular ~.1.entryModule]", "dependency": "[Circular ~.1.entryModule.dependencies.8]", "_chunks": null } ], "_chunks": {}, "id": "./a.css", "index": 4, "index2": 4, "depth": 0, "issuer": null, "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "// extracted by mini-css-extract-plugin", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js!/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js!/Users/huruji/Documents/webpac-plugin-test/a.css", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css", "rawRequest": "/Users/huruji/Documents/webpac-plugin-test/a.css", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/a.css", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/mini-css-extract-plugin/dist/loader.js" }, { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/css-loader/dist/cjs.js" } ], "error": null, "_buildHash": "5a855d6f954c109e28c85c504bd0c1d3", "buildTimestamp": 1550127873318, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "providedExports": true }, "_ast": null }, "weak": false, "optional": false, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 17 } }, "request": "./a.css", "userRequest": "./a.css", "originModule": "[Circular ~.1.entryModule]", "sourceOrder": 3, "parserScope": { "importVarMap": {} } } ], "blocks": [], "variables": [], "type": "javascript/auto", "context": "/Users/huruji/Documents/webpac-plugin-test", "debugId": 1004, "hash": "3e3ed907ea63c1b8ec000db711efd148", "renderedHash": "3e3ed907ea63c1b8ec00", "resolveOptions": {}, "factoryMeta": {}, "warnings": [], "errors": [], "buildMeta": { "exportsType": "namespace", "providedExports": [] }, "buildInfo": { "cacheable": true, "fileDependencies": {}, "contextDependencies": {}, "strict": true, "exportsArgument": "__webpack_exports__", "temporaryProvidedExports": false }, "reasons": [ { "module": null, "dependency": { "module": "[Circular ~.1.entryModule]", "weak": false, "optional": false, "loc": { "name": "index" }, "request": "/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js" }, "_chunks": null } ], "_chunks": { "_lastActiveSortFn": null }, "id": "./index.js", "index": 0, "index2": 5, "depth": 0, "issuer": null, "prefetched": false, "built": true, "used": null, "usedExports": null, "optimizationBailout": [], "useSourceMap": false, "_source": { "_value": "import a from './a';\nconsole.log(a);\nimport './main.css';\nimport './a.css';", "_name": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js" }, "request": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js!/Users/huruji/Documents/webpac-plugin-test/index.js", "userRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "rawRequest": "/Users/huruji/Documents/webpac-plugin-test/index.js", "binary": false, "parser": { "_pluginCompat": { "_args": [ "options" ], "taps": [ { "type": "sync", "name": "Parser" }, { "type": "sync", "name": "Tapable camelCase", "stage": 100 }, { "type": "sync", "name": "Tapable this.hooks", "stage": 200 } ], "interceptors": [] }, "hooks": { "evaluateTypeof": { "_map": {}, "_interceptors": [] }, "evaluate": { "_map": {}, "_interceptors": [] }, "evaluateIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateDefinedIdentifier": { "_map": {}, "_interceptors": [] }, "evaluateCallExpressionMember": { "_map": {}, "_interceptors": [] }, "statement": { "_args": [ "statement" ], "taps": [], "interceptors": [], "_x": [] }, "statementIf": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "label": { "_map": {}, "_interceptors": [] }, "import": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "importSpecifier": { "_args": [ "statement", "source", "exportName", "identifierName" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "export": { "_args": [ "statement" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportImport": { "_args": [ "statement", "source" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportDeclaration": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportExpression": { "_args": [ "statement", "declaration" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [], "_x": [ null ] }, "exportSpecifier": { "_args": [ "statement", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "exportImportSpecifier": { "_args": [ "statement", "source", "identifierName", "exportName", "index" ], "taps": [ { "type": "sync", "name": "HarmonyExportDependencyParserPlugin" } ], "interceptors": [] }, "varDeclaration": { "_map": {}, "_interceptors": [] }, "varDeclarationLet": { "_map": {}, "_interceptors": [] }, "varDeclarationConst": { "_map": {}, "_interceptors": [] }, "varDeclarationVar": { "_map": {}, "_interceptors": [] }, "canRename": { "_map": {}, "_interceptors": [] }, "rename": { "_map": {}, "_interceptors": [] }, "assigned": { "_map": {}, "_interceptors": [] }, "assign": { "_map": {}, "_interceptors": [] }, "typeof": { "_map": {}, "_interceptors": [] }, "importCall": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ImportParserPlugin" } ], "interceptors": [] }, "call": { "_map": {}, "_interceptors": [] }, "callAnyMember": { "_map": {}, "_interceptors": [] }, "new": { "_map": {}, "_interceptors": [] }, "expression": { "_map": {}, "_interceptors": [] }, "expressionAnyMember": { "_map": {}, "_interceptors": [] }, "expressionConditionalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "expressionLogicalOperator": { "_args": [ "expression" ], "taps": [ { "type": "sync", "name": "ConstPlugin" } ], "interceptors": [] }, "program": { "_args": [ "ast", "comments" ], "taps": [ { "type": "sync", "name": "HarmonyDetectionParserPlugin" }, { "type": "sync", "name": "UseStrictPlugin" } ], "interceptors": [], "_x": [ null, null ] }, "hotAcceptCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] }, "hotAcceptWithoutCallback": { "_args": [ "expression", "requests" ], "taps": [ { "type": "sync", "name": "HarmonyImportDependencyParserPlugin" } ], "interceptors": [] } }, "options": {}, "sourceType": "auto" }, "generator": {}, "resource": "/Users/huruji/Documents/webpac-plugin-test/index.js", "loaders": [ { "loader": "/Users/huruji/Documents/webpac-plugin-test/node_modules/babel-loader/lib/index.js" } ], "error": null, "_buildHash": "d1beb4573e61d4768d808e9b8460f47c", "buildTimestamp": 1550127874127, "_cachedSources": {}, "lineToLine": false, "_lastSuccessfulBuildMeta": { "exportsType": "namespace", "providedExports": [] }, "_ast": null }, "_modules": { "_cache": {} }, "_groups": { "_lastActiveSortFn": null }, "files": [ "index.css", "index.5c50884f7299ede45e0f.js" ], "rendered": true, "hash": "f5481eb1afed794b176d13608fe4bb0e", "contentHash": { "css/mini-extract": "449934d87925dc54b299", "javascript": "322bcaec3cd5eeaeddae" }, "renderedHash": "f5481eb1afed794b176d", "extraAsync": false } ]
7000+ 行数确实让人有点望而却步,不过整理一下,可以发现这个数组包含两个 chunk,显然这是符合我们预期的
将其中一个 chunk 的拆解来看,大概是一个含有 id 、 entryModule、files、各种哈希的一个对象,其中 files 可以理解为输出的这个 chunk 会输出的文件数组。
得益于 webpack 的开源以及合理的命名,我们可以在 webpack 的仓库中找到关于 chunk 的源码,https://github.com/webpack/webpack/blob/master/lib/Chunk.js
webpack
很容易发现 chunk 其实是一个 class 对象
通过 Object.getOwnProppertyNames 方法可以获取 class 的属性,如下:
Object.getOwnProppertyNames
compilation.chunks.forEach((chunk) => { fs.writeFileSync('chunk-methods.json', stringify(Object.getOwnPropertyNames(chunk.__proto__), null, 2), { flag: 'w+' }) })
The text was updated successfully, but these errors were encountered:
No branches or pull requests
chunk 可以简单理解为 code spliting 出来的包,如果代码没有 code spliting 那么基本上可以认为对应于所输出的 bundle,webpack 1.0的文档中将 chunk 分为的三种类型,如下:
![](https://camo.githubusercontent.com/3d24863e1dbac096c64a42bbac45a1ae4e6b1e3f23483868897d0e34501e105f/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f313634313338302d353862643632353630306564393437392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430)
目前官方文档中�已经找不到这些描述了,/(ㄒoㄒ)/~~,不过可以在这两篇博文中看到�比较详细的解释
「前端」看懂前端脚手架你需要这篇webpack
webpack 进阶
我们在使用 webpack 的时候对于 chunk 比较关注的可能就是使用 �code spliting 和写插件的时候,code spliting 这个话题留到之后说,现在主要聊一聊写 webpack 插件时和 chunk 打交道的那些事儿。
webpack 插件的基本格式就是一个�含有 apply 方法的 JavaScript 的 class,这个在之前的文章中�已经比较完整的提到过了,需要参考�的可以看之前的文章:通过 Webpack 的 compiler 对象的 Hooks 学会编写 Webpack 插件的编写
我们在编写插件的时候可以通过
compilation
这个对象对chunk
进行访问,compilation.chunks
即表示了这次编译的所有chunks
,可以看一个实例,简单的多入口配置 webpack 配置如下:在
cleanPlugin
中将这次编译的chunks
内容打印下来,如下:json-stringify-safe
是为了解决JSON.stringify
方法循环依赖的问题,类似的库还有 flatted 、 circular-json-es6 等运行一下 webpack,打开
chunk.json
文件,这个文件的内容如下:7000+ 行数确实让人有点望而却步,不过整理一下,可以发现这个数组包含两个
chunk
,显然这是符合我们预期的将其中一个
chunk
的拆解来看,大概是一个含有 id 、 entryModule、files、各种哈希的一个对象,其中 files 可以理解为输出的这个chunk
会输出的文件数组。得益于
webpack
的开源以及合理的命名,我们可以在 webpack 的仓库中找到关于chunk
的源码,https://github.com/webpack/webpack/blob/master/lib/Chunk.js很容易发现
chunk
其实是一个 class 对象通过
Object.getOwnProppertyNames
方法可以获取 class 的属性,如下:The text was updated successfully, but these errors were encountered: