webpack/test/configCases/plugins/mini-css-extract-plugin/webpack.config.js

58 lines
983 B
JavaScript
Raw Normal View History

2019-09-26 21:52:19 +08:00
var MCEP = require("mini-css-extract-plugin");
2021-09-03 15:21:40 +08:00
/** @type {(number, any) => import("../../../../").Configuration} */
const config = (i, options) => ({
2019-09-26 21:52:19 +08:00
entry: {
a: "./a",
b: "./b",
c: "./c.css",
x: "./x" // also imports chunk but with different exports
2019-09-26 21:52:19 +08:00
},
output: {
2021-09-03 15:21:40 +08:00
filename: `${i}_[name].js`
2019-09-26 21:52:19 +08:00
},
module: {
rules: [
{
test: /\.css$/,
use: [MCEP.loader, "css-loader"]
}
]
},
optimization: {
chunkIds: "named"
},
2019-09-26 21:52:19 +08:00
target: "web",
node: {
__dirname: false
},
plugins: [
2021-09-03 15:21:40 +08:00
new MCEP(options),
compiler => {
compiler.hooks.done.tap("Test", stats => {
const chunkIds = stats
.toJson({ all: false, chunks: true, ids: true })
.chunks.map(c => c.id)
.sort();
expect(chunkIds).toEqual([
"a",
"b",
"c",
"chunk_js-_43b60",
"chunk_js-_43b61",
"chunk_js-_43b62",
"d_css",
"x"
]);
});
}
]
2021-09-03 15:21:40 +08:00
});
module.exports = [
config(0),
config(1, {
experimentalUseImportModule: true
})
];