@unpackjs/core 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiled/css-loader/index.js +46 -46
- package/compiled/less-loader/index.js +8 -8
- package/compiled/postcss-loader/index.js +11 -11
- package/compiled/sass-loader/index.js +8 -8
- package/compiled/style-loader/index.js +10 -10
- package/dist/bundler-config/cache.cjs +105 -0
- package/dist/bundler-config/cache.d.ts +6 -0
- package/dist/bundler-config/cache.d.ts.map +1 -0
- package/dist/bundler-config/cache.js +63 -0
- package/dist/bundler-config/chunkSplit.js +7 -7
- package/dist/bundler-config/css.cjs +4 -3
- package/dist/bundler-config/css.d.ts.map +1 -1
- package/dist/bundler-config/css.js +33 -32
- package/dist/bundler-config/experimentCss.cjs +4 -3
- package/dist/bundler-config/experimentCss.d.ts.map +1 -1
- package/dist/bundler-config/experimentCss.js +29 -28
- package/dist/bundler-config/{helper.cjs → helpers.cjs} +2 -2
- package/dist/bundler-config/{helper.d.ts → helpers.d.ts} +1 -1
- package/dist/bundler-config/helpers.d.ts.map +1 -0
- package/dist/bundler-config/helpers.js +39 -0
- package/dist/bundler-config/index.cjs +26 -17
- package/dist/bundler-config/index.d.ts.map +1 -1
- package/dist/bundler-config/index.js +68 -59
- package/dist/bundler-config/jsMinify.cjs +15 -16
- package/dist/bundler-config/jsMinify.d.ts +3 -11
- package/dist/bundler-config/jsMinify.d.ts.map +1 -1
- package/dist/bundler-config/jsMinify.js +17 -18
- package/dist/bundler-config/oxlint/.oxlintrc.json +30 -0
- package/dist/bundler-config/oxlint/plugin.cjs +143 -0
- package/dist/bundler-config/oxlint/plugin.d.ts +10 -0
- package/dist/bundler-config/oxlint/plugin.d.ts.map +1 -0
- package/dist/bundler-config/oxlint/plugin.js +104 -0
- package/dist/bundler-config/progress/helpers.cjs +112 -0
- package/dist/bundler-config/progress/helpers.d.ts +4 -0
- package/dist/bundler-config/progress/helpers.d.ts.map +1 -0
- package/dist/bundler-config/progress/helpers.js +67 -0
- package/dist/bundler-config/progress/rspack.cjs +69 -0
- package/dist/bundler-config/progress/rspack.d.ts +8 -0
- package/dist/bundler-config/progress/rspack.d.ts.map +1 -0
- package/dist/bundler-config/progress/rspack.js +37 -0
- package/dist/bundler-config/progress/webpack.cjs +86 -0
- package/dist/bundler-config/progress/webpack.d.ts +9 -0
- package/dist/bundler-config/progress/webpack.d.ts.map +1 -0
- package/dist/bundler-config/progress/webpack.js +44 -0
- package/dist/colors.cjs +3 -4
- package/dist/colors.d.ts +1 -2
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +3 -4
- package/dist/config.cjs +5 -2
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -19
- package/dist/constants.cjs +7 -11
- package/dist/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -4
- package/dist/createUnpack.cjs +2 -12
- package/dist/createUnpack.js +19 -19
- package/dist/fs.cjs +82 -0
- package/dist/fs.d.ts +11 -0
- package/dist/fs.d.ts.map +1 -0
- package/dist/fs.js +28 -0
- package/dist/index.cjs +19 -20
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -42
- package/dist/lightningcss/loader.cjs +0 -2
- package/dist/lightningcss/loader.d.ts.map +1 -1
- package/dist/lightningcss/loader.js +4 -6
- package/dist/lightningcss/minimizer.cjs +7 -9
- package/dist/lightningcss/minimizer.d.ts.map +1 -1
- package/dist/lightningcss/minimizer.js +9 -11
- package/dist/logger.cjs +7 -7
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +12 -11
- package/dist/openBrowser.js +7 -7
- package/dist/prebundleDeps.cjs +5 -5
- package/dist/prebundleDeps.d.ts.map +1 -1
- package/dist/prebundleDeps.js +49 -48
- package/dist/progressBar.cjs +3 -24
- package/dist/progressBar.d.ts +1 -6
- package/dist/progressBar.d.ts.map +1 -1
- package/dist/progressBar.js +5 -16
- package/dist/reporter.cjs +17 -9
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +31 -22
- package/dist/run/build.js +8 -8
- package/dist/run/dev.cjs +3 -4
- package/dist/run/dev.d.ts.map +1 -1
- package/dist/run/dev.js +23 -23
- package/dist/typed-css-modules/loader.js +12 -12
- package/dist/typed-css-modules/plugin.cjs +1 -1
- package/dist/typed-css-modules/plugin.js +13 -13
- package/dist/typed-css-modules/utils.js +6 -6
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/oxc.cjs +18 -0
- package/dist/types/oxc.d.ts +10 -0
- package/dist/types/oxc.d.ts.map +1 -0
- package/dist/types/oxc.js +2 -0
- package/dist/utils.cjs +29 -26
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +18 -17
- package/dist/watchFiles.js +4 -4
- package/package.json +6 -6
- package/dist/bundler-config/helper.d.ts.map +0 -1
- package/dist/bundler-config/helper.js +0 -39
- package/dist/plugin-progress/rspack.cjs +0 -103
- package/dist/plugin-progress/rspack.d.ts +0 -9
- package/dist/plugin-progress/rspack.d.ts.map +0 -1
- package/dist/plugin-progress/rspack.js +0 -60
- package/dist/plugin-progress/webpack.cjs +0 -110
- package/dist/plugin-progress/webpack.d.ts +0 -9
- package/dist/plugin-progress/webpack.d.ts.map +0 -1
- package/dist/plugin-progress/webpack.js +0 -66
|
@@ -69,24 +69,26 @@ var __webpack_exports__ = {};
|
|
|
69
69
|
const external_constants_cjs_namespaceObject = require("../constants.cjs");
|
|
70
70
|
const minimizer_cjs_namespaceObject = require("../lightningcss/minimizer.cjs");
|
|
71
71
|
const external_plugin_cjs_namespaceObject = require("../plugin.cjs");
|
|
72
|
-
const rspack_cjs_namespaceObject = require("../plugin-progress/rspack.cjs");
|
|
73
|
-
const webpack_cjs_namespaceObject = require("../plugin-progress/webpack.cjs");
|
|
74
72
|
const external_webpack_namespaceObject = require("webpack");
|
|
75
73
|
var external_webpack_default = /*#__PURE__*/ __webpack_require__.n(external_webpack_namespaceObject);
|
|
74
|
+
const external_cache_cjs_namespaceObject = require("./cache.cjs");
|
|
76
75
|
const external_chunkSplit_cjs_namespaceObject = require("./chunkSplit.cjs");
|
|
77
76
|
const external_css_cjs_namespaceObject = require("./css.cjs");
|
|
78
77
|
const external_experimentCss_cjs_namespaceObject = require("./experimentCss.cjs");
|
|
79
|
-
const
|
|
78
|
+
const external_helpers_cjs_namespaceObject = require("./helpers.cjs");
|
|
80
79
|
const external_jsMinify_cjs_namespaceObject = require("./jsMinify.cjs");
|
|
80
|
+
const plugin_cjs_namespaceObject = require("./oxlint/plugin.cjs");
|
|
81
|
+
const rspack_cjs_namespaceObject = require("./progress/rspack.cjs");
|
|
82
|
+
const webpack_cjs_namespaceObject = require("./progress/webpack.cjs");
|
|
81
83
|
const { TsCheckerRspackPlugin } = __webpack_require__("ts-checker-rspack-plugin");
|
|
82
84
|
const BundleAnalyzerPlugin = __webpack_require__("../../compiled/webpack-bundle-analyzer/index.js").BundleAnalyzerPlugin;
|
|
83
85
|
const CopyWebpackPlugin = __webpack_require__("copy-webpack-plugin");
|
|
84
86
|
async function getBundlerConfig(unpackConfig) {
|
|
85
|
-
var _unpackConfig_build, _unpackConfig_build1, _unpackConfig_build2, _unpackConfig_build3, _unpackConfig_build4, _unpackConfig_build5, _unpackConfig_html, _unpackConfig_html1, _unpackConfig_html2, _unpackConfig_html3, _unpackConfig_html4, _unpackConfig_html5, _unpackConfig_html6, _unpackConfig_html7, _unpackConfig_html8, _unpackConfig_performance, _unpackConfig_performance1, _unpackConfig_build6, _unpackConfig_build7, _unpackConfig_resolve, _unpackConfig_resolve1, _unpackConfig_dev, _unpackConfig_build8,
|
|
87
|
+
var _unpackConfig_build, _unpackConfig_build1, _unpackConfig_build2, _minifyOptions_oxc, _unpackConfig_build3, _unpackConfig_build4, _unpackConfig_build5, _unpackConfig_html, _unpackConfig_html1, _unpackConfig_html2, _unpackConfig_html3, _unpackConfig_html4, _unpackConfig_html5, _unpackConfig_html6, _unpackConfig_html7, _unpackConfig_html8, _unpackConfig_performance, _unpackConfig_performance1, _unpackConfig_build6, _unpackConfig_build7, _unpackConfig_resolve, _unpackConfig_resolve1, _unpackConfig_dev, _unpackConfig_build8, _unpackConfig_experiments;
|
|
86
88
|
const isRspack = 'rspack' === unpackConfig.bundler;
|
|
87
89
|
const HtmlPlugin = isRspack ? core_namespaceObject.rspack.HtmlRspackPlugin : external_html_webpack_plugin_default();
|
|
88
90
|
const definePlugin = (define)=>isRspack ? new core_namespaceObject.rspack.DefinePlugin(define) : new (external_webpack_default()).DefinePlugin(define);
|
|
89
|
-
const JS_FILENAME = (0,
|
|
91
|
+
const JS_FILENAME = (0, external_helpers_cjs_namespaceObject.getOutputFilename)({
|
|
90
92
|
type: 'js',
|
|
91
93
|
hash: null == (_unpackConfig_build = unpackConfig.build) ? void 0 : _unpackConfig_build.filenameHash
|
|
92
94
|
});
|
|
@@ -103,13 +105,14 @@ var __webpack_exports__ = {};
|
|
|
103
105
|
}, {}) : {};
|
|
104
106
|
};
|
|
105
107
|
const minifyOptions = (0, external_utils_cjs_namespaceObject.isPlainObject)(null == (_unpackConfig_build1 = unpackConfig.build) ? void 0 : _unpackConfig_build1.minify) ? null == (_unpackConfig_build2 = unpackConfig.build) ? void 0 : _unpackConfig_build2.minify : {};
|
|
106
|
-
const
|
|
108
|
+
const oxcMinifyCompress = (0, external_utils_cjs_namespaceObject.isPlainObject)(null == (_minifyOptions_oxc = minifyOptions.oxc) ? void 0 : _minifyOptions_oxc.compress) ? minifyOptions.oxc.compress : {};
|
|
109
|
+
const ProgressPlugin = isRspack ? rspack_cjs_namespaceObject.ProgressRspackPlugin : webpack_cjs_namespaceObject.ProgressWebpackPlugin;
|
|
107
110
|
const wasmFilename = 'js/[hash].module.wasm';
|
|
108
111
|
let config = {
|
|
109
112
|
context: unpackConfig.root,
|
|
110
113
|
mode: (0, external_utils_cjs_namespaceObject.isDev)() ? 'development' : 'production',
|
|
111
114
|
entry: unpackConfig.mpa ? {} : {
|
|
112
|
-
main: await (0,
|
|
115
|
+
main: await (0, external_helpers_cjs_namespaceObject.getEntry)(unpackConfig.root, unpackConfig.entry)
|
|
113
116
|
},
|
|
114
117
|
stats: 'errors-only',
|
|
115
118
|
output: {
|
|
@@ -197,7 +200,8 @@ var __webpack_exports__ = {};
|
|
|
197
200
|
}
|
|
198
201
|
}
|
|
199
202
|
}),
|
|
200
|
-
new
|
|
203
|
+
new ProgressPlugin(),
|
|
204
|
+
new plugin_cjs_namespaceObject.OxlintPlugin()
|
|
201
205
|
].filter(Boolean),
|
|
202
206
|
externals: unpackConfig.externals,
|
|
203
207
|
resolve: {
|
|
@@ -218,24 +222,25 @@ var __webpack_exports__ = {};
|
|
|
218
222
|
experiments: {
|
|
219
223
|
lazyCompilation: (null == (_unpackConfig_dev = unpackConfig.dev) ? void 0 : _unpackConfig_dev.lazyCompilation) && (0, external_utils_cjs_namespaceObject.isDevServer)(),
|
|
220
224
|
css: false,
|
|
221
|
-
asyncWebAssembly: true
|
|
222
|
-
...isRspack && (0, external_utils_cjs_namespaceObject.isDev)() ? {
|
|
223
|
-
incremental: true
|
|
224
|
-
} : {}
|
|
225
|
+
asyncWebAssembly: true
|
|
225
226
|
},
|
|
226
227
|
optimization: {
|
|
227
228
|
moduleIds: (0, external_utils_cjs_namespaceObject.isDev)() ? 'named' : 'deterministic',
|
|
228
229
|
minimize: Boolean(null == (_unpackConfig_build8 = unpackConfig.build) ? void 0 : _unpackConfig_build8.minify),
|
|
229
230
|
minimizer: [
|
|
230
231
|
new external_jsMinify_cjs_namespaceObject.JsMinifyPlugin({
|
|
231
|
-
|
|
232
|
+
...minifyOptions.oxc,
|
|
233
|
+
compress: {
|
|
234
|
+
target: 'es2015',
|
|
235
|
+
...oxcMinifyCompress
|
|
236
|
+
}
|
|
232
237
|
}),
|
|
233
|
-
new minimizer_cjs_namespaceObject.LightningcssMinifyPlugin(
|
|
238
|
+
new minimizer_cjs_namespaceObject.LightningcssMinifyPlugin({
|
|
239
|
+
targets: external_constants_cjs_namespaceObject.LIGHTNINGCSS_TARGET,
|
|
240
|
+
...minifyOptions.lightningcss
|
|
241
|
+
})
|
|
234
242
|
]
|
|
235
243
|
},
|
|
236
|
-
cache: (null == (_unpackConfig_build9 = unpackConfig.build) ? void 0 : _unpackConfig_build9.cache) && 'webpack' === unpackConfig.bundler ? {
|
|
237
|
-
type: 'filesystem'
|
|
238
|
-
} : void 0,
|
|
239
244
|
watchOptions: {
|
|
240
245
|
ignored: /[\\/](?:\.git|node_modules)[\\/]/
|
|
241
246
|
}
|
|
@@ -251,6 +256,10 @@ var __webpack_exports__ = {};
|
|
|
251
256
|
config,
|
|
252
257
|
unpackConfig
|
|
253
258
|
});
|
|
259
|
+
config = await (0, external_cache_cjs_namespaceObject.applyCacheConfig)({
|
|
260
|
+
config,
|
|
261
|
+
unpackConfig
|
|
262
|
+
});
|
|
254
263
|
for (const plugin of (0, external_plugin_cjs_namespaceObject.getNormalizedPluginsByHook)('bundlerConfig', unpackConfig.plugins))config = await plugin.bundlerConfig(config, {
|
|
255
264
|
unpackConfig,
|
|
256
265
|
mergeConfig: external_utils_cjs_namespaceObject.mergeConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundler-config/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundler-config/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAqBzE,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoMhG"}
|
|
@@ -3,23 +3,25 @@ const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(import.meta.ur
|
|
|
3
3
|
import * as __WEBPACK_EXTERNAL_MODULE__compiled_webpack_bundle_analyzer_index_js_fd7b218e__ from "../../compiled/webpack-bundle-analyzer/index.js";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_copy_webpack_plugin_34f78a42__ from "copy-webpack-plugin";
|
|
5
5
|
import * as __WEBPACK_EXTERNAL_MODULE_ts_checker_rspack_plugin_59177e58__ from "ts-checker-rspack-plugin";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
6
|
+
import external_node_fs_default from "node:fs";
|
|
7
|
+
import external_node_path_default from "node:path";
|
|
8
|
+
import { rspack } from "@rspack/core";
|
|
9
|
+
import external_html_webpack_plugin_default from "html-webpack-plugin";
|
|
10
|
+
import { isDev, isDevServer, isFunction, isPlainObject, isProd, mergeConfig } from "../utils.js";
|
|
11
|
+
import external_json5_default from "json5";
|
|
12
|
+
import { LIGHTNINGCSS_TARGET, NODE_MODULES_REGEX, TEMPLATE_CONTENT } from "../constants.js";
|
|
13
|
+
import { LightningcssMinifyPlugin } from "../lightningcss/minimizer.js";
|
|
14
|
+
import { getNormalizedPluginsByHook } from "../plugin.js";
|
|
15
|
+
import external_webpack_default from "webpack";
|
|
16
|
+
import { applyCacheConfig } from "./cache.js";
|
|
17
|
+
import { applyChunkSplitConfig } from "./chunkSplit.js";
|
|
18
|
+
import { applyCssConfig } from "./css.js";
|
|
19
|
+
import { applyExperimentCssConfig } from "./experimentCss.js";
|
|
20
|
+
import { getEntry, getOutputFilename } from "./helpers.js";
|
|
21
|
+
import { JsMinifyPlugin } from "./jsMinify.js";
|
|
22
|
+
import { OxlintPlugin } from "./oxlint/plugin.js";
|
|
23
|
+
import { ProgressRspackPlugin } from "./progress/rspack.js";
|
|
24
|
+
import { ProgressWebpackPlugin } from "./progress/webpack.js";
|
|
23
25
|
var __webpack_modules__ = {
|
|
24
26
|
"../../compiled/webpack-bundle-analyzer/index.js": function(module) {
|
|
25
27
|
module.exports = __WEBPACK_EXTERNAL_MODULE__compiled_webpack_bundle_analyzer_index_js_fd7b218e__;
|
|
@@ -45,39 +47,40 @@ const { TsCheckerRspackPlugin } = __webpack_require__("ts-checker-rspack-plugin"
|
|
|
45
47
|
const BundleAnalyzerPlugin = __webpack_require__("../../compiled/webpack-bundle-analyzer/index.js").BundleAnalyzerPlugin;
|
|
46
48
|
const CopyWebpackPlugin = __webpack_require__("copy-webpack-plugin");
|
|
47
49
|
async function getBundlerConfig(unpackConfig) {
|
|
48
|
-
var _unpackConfig_build, _unpackConfig_build1, _unpackConfig_build2, _unpackConfig_build3, _unpackConfig_build4, _unpackConfig_build5, _unpackConfig_html, _unpackConfig_html1, _unpackConfig_html2, _unpackConfig_html3, _unpackConfig_html4, _unpackConfig_html5, _unpackConfig_html6, _unpackConfig_html7, _unpackConfig_html8, _unpackConfig_performance, _unpackConfig_performance1, _unpackConfig_build6, _unpackConfig_build7, _unpackConfig_resolve, _unpackConfig_resolve1, _unpackConfig_dev, _unpackConfig_build8,
|
|
50
|
+
var _unpackConfig_build, _unpackConfig_build1, _unpackConfig_build2, _minifyOptions_oxc, _unpackConfig_build3, _unpackConfig_build4, _unpackConfig_build5, _unpackConfig_html, _unpackConfig_html1, _unpackConfig_html2, _unpackConfig_html3, _unpackConfig_html4, _unpackConfig_html5, _unpackConfig_html6, _unpackConfig_html7, _unpackConfig_html8, _unpackConfig_performance, _unpackConfig_performance1, _unpackConfig_build6, _unpackConfig_build7, _unpackConfig_resolve, _unpackConfig_resolve1, _unpackConfig_dev, _unpackConfig_build8, _unpackConfig_experiments;
|
|
49
51
|
const isRspack = 'rspack' === unpackConfig.bundler;
|
|
50
|
-
const HtmlPlugin = isRspack ?
|
|
51
|
-
const definePlugin = (define)=>isRspack ? new
|
|
52
|
-
const JS_FILENAME =
|
|
52
|
+
const HtmlPlugin = isRspack ? rspack.HtmlRspackPlugin : external_html_webpack_plugin_default;
|
|
53
|
+
const definePlugin = (define)=>isRspack ? new rspack.DefinePlugin(define) : new external_webpack_default.DefinePlugin(define);
|
|
54
|
+
const JS_FILENAME = getOutputFilename({
|
|
53
55
|
type: 'js',
|
|
54
56
|
hash: null == (_unpackConfig_build = unpackConfig.build) ? void 0 : _unpackConfig_build.filenameHash
|
|
55
57
|
});
|
|
56
|
-
const IgnorePlugin = isRspack ?
|
|
57
|
-
const CopyPlugin = isRspack ?
|
|
58
|
-
const tsconfigPath =
|
|
59
|
-
const isTs =
|
|
58
|
+
const IgnorePlugin = isRspack ? rspack.IgnorePlugin : external_webpack_default.IgnorePlugin;
|
|
59
|
+
const CopyPlugin = isRspack ? rspack.CopyRspackPlugin : CopyWebpackPlugin;
|
|
60
|
+
const tsconfigPath = external_node_path_default.resolve(unpackConfig.root, 'tsconfig.json');
|
|
61
|
+
const isTs = external_node_fs_default.existsSync(tsconfigPath);
|
|
60
62
|
const getAliasFromTsconfig = ()=>{
|
|
61
63
|
var _json5_parse_compilerOptions, _json5_parse;
|
|
62
|
-
const paths = null == (_json5_parse =
|
|
64
|
+
const paths = null == (_json5_parse = external_json5_default.parse(external_node_fs_default.readFileSync(tsconfigPath, 'utf-8'))) ? void 0 : null == (_json5_parse_compilerOptions = _json5_parse.compilerOptions) ? void 0 : _json5_parse_compilerOptions.paths;
|
|
63
65
|
return paths ? Object.keys(paths).reduce((acc, key)=>{
|
|
64
|
-
acc[key.replace(/\/\*$/, '')] =
|
|
66
|
+
acc[key.replace(/\/\*$/, '')] = external_node_path_default.resolve(unpackConfig.root, paths[key][0].replace(/\/\*$/, ''));
|
|
65
67
|
return acc;
|
|
66
68
|
}, {}) : {};
|
|
67
69
|
};
|
|
68
|
-
const minifyOptions =
|
|
69
|
-
const
|
|
70
|
+
const minifyOptions = isPlainObject(null == (_unpackConfig_build1 = unpackConfig.build) ? void 0 : _unpackConfig_build1.minify) ? null == (_unpackConfig_build2 = unpackConfig.build) ? void 0 : _unpackConfig_build2.minify : {};
|
|
71
|
+
const oxcMinifyCompress = isPlainObject(null == (_minifyOptions_oxc = minifyOptions.oxc) ? void 0 : _minifyOptions_oxc.compress) ? minifyOptions.oxc.compress : {};
|
|
72
|
+
const ProgressPlugin = isRspack ? ProgressRspackPlugin : ProgressWebpackPlugin;
|
|
70
73
|
const wasmFilename = 'js/[hash].module.wasm';
|
|
71
74
|
let config = {
|
|
72
75
|
context: unpackConfig.root,
|
|
73
|
-
mode:
|
|
76
|
+
mode: isDev() ? 'development' : 'production',
|
|
74
77
|
entry: unpackConfig.mpa ? {} : {
|
|
75
|
-
main: await
|
|
78
|
+
main: await getEntry(unpackConfig.root, unpackConfig.entry)
|
|
76
79
|
},
|
|
77
80
|
stats: 'errors-only',
|
|
78
81
|
output: {
|
|
79
82
|
clean: true,
|
|
80
|
-
path:
|
|
83
|
+
path: external_node_path_default.resolve(unpackConfig.root, null == (_unpackConfig_build3 = unpackConfig.build) ? void 0 : _unpackConfig_build3.outDir),
|
|
81
84
|
filename: JS_FILENAME,
|
|
82
85
|
chunkFilename: JS_FILENAME,
|
|
83
86
|
crossOriginLoading: 'anonymous',
|
|
@@ -113,10 +116,10 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
113
116
|
unpackConfig.define && definePlugin(unpackConfig.define),
|
|
114
117
|
!unpackConfig.mpa && new HtmlPlugin({
|
|
115
118
|
template: (null == (_unpackConfig_html = unpackConfig.html) ? void 0 : _unpackConfig_html.template) || (isRspack ? void 0 : ''),
|
|
116
|
-
templateContent: (null == (_unpackConfig_html1 = unpackConfig.html) ? void 0 : _unpackConfig_html1.templateContent) || ((null == (_unpackConfig_html2 = unpackConfig.html) ? void 0 : _unpackConfig_html2.template) ? isRspack ? void 0 : false :
|
|
119
|
+
templateContent: (null == (_unpackConfig_html1 = unpackConfig.html) ? void 0 : _unpackConfig_html1.templateContent) || ((null == (_unpackConfig_html2 = unpackConfig.html) ? void 0 : _unpackConfig_html2.template) ? isRspack ? void 0 : false : TEMPLATE_CONTENT),
|
|
117
120
|
templateParameters: {
|
|
118
121
|
mountId: null == (_unpackConfig_html3 = unpackConfig.html) ? void 0 : _unpackConfig_html3.mountId,
|
|
119
|
-
title:
|
|
122
|
+
title: isFunction(null == (_unpackConfig_html4 = unpackConfig.html) ? void 0 : _unpackConfig_html4.title) ? null == (_unpackConfig_html5 = unpackConfig.html) ? void 0 : _unpackConfig_html5.title({
|
|
120
123
|
entryName: 'index'
|
|
121
124
|
}) : (null == (_unpackConfig_html6 = unpackConfig.html) ? void 0 : _unpackConfig_html6.title) || '',
|
|
122
125
|
headTag: (null == (_unpackConfig_html7 = unpackConfig.html) ? void 0 : _unpackConfig_html7.headTag) || '',
|
|
@@ -127,7 +130,7 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
127
130
|
'main'
|
|
128
131
|
]
|
|
129
132
|
}),
|
|
130
|
-
(null == (_unpackConfig_performance = unpackConfig.performance) ? void 0 : _unpackConfig_performance.bundleAnalyze) &&
|
|
133
|
+
(null == (_unpackConfig_performance = unpackConfig.performance) ? void 0 : _unpackConfig_performance.bundleAnalyze) && isProd() && new BundleAnalyzerPlugin(),
|
|
131
134
|
(null == (_unpackConfig_performance1 = unpackConfig.performance) ? void 0 : _unpackConfig_performance1.removeMomentLocale) && new IgnorePlugin({
|
|
132
135
|
resourceRegExp: /^\.\/locale$/,
|
|
133
136
|
contextRegExp: /moment$/
|
|
@@ -135,7 +138,7 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
135
138
|
(null == (_unpackConfig_build6 = unpackConfig.build) ? void 0 : _unpackConfig_build6.copy) && new CopyPlugin({
|
|
136
139
|
patterns: unpackConfig.build.copy
|
|
137
140
|
}),
|
|
138
|
-
(null == (_unpackConfig_build7 = unpackConfig.build) ? void 0 : _unpackConfig_build7.typeCheck) &&
|
|
141
|
+
(null == (_unpackConfig_build7 = unpackConfig.build) ? void 0 : _unpackConfig_build7.typeCheck) && isDev() && isTs && new TsCheckerRspackPlugin({
|
|
139
142
|
typescript: {
|
|
140
143
|
mode: 'readonly',
|
|
141
144
|
memoryLimit: 8192,
|
|
@@ -148,7 +151,7 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
148
151
|
},
|
|
149
152
|
issue: {
|
|
150
153
|
exclude: [
|
|
151
|
-
({ file = '' })=>
|
|
154
|
+
({ file = '' })=>NODE_MODULES_REGEX.test(file)
|
|
152
155
|
]
|
|
153
156
|
},
|
|
154
157
|
logger: {
|
|
@@ -160,12 +163,13 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
160
163
|
}
|
|
161
164
|
}
|
|
162
165
|
}),
|
|
163
|
-
new
|
|
166
|
+
new ProgressPlugin(),
|
|
167
|
+
new OxlintPlugin()
|
|
164
168
|
].filter(Boolean),
|
|
165
169
|
externals: unpackConfig.externals,
|
|
166
170
|
resolve: {
|
|
167
171
|
alias: {
|
|
168
|
-
'@':
|
|
172
|
+
'@': external_node_path_default.resolve(unpackConfig.root, 'src'),
|
|
169
173
|
...isTs ? getAliasFromTsconfig() : {},
|
|
170
174
|
...null == (_unpackConfig_resolve = unpackConfig.resolve) ? void 0 : _unpackConfig_resolve.alias
|
|
171
175
|
},
|
|
@@ -179,48 +183,53 @@ async function getBundlerConfig(unpackConfig) {
|
|
|
179
183
|
]
|
|
180
184
|
},
|
|
181
185
|
experiments: {
|
|
182
|
-
lazyCompilation: (null == (_unpackConfig_dev = unpackConfig.dev) ? void 0 : _unpackConfig_dev.lazyCompilation) &&
|
|
186
|
+
lazyCompilation: (null == (_unpackConfig_dev = unpackConfig.dev) ? void 0 : _unpackConfig_dev.lazyCompilation) && isDevServer(),
|
|
183
187
|
css: false,
|
|
184
|
-
asyncWebAssembly: true
|
|
185
|
-
...isRspack && (0, __WEBPACK_EXTERNAL_MODULE__utils_js_db66b9f7__.isDev)() ? {
|
|
186
|
-
incremental: true
|
|
187
|
-
} : {}
|
|
188
|
+
asyncWebAssembly: true
|
|
188
189
|
},
|
|
189
190
|
optimization: {
|
|
190
|
-
moduleIds:
|
|
191
|
+
moduleIds: isDev() ? 'named' : 'deterministic',
|
|
191
192
|
minimize: Boolean(null == (_unpackConfig_build8 = unpackConfig.build) ? void 0 : _unpackConfig_build8.minify),
|
|
192
193
|
minimizer: [
|
|
193
|
-
new
|
|
194
|
-
|
|
194
|
+
new JsMinifyPlugin({
|
|
195
|
+
...minifyOptions.oxc,
|
|
196
|
+
compress: {
|
|
197
|
+
target: 'es2015',
|
|
198
|
+
...oxcMinifyCompress
|
|
199
|
+
}
|
|
195
200
|
}),
|
|
196
|
-
new
|
|
201
|
+
new LightningcssMinifyPlugin({
|
|
202
|
+
targets: LIGHTNINGCSS_TARGET,
|
|
203
|
+
...minifyOptions.lightningcss
|
|
204
|
+
})
|
|
197
205
|
]
|
|
198
206
|
},
|
|
199
|
-
cache: (null == (_unpackConfig_build9 = unpackConfig.build) ? void 0 : _unpackConfig_build9.cache) && 'webpack' === unpackConfig.bundler ? {
|
|
200
|
-
type: 'filesystem'
|
|
201
|
-
} : void 0,
|
|
202
207
|
watchOptions: {
|
|
203
208
|
ignored: /[\\/](?:\.git|node_modules)[\\/]/
|
|
204
209
|
}
|
|
205
210
|
};
|
|
206
|
-
config = (null == (_unpackConfig_experiments = unpackConfig.experiments) ? void 0 : _unpackConfig_experiments.css) ?
|
|
211
|
+
config = (null == (_unpackConfig_experiments = unpackConfig.experiments) ? void 0 : _unpackConfig_experiments.css) ? applyExperimentCssConfig({
|
|
212
|
+
config,
|
|
213
|
+
unpackConfig
|
|
214
|
+
}) : applyCssConfig({
|
|
207
215
|
config,
|
|
208
216
|
unpackConfig
|
|
209
|
-
})
|
|
217
|
+
});
|
|
218
|
+
config = applyChunkSplitConfig({
|
|
210
219
|
config,
|
|
211
220
|
unpackConfig
|
|
212
221
|
});
|
|
213
|
-
config =
|
|
222
|
+
config = await applyCacheConfig({
|
|
214
223
|
config,
|
|
215
224
|
unpackConfig
|
|
216
225
|
});
|
|
217
|
-
for (const plugin of
|
|
226
|
+
for (const plugin of getNormalizedPluginsByHook('bundlerConfig', unpackConfig.plugins))config = await plugin.bundlerConfig(config, {
|
|
218
227
|
unpackConfig,
|
|
219
|
-
mergeConfig:
|
|
228
|
+
mergeConfig: mergeConfig
|
|
220
229
|
});
|
|
221
|
-
if (unpackConfig.bundlerConfig) config =
|
|
222
|
-
mergeConfig:
|
|
223
|
-
}) :
|
|
230
|
+
if (unpackConfig.bundlerConfig) config = isFunction(unpackConfig.bundlerConfig) ? await unpackConfig.bundlerConfig(config, {
|
|
231
|
+
mergeConfig: mergeConfig
|
|
232
|
+
}) : mergeConfig(config, unpackConfig.bundlerConfig);
|
|
224
233
|
return config;
|
|
225
234
|
}
|
|
226
235
|
export { getBundlerConfig };
|
|
@@ -35,7 +35,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
35
35
|
__webpack_require__.d(__webpack_exports__, {
|
|
36
36
|
JsMinifyPlugin: ()=>JsMinifyPlugin
|
|
37
37
|
});
|
|
38
|
-
const
|
|
38
|
+
const external_oxc_minify_namespaceObject = require("oxc-minify");
|
|
39
39
|
const external_webpack_namespaceObject = require("webpack");
|
|
40
40
|
var external_webpack_default = /*#__PURE__*/ __webpack_require__.n(external_webpack_namespaceObject);
|
|
41
41
|
function _define_property(obj, key, value) {
|
|
@@ -53,15 +53,15 @@ const isJsFile = /\.[cm]?js(\?.*)?$/i;
|
|
|
53
53
|
const PLUGIN_NAME = 'JsMinifyPlugin';
|
|
54
54
|
class JsMinifyPlugin {
|
|
55
55
|
apply(compiler) {
|
|
56
|
-
const { implementation, ...
|
|
56
|
+
const { implementation, ...minifyOptions } = this.options;
|
|
57
57
|
const meta = JSON.stringify({
|
|
58
58
|
name: PLUGIN_NAME,
|
|
59
|
-
version: "2.
|
|
60
|
-
options:
|
|
59
|
+
version: "2.2.0",
|
|
60
|
+
options: minifyOptions
|
|
61
61
|
});
|
|
62
62
|
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
|
|
63
63
|
compilation.hooks.chunkHash.tap(PLUGIN_NAME, (_, hash)=>hash.update(meta));
|
|
64
|
-
compilation.hooks.processAssets.
|
|
64
|
+
compilation.hooks.processAssets.tap({
|
|
65
65
|
name: PLUGIN_NAME,
|
|
66
66
|
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,
|
|
67
67
|
additionalAssets: true
|
|
@@ -71,22 +71,21 @@ class JsMinifyPlugin {
|
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
transformAssets(compilation) {
|
|
75
75
|
const { options: { devtool } } = compilation.compiler;
|
|
76
76
|
const sourceMap = !!devtool && devtool.includes('source-map');
|
|
77
77
|
const assets = compilation.getAssets().filter((asset)=>!asset.info.minimized && isJsFile.test(asset.name));
|
|
78
|
-
const { implementation, ...
|
|
79
|
-
|
|
78
|
+
const { implementation, ...minifyOptions } = this.options;
|
|
79
|
+
assets.map((asset)=>{
|
|
80
80
|
const { source, map } = asset.source.sourceAndMap();
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
minify: true,
|
|
81
|
+
const { name } = asset;
|
|
82
|
+
const output = this.minify(name, Buffer.isBuffer(source) ? source.toString() : source, {
|
|
84
83
|
sourcemap: sourceMap,
|
|
85
|
-
|
|
84
|
+
...minifyOptions
|
|
86
85
|
});
|
|
87
86
|
let newMap;
|
|
88
87
|
if (output.map) {
|
|
89
|
-
newMap = JSON.parse(output.map);
|
|
88
|
+
newMap = 'string' == typeof output.map ? JSON.parse(output.map) : output.map;
|
|
90
89
|
newMap.sources = [
|
|
91
90
|
asset.name
|
|
92
91
|
];
|
|
@@ -97,13 +96,13 @@ class JsMinifyPlugin {
|
|
|
97
96
|
minimized: true
|
|
98
97
|
};
|
|
99
98
|
compilation.updateAsset(asset.name, newSource, newInfo);
|
|
100
|
-
})
|
|
99
|
+
});
|
|
101
100
|
}
|
|
102
101
|
constructor(options = {}){
|
|
103
102
|
_define_property(this, "options", {});
|
|
104
|
-
_define_property(this, "
|
|
103
|
+
_define_property(this, "minify", void 0);
|
|
105
104
|
const { implementation } = options;
|
|
106
|
-
this.
|
|
105
|
+
this.minify = (null == implementation ? void 0 : implementation.minify) ?? external_oxc_minify_namespaceObject.minify;
|
|
107
106
|
this.options = options;
|
|
108
107
|
}
|
|
109
108
|
}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { OxcMinifyPluginOptions } from '../types/oxc';
|
|
2
2
|
import webpack from 'webpack';
|
|
3
|
-
type Implementation = {
|
|
4
|
-
transform: typeof transform;
|
|
5
|
-
};
|
|
6
|
-
export type EsbuildPluginOptions = Omit<TransformOptions, 'sourcemap' | 'sourcefile'> & {
|
|
7
|
-
/** Pass a custom esbuild implementation */
|
|
8
|
-
implementation?: Implementation;
|
|
9
|
-
};
|
|
10
3
|
export declare class JsMinifyPlugin {
|
|
11
4
|
private readonly options;
|
|
12
|
-
private readonly
|
|
13
|
-
constructor(options?:
|
|
5
|
+
private readonly minify;
|
|
6
|
+
constructor(options?: OxcMinifyPluginOptions);
|
|
14
7
|
apply(compiler: webpack.Compiler): void;
|
|
15
8
|
private transformAssets;
|
|
16
9
|
}
|
|
17
|
-
export {};
|
|
18
10
|
//# sourceMappingURL=jsMinify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsMinify.d.ts","sourceRoot":"","sources":["../../src/bundler-config/jsMinify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsMinify.d.ts","sourceRoot":"","sources":["../../src/bundler-config/jsMinify.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,OAAO,MAAM,SAAS,CAAA;AAM7B,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,OAAO,GAAE,sBAA2B;IAMhD,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ;IA2BhC,OAAO,CAAC,eAAe;CA+BxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import __rslib_shim_module__ from 'module';
|
|
2
2
|
/*#__PURE__*/ import.meta.url;
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import { minify } from "oxc-minify";
|
|
4
|
+
import external_webpack_default from "webpack";
|
|
5
5
|
function _define_property(obj, key, value) {
|
|
6
6
|
if (key in obj) Object.defineProperty(obj, key, {
|
|
7
7
|
value: value,
|
|
@@ -12,20 +12,20 @@ function _define_property(obj, key, value) {
|
|
|
12
12
|
else obj[key] = value;
|
|
13
13
|
return obj;
|
|
14
14
|
}
|
|
15
|
-
const { RawSource, SourceMapSource } =
|
|
15
|
+
const { RawSource, SourceMapSource } = external_webpack_default.sources;
|
|
16
16
|
const isJsFile = /\.[cm]?js(\?.*)?$/i;
|
|
17
17
|
const PLUGIN_NAME = 'JsMinifyPlugin';
|
|
18
18
|
class JsMinifyPlugin {
|
|
19
19
|
apply(compiler) {
|
|
20
|
-
const { implementation, ...
|
|
20
|
+
const { implementation, ...minifyOptions } = this.options;
|
|
21
21
|
const meta = JSON.stringify({
|
|
22
22
|
name: PLUGIN_NAME,
|
|
23
|
-
version: "2.
|
|
24
|
-
options:
|
|
23
|
+
version: "2.2.0",
|
|
24
|
+
options: minifyOptions
|
|
25
25
|
});
|
|
26
26
|
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
|
|
27
27
|
compilation.hooks.chunkHash.tap(PLUGIN_NAME, (_, hash)=>hash.update(meta));
|
|
28
|
-
compilation.hooks.processAssets.
|
|
28
|
+
compilation.hooks.processAssets.tap({
|
|
29
29
|
name: PLUGIN_NAME,
|
|
30
30
|
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,
|
|
31
31
|
additionalAssets: true
|
|
@@ -35,22 +35,21 @@ class JsMinifyPlugin {
|
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
transformAssets(compilation) {
|
|
39
39
|
const { options: { devtool } } = compilation.compiler;
|
|
40
40
|
const sourceMap = !!devtool && devtool.includes('source-map');
|
|
41
41
|
const assets = compilation.getAssets().filter((asset)=>!asset.info.minimized && isJsFile.test(asset.name));
|
|
42
|
-
const { implementation, ...
|
|
43
|
-
|
|
42
|
+
const { implementation, ...minifyOptions } = this.options;
|
|
43
|
+
assets.map((asset)=>{
|
|
44
44
|
const { source, map } = asset.source.sourceAndMap();
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
minify: true,
|
|
45
|
+
const { name } = asset;
|
|
46
|
+
const output = this.minify(name, Buffer.isBuffer(source) ? source.toString() : source, {
|
|
48
47
|
sourcemap: sourceMap,
|
|
49
|
-
|
|
48
|
+
...minifyOptions
|
|
50
49
|
});
|
|
51
50
|
let newMap;
|
|
52
51
|
if (output.map) {
|
|
53
|
-
newMap = JSON.parse(output.map);
|
|
52
|
+
newMap = 'string' == typeof output.map ? JSON.parse(output.map) : output.map;
|
|
54
53
|
newMap.sources = [
|
|
55
54
|
asset.name
|
|
56
55
|
];
|
|
@@ -61,13 +60,13 @@ class JsMinifyPlugin {
|
|
|
61
60
|
minimized: true
|
|
62
61
|
};
|
|
63
62
|
compilation.updateAsset(asset.name, newSource, newInfo);
|
|
64
|
-
})
|
|
63
|
+
});
|
|
65
64
|
}
|
|
66
65
|
constructor(options = {}){
|
|
67
66
|
_define_property(this, "options", {});
|
|
68
|
-
_define_property(this, "
|
|
67
|
+
_define_property(this, "minify", void 0);
|
|
69
68
|
const { implementation } = options;
|
|
70
|
-
this.
|
|
69
|
+
this.minify = (null == implementation ? void 0 : implementation.minify) ?? minify;
|
|
71
70
|
this.options = options;
|
|
72
71
|
}
|
|
73
72
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugins": ["typescript", "unicorn", "react", "oxc", "react-perf", "jsdoc"],
|
|
3
|
+
"env": {
|
|
4
|
+
"browser": true,
|
|
5
|
+
"node": true
|
|
6
|
+
},
|
|
7
|
+
"globals": {},
|
|
8
|
+
"settings": {},
|
|
9
|
+
"rules": {
|
|
10
|
+
"prefer-object-spread": "error",
|
|
11
|
+
"yoda": "error",
|
|
12
|
+
"no-duplicate-imports": "error",
|
|
13
|
+
"no-undef": "error",
|
|
14
|
+
"react/jsx-boolean-value": "error",
|
|
15
|
+
"react/rules-of-hooks": "error",
|
|
16
|
+
"react/exhaustive-deps": "off",
|
|
17
|
+
"react/self-closing-comp": [
|
|
18
|
+
"error",
|
|
19
|
+
{
|
|
20
|
+
"html": false
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"unicorn/no-nested-ternary": "error",
|
|
24
|
+
"unicorn/prefer-node-protocol": "error",
|
|
25
|
+
"unicorn/prefer-array-some": "error",
|
|
26
|
+
"unicorn/prefer-string-slice": "error",
|
|
27
|
+
"unicorn/no-console-spaces": "error",
|
|
28
|
+
"typescript/no-import-type-side-effects": "error"
|
|
29
|
+
}
|
|
30
|
+
}
|