summaryrefslogtreecommitdiffstats
path: root/front/odiparpack/internals/webpack/webpack.dll.babel.js
diff options
context:
space:
mode:
Diffstat (limited to 'front/odiparpack/internals/webpack/webpack.dll.babel.js')
-rw-r--r--front/odiparpack/internals/webpack/webpack.dll.babel.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/front/odiparpack/internals/webpack/webpack.dll.babel.js b/front/odiparpack/internals/webpack/webpack.dll.babel.js
new file mode 100644
index 0000000..d1ee114
--- /dev/null
+++ b/front/odiparpack/internals/webpack/webpack.dll.babel.js
@@ -0,0 +1,58 @@
+/**
+ * WEBPACK DLL GENERATOR
+ *
+ * This profile is used to cache webpack's module
+ * contexts for external library and framework type
+ * dependencies which will usually not change often enough
+ * to warrant building them from scratch every time we use
+ * the webpack process.
+ */
+
+const { join } = require('path');
+const defaults = require('lodash/defaultsDeep');
+const webpack = require('webpack');
+const pkg = require(join(process.cwd(), 'package.json')); // eslint-disable-line
+const { dllPlugin } = require('../config');
+
+if (!pkg.dllPlugin) {
+ process.exit(0);
+}
+
+const dllConfig = defaults(pkg.dllPlugin, dllPlugin.defaults);
+const outputPath = join(process.cwd(), dllConfig.path);
+
+module.exports = require('./webpack.base.babel')({
+ mode: 'development',
+ context: process.cwd(),
+ entry: dllConfig.dlls ? dllConfig.dlls : dllPlugin.entry(pkg),
+ optimization: {
+ minimize: false,
+ },
+ devtool: 'eval',
+ output: {
+ filename: '[name].dll.js',
+ path: outputPath,
+ library: '[name]',
+ },
+ plugins: [
+ new webpack.DllPlugin({
+ name: '[name]',
+ path: join(outputPath, '[name].json'),
+ }),
+ new webpack.ContextReplacementPlugin(/^\.\/locale$/, context => {
+ if (!/\/moment\//.test(context.context)) {
+ return;
+ }
+ // context needs to be modified in place
+ Object.assign(context, {
+ // include only CJK
+ regExp: /^\.\/(ja|ko|zh)/,
+ // point to the locale data folder relative to moment's src/lib/locale
+ request: './locale'
+ });
+ })
+ ],
+ performance: {
+ hints: false,
+ },
+});