webpack/test/configCases/library/0-create-library/webpack.config.js

139 lines
2.1 KiB
JavaScript
Raw Normal View History

const path = require("path");
2020-02-26 18:00:47 +08:00
const webpack = require("../../../../");
/** @type {function(any, any): import("../../../../").Configuration[]} */
module.exports = (env, { testPath }) => [
2017-06-02 20:22:42 +08:00
{
output: {
filename: "commonjs.js",
2020-02-20 03:25:49 +08:00
libraryTarget: "commonjs"
2017-06-02 20:22:42 +08:00
},
resolve: {
alias: {
external: "./non-external"
}
}
},
{
output: {
filename: "umd.js",
libraryTarget: "umd"
},
resolve: {
alias: {
external: "./non-external"
}
}
},
{
output: {
filename: "umd-default.js",
libraryTarget: "umd",
libraryExport: "default"
},
resolve: {
alias: {
external: "./non-external"
}
}
},
2017-06-02 20:22:42 +08:00
{
output: {
filename: "this.js",
libraryTarget: "this"
},
resolve: {
alias: {
external: "./non-external"
}
}
},
{
output: {
2020-02-26 18:00:47 +08:00
filename: "var.js",
library: ["globalName", "x", "y"]
2017-06-02 20:22:42 +08:00
},
resolve: {
alias: {
external: "./non-external"
}
2020-02-26 18:00:47 +08:00
},
plugins: [
new webpack.BannerPlugin({
raw: true,
banner: "module.exports = () => globalName;\n"
})
]
2017-06-02 20:22:42 +08:00
},
{
output: {
filename: "commonjs2-external.js",
libraryTarget: "commonjs2"
},
externals: ["external"]
},
{
mode: "development",
output: {
filename: "commonjs2-external-eval.js",
libraryTarget: "commonjs2"
},
externals: ["external"]
},
{
output: {
filename: "index.js",
path: path.resolve(testPath, "commonjs2-split-chunks"),
libraryTarget: "commonjs2"
},
target: "node",
optimization: {
splitChunks: {
cacheGroups: {
test: {
enforce: true,
chunks: "all",
test: /a\.js$/,
filename: "part.js"
}
}
}
},
resolve: {
alias: {
external: "./non-external"
}
}
},
{
entry: {
entryA: {
import: "./index"
},
entryB: {
import: "./index",
library: {
type: "umd",
name: "umd"
}
},
entryC: {
import: "./index",
library: {
type: "amd"
}
}
},
output: {
library: {
type: "commonjs-module"
},
filename: "[name].js"
},
resolve: {
alias: {
external: "./non-external"
}
}
}
2017-06-02 20:22:42 +08:00
];