@unpackjs/core 2.4.0 → 2.4.2
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/dist/index.cjs +2028 -196
- package/dist/index.js +1876 -39
- package/dist/lightningcssLoader.mjs +18 -0
- package/dist/typedCssModulesLoader.mjs +139 -0
- package/{dist → dist-types}/bundler-config/cache.d.ts +1 -1
- package/dist-types/bundler-config/cache.d.ts.map +1 -0
- package/{dist → dist-types}/bundler-config/chunkSplit.d.ts +1 -1
- package/dist-types/bundler-config/chunkSplit.d.ts.map +1 -0
- package/{dist → dist-types}/bundler-config/css.d.ts +1 -1
- package/dist-types/bundler-config/css.d.ts.map +1 -0
- package/{dist → dist-types}/bundler-config/experimentCss.d.ts +1 -1
- package/dist-types/bundler-config/experimentCss.d.ts.map +1 -0
- package/{dist → dist-types}/bundler-config/index.d.ts +1 -1
- package/dist-types/bundler-config/index.d.ts.map +1 -0
- package/{dist/lightningcss/loader.d.ts → dist-types/bundler-config/loaders/lightningcssLoader.d.ts} +2 -2
- package/dist-types/bundler-config/loaders/lightningcssLoader.d.ts.map +1 -0
- package/dist-types/bundler-config/loaders/typedCssModulesLoader.d.ts +6 -0
- package/dist-types/bundler-config/loaders/typedCssModulesLoader.d.ts.map +1 -0
- package/{dist/bundler-config → dist-types/bundler-config/plugins}/jsMinify.d.ts +1 -1
- package/dist-types/bundler-config/plugins/jsMinify.d.ts.map +1 -0
- package/{dist/lightningcss/minimizer.d.ts → dist-types/bundler-config/plugins/lightningcssMinify.d.ts} +2 -3
- package/dist-types/bundler-config/plugins/lightningcssMinify.d.ts.map +1 -0
- package/{dist/bundler-config/oxlint/plugin.d.ts → dist-types/bundler-config/plugins/oxlint/index.d.ts} +1 -1
- package/dist-types/bundler-config/plugins/oxlint/index.d.ts.map +1 -0
- package/dist-types/bundler-config/plugins/progress/helpers.d.ts.map +1 -0
- package/{dist/bundler-config → dist-types/bundler-config/plugins}/progress/rspack.d.ts +1 -1
- package/dist-types/bundler-config/plugins/progress/rspack.d.ts.map +1 -0
- package/{dist/bundler-config → dist-types/bundler-config/plugins}/progress/webpack.d.ts +1 -1
- package/dist-types/bundler-config/plugins/progress/webpack.d.ts.map +1 -0
- package/{dist/typed-css-modules/plugin.d.ts → dist-types/bundler-config/plugins/typedCssModules.d.ts} +2 -2
- package/dist-types/bundler-config/plugins/typedCssModules.d.ts.map +1 -0
- package/{dist → dist-types}/config.d.ts +1 -1
- package/dist-types/config.d.ts.map +1 -0
- package/{dist → dist-types}/createUnpack.d.ts +1 -1
- package/{dist → dist-types}/createUnpack.d.ts.map +1 -1
- package/{dist → dist-types}/index.d.ts +1 -1
- package/{dist → dist-types}/index.d.ts.map +1 -1
- package/dist-types/logger.d.ts +3 -0
- package/{dist → dist-types}/logger.d.ts.map +1 -1
- package/{dist → dist-types}/plugin.d.ts +1 -1
- package/{dist → dist-types}/plugin.d.ts.map +1 -1
- package/dist-types/run/build.d.ts +3 -0
- package/{dist → dist-types}/run/build.d.ts.map +1 -1
- package/{dist → dist-types}/run/dev.d.ts +1 -1
- package/{dist → dist-types}/run/dev.d.ts.map +1 -1
- package/{dist → dist-types}/types/config.d.ts +1 -1
- package/{dist → dist-types}/types/config.d.ts.map +1 -1
- package/{dist → dist-types}/types/index.d.ts +1 -0
- package/{dist → dist-types}/types/index.d.ts.map +1 -1
- package/{dist → dist-types}/utils.d.ts +5 -1
- package/dist-types/utils.d.ts.map +1 -0
- package/package.json +6 -37
- package/dist/bundler-config/cache.cjs +0 -114
- package/dist/bundler-config/cache.d.ts.map +0 -1
- package/dist/bundler-config/cache.js +0 -72
- package/dist/bundler-config/chunkSplit.cjs +0 -192
- package/dist/bundler-config/chunkSplit.d.ts.map +0 -1
- package/dist/bundler-config/chunkSplit.js +0 -150
- package/dist/bundler-config/css.cjs +0 -189
- package/dist/bundler-config/css.d.ts.map +0 -1
- package/dist/bundler-config/css.js +0 -149
- package/dist/bundler-config/experimentCss.cjs +0 -214
- package/dist/bundler-config/experimentCss.d.ts.map +0 -1
- package/dist/bundler-config/experimentCss.js +0 -175
- package/dist/bundler-config/helpers.cjs +0 -77
- package/dist/bundler-config/helpers.js +0 -31
- package/dist/bundler-config/index.cjs +0 -309
- package/dist/bundler-config/index.d.ts.map +0 -1
- package/dist/bundler-config/index.js +0 -262
- package/dist/bundler-config/jsMinify.cjs +0 -113
- package/dist/bundler-config/jsMinify.d.ts.map +0 -1
- package/dist/bundler-config/jsMinify.js +0 -71
- package/dist/bundler-config/oxlint/plugin.cjs +0 -143
- package/dist/bundler-config/oxlint/plugin.d.ts.map +0 -1
- package/dist/bundler-config/oxlint/plugin.js +0 -104
- package/dist/bundler-config/progress/helpers.cjs +0 -126
- package/dist/bundler-config/progress/helpers.d.ts.map +0 -1
- package/dist/bundler-config/progress/helpers.js +0 -81
- package/dist/bundler-config/progress/rspack.cjs +0 -70
- package/dist/bundler-config/progress/rspack.d.ts.map +0 -1
- package/dist/bundler-config/progress/rspack.js +0 -38
- package/dist/bundler-config/progress/webpack.cjs +0 -87
- package/dist/bundler-config/progress/webpack.d.ts.map +0 -1
- package/dist/bundler-config/progress/webpack.js +0 -45
- package/dist/colors.cjs +0 -82
- package/dist/colors.js +0 -40
- package/dist/config.cjs +0 -148
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -101
- package/dist/constants.cjs +0 -122
- package/dist/constants.js +0 -51
- package/dist/createUnpack.cjs +0 -107
- package/dist/createUnpack.js +0 -75
- package/dist/fs.cjs +0 -91
- package/dist/fs.js +0 -34
- package/dist/global.cjs +0 -36
- package/dist/global.js +0 -4
- package/dist/lightningcss/loader.cjs +0 -57
- package/dist/lightningcss/loader.d.ts.map +0 -1
- package/dist/lightningcss/loader.js +0 -25
- package/dist/lightningcss/minimizer.cjs +0 -94
- package/dist/lightningcss/minimizer.d.ts.map +0 -1
- package/dist/lightningcss/minimizer.js +0 -59
- package/dist/loadEnv.cjs +0 -122
- package/dist/loadEnv.js +0 -80
- package/dist/loadingAnimation.cjs +0 -76
- package/dist/loadingAnimation.js +0 -44
- package/dist/logger.cjs +0 -116
- package/dist/logger.d.ts +0 -3
- package/dist/logger.js +0 -74
- package/dist/openBrowser.cjs +0 -89
- package/dist/openBrowser.js +0 -49
- package/dist/plugin.cjs +0 -42
- package/dist/plugin.js +0 -10
- package/dist/prebundleDeps.cjs +0 -349
- package/dist/prebundleDeps.js +0 -303
- package/dist/progressBar.cjs +0 -66
- package/dist/progressBar.js +0 -34
- package/dist/reporter.cjs +0 -164
- package/dist/reporter.js +0 -120
- package/dist/run/build.cjs +0 -68
- package/dist/run/build.d.ts +0 -3
- package/dist/run/build.js +0 -26
- package/dist/run/dev.cjs +0 -118
- package/dist/run/dev.js +0 -75
- package/dist/run/index.cjs +0 -69
- package/dist/run/index.js +0 -4
- package/dist/typed-css-modules/loader.cjs +0 -141
- package/dist/typed-css-modules/loader.d.ts +0 -8
- package/dist/typed-css-modules/loader.d.ts.map +0 -1
- package/dist/typed-css-modules/loader.js +0 -92
- package/dist/typed-css-modules/plugin.cjs +0 -117
- package/dist/typed-css-modules/plugin.d.ts.map +0 -1
- package/dist/typed-css-modules/plugin.js +0 -74
- package/dist/typed-css-modules/utils.cjs +0 -46
- package/dist/typed-css-modules/utils.d.ts +0 -6
- package/dist/typed-css-modules/utils.d.ts.map +0 -1
- package/dist/typed-css-modules/utils.js +0 -14
- package/dist/types/chunkSplit.cjs +0 -18
- package/dist/types/chunkSplit.js +0 -2
- package/dist/types/config.cjs +0 -18
- package/dist/types/config.js +0 -2
- package/dist/types/index.cjs +0 -96
- package/dist/types/index.js +0 -7
- package/dist/types/lightningcss.cjs +0 -18
- package/dist/types/lightningcss.js +0 -2
- package/dist/types/logger.cjs +0 -45
- package/dist/types/logger.js +0 -13
- package/dist/types/oxc.cjs +0 -18
- package/dist/types/oxc.js +0 -2
- package/dist/types/plugin.cjs +0 -18
- package/dist/types/plugin.js +0 -2
- package/dist/utils.cjs +0 -346
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -204
- package/dist/watchFiles.cjs +0 -69
- package/dist/watchFiles.js +0 -27
- /package/dist/{bundler-config/oxlint/.oxlintrc.json → .oxlintrc.json} +0 -0
- /package/{dist → dist-types}/bundler-config/helpers.d.ts +0 -0
- /package/{dist → dist-types}/bundler-config/helpers.d.ts.map +0 -0
- /package/{dist/bundler-config → dist-types/bundler-config/plugins}/progress/helpers.d.ts +0 -0
- /package/{dist → dist-types}/colors.d.ts +0 -0
- /package/{dist → dist-types}/colors.d.ts.map +0 -0
- /package/{dist → dist-types}/constants.d.ts +0 -0
- /package/{dist → dist-types}/constants.d.ts.map +0 -0
- /package/{dist → dist-types}/fs.d.ts +0 -0
- /package/{dist → dist-types}/fs.d.ts.map +0 -0
- /package/{dist → dist-types}/global.d.ts +0 -0
- /package/{dist → dist-types}/global.d.ts.map +0 -0
- /package/{dist → dist-types}/loadEnv.d.ts +0 -0
- /package/{dist → dist-types}/loadEnv.d.ts.map +0 -0
- /package/{dist → dist-types}/loadingAnimation.d.ts +0 -0
- /package/{dist → dist-types}/loadingAnimation.d.ts.map +0 -0
- /package/{dist → dist-types}/openBrowser.d.ts +0 -0
- /package/{dist → dist-types}/openBrowser.d.ts.map +0 -0
- /package/{dist → dist-types}/prebundleDeps.d.ts +0 -0
- /package/{dist → dist-types}/prebundleDeps.d.ts.map +0 -0
- /package/{dist → dist-types}/progressBar.d.ts +0 -0
- /package/{dist → dist-types}/progressBar.d.ts.map +0 -0
- /package/{dist → dist-types}/reporter.d.ts +0 -0
- /package/{dist → dist-types}/reporter.d.ts.map +0 -0
- /package/{dist → dist-types}/run/index.d.ts +0 -0
- /package/{dist → dist-types}/run/index.d.ts.map +0 -0
- /package/{dist → dist-types}/types/chunkSplit.d.ts +0 -0
- /package/{dist → dist-types}/types/chunkSplit.d.ts.map +0 -0
- /package/{dist → dist-types}/types/lightningcss.d.ts +0 -0
- /package/{dist → dist-types}/types/lightningcss.d.ts.map +0 -0
- /package/{dist → dist-types}/types/logger.d.ts +0 -0
- /package/{dist → dist-types}/types/logger.d.ts.map +0 -0
- /package/{dist → dist-types}/types/oxc.d.ts +0 -0
- /package/{dist → dist-types}/types/oxc.d.ts.map +0 -0
- /package/{dist → dist-types}/types/plugin.d.ts +0 -0
- /package/{dist → dist-types}/types/plugin.d.ts.map +0 -0
- /package/{dist → dist-types}/watchFiles.d.ts +0 -0
- /package/{dist → dist-types}/watchFiles.d.ts.map +0 -0
package/dist/prebundleDeps.cjs
DELETED
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
|
-
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: definition[key]
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
})();
|
|
20
|
-
(()=>{
|
|
21
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
-
})();
|
|
23
|
-
(()=>{
|
|
24
|
-
__webpack_require__.r = (exports1)=>{
|
|
25
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
-
value: 'Module'
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
-
value: true
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
})();
|
|
33
|
-
var __webpack_exports__ = {};
|
|
34
|
-
__webpack_require__.r(__webpack_exports__);
|
|
35
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
prebundleDeps: ()=>prebundleDeps
|
|
37
|
-
});
|
|
38
|
-
const external_node_fs_namespaceObject = require("node:fs");
|
|
39
|
-
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
40
|
-
const external_node_path_namespaceObject = require("node:path");
|
|
41
|
-
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
42
|
-
const core_namespaceObject = require("@rspack/core");
|
|
43
|
-
const external_cors_namespaceObject = require("cors");
|
|
44
|
-
var external_cors_default = /*#__PURE__*/ __webpack_require__.n(external_cors_namespaceObject);
|
|
45
|
-
const external_express_namespaceObject = require("express");
|
|
46
|
-
var external_express_default = /*#__PURE__*/ __webpack_require__.n(external_express_namespaceObject);
|
|
47
|
-
const external_html_webpack_plugin_namespaceObject = require("html-webpack-plugin");
|
|
48
|
-
var external_html_webpack_plugin_default = /*#__PURE__*/ __webpack_require__.n(external_html_webpack_plugin_namespaceObject);
|
|
49
|
-
const external_tinyglobby_namespaceObject = require("tinyglobby");
|
|
50
|
-
const external_colors_cjs_namespaceObject = require("./colors.cjs");
|
|
51
|
-
const external_constants_cjs_namespaceObject = require("./constants.cjs");
|
|
52
|
-
const external_fs_cjs_namespaceObject = require("./fs.cjs");
|
|
53
|
-
const external_global_cjs_namespaceObject = require("./global.cjs");
|
|
54
|
-
const external_logger_cjs_namespaceObject = require("./logger.cjs");
|
|
55
|
-
const external_utils_cjs_namespaceObject = require("./utils.cjs");
|
|
56
|
-
const CACHE_DIR = 'umd';
|
|
57
|
-
const FAILED_DEPS_CACHE_FILE = 'failed-deps.json';
|
|
58
|
-
const getFailedDepsCache = (failedDepsCachePath)=>{
|
|
59
|
-
if (external_node_fs_default().existsSync(failedDepsCachePath)) return JSON.parse(external_node_fs_default().readFileSync(failedDepsCachePath, 'utf-8'));
|
|
60
|
-
return {};
|
|
61
|
-
};
|
|
62
|
-
const saveFailedDepsCache = (failedDepsCachePath, cache)=>{
|
|
63
|
-
const cacheDir = external_node_path_default().dirname(failedDepsCachePath);
|
|
64
|
-
if (!external_node_fs_default().existsSync(cacheDir)) external_node_fs_default().mkdirSync(cacheDir, {
|
|
65
|
-
recursive: true
|
|
66
|
-
});
|
|
67
|
-
external_node_fs_default().writeFileSync(failedDepsCachePath, JSON.stringify(cache, null, 2), 'utf-8');
|
|
68
|
-
};
|
|
69
|
-
const getExternalLibraryName = (pkgName)=>{
|
|
70
|
-
const externalAlias = {
|
|
71
|
-
react: 'React',
|
|
72
|
-
'react-dom': 'ReactDOM',
|
|
73
|
-
'react-router-dom': 'ReactRouterDOM'
|
|
74
|
-
};
|
|
75
|
-
return externalAlias[pkgName] || pkgName;
|
|
76
|
-
};
|
|
77
|
-
const getExternalValue = (pkgName)=>`window ${getExternalLibraryName(pkgName)}`;
|
|
78
|
-
const getExistExternals = (externals)=>{
|
|
79
|
-
const existExternals = new Set();
|
|
80
|
-
if (Array.isArray(externals)) externals.forEach((item)=>{
|
|
81
|
-
if ((0, external_utils_cjs_namespaceObject.isPlainObject)(item)) Object.keys(item).forEach((key)=>existExternals.add(key));
|
|
82
|
-
});
|
|
83
|
-
else if ((0, external_utils_cjs_namespaceObject.isPlainObject)(externals)) Object.keys(externals).forEach((key)=>existExternals.add(key));
|
|
84
|
-
return Array.from(existExternals);
|
|
85
|
-
};
|
|
86
|
-
const getPkgEntry = (packageJson)=>{
|
|
87
|
-
if (packageJson.module) return packageJson.module;
|
|
88
|
-
if (packageJson.exports) {
|
|
89
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(packageJson.exports)) return packageJson.exports;
|
|
90
|
-
const defaultExport = packageJson.exports['.'];
|
|
91
|
-
if (defaultExport) {
|
|
92
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(defaultExport)) return defaultExport;
|
|
93
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(defaultExport.import)) return defaultExport.import;
|
|
94
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(defaultExport.browser)) return defaultExport.browser;
|
|
95
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(defaultExport.default)) return defaultExport.default;
|
|
96
|
-
}
|
|
97
|
-
if ((0, external_utils_cjs_namespaceObject.isString)(packageJson.exports.default)) return packageJson.exports.default;
|
|
98
|
-
}
|
|
99
|
-
if (packageJson.main) return packageJson.main;
|
|
100
|
-
};
|
|
101
|
-
const prebundleDeps = async ({ unpackConfig })=>{
|
|
102
|
-
var _unpackConfig_dev;
|
|
103
|
-
const count = {
|
|
104
|
-
total: 0,
|
|
105
|
-
bundled: 0
|
|
106
|
-
};
|
|
107
|
-
const failedDeps = [];
|
|
108
|
-
const root = unpackConfig.root;
|
|
109
|
-
const failedDepsCachePath = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, FAILED_DEPS_CACHE_FILE);
|
|
110
|
-
const failedCache = getFailedDepsCache(failedDepsCachePath);
|
|
111
|
-
const updateProgress = ()=>{
|
|
112
|
-
(0, external_utils_cjs_namespaceObject.logUpdate)(`${external_colors_cjs_namespaceObject.colors.magenta("\xbb")} optimizing dependencies (${count.bundled}/${count.total})`);
|
|
113
|
-
if (count.total === count.bundled + failedDeps.length) console.log();
|
|
114
|
-
};
|
|
115
|
-
const bundleDep = ({ name, entry, version })=>new Promise((resolve)=>{
|
|
116
|
-
const pkgDir = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, CACHE_DIR, name);
|
|
117
|
-
const outDir = external_node_path_default().resolve(pkgDir, version);
|
|
118
|
-
const getResult = ()=>{
|
|
119
|
-
const assets = (0, external_tinyglobby_namespaceObject.globSync)('**/index.{js,css}', {
|
|
120
|
-
cwd: outDir,
|
|
121
|
-
absolute: true
|
|
122
|
-
});
|
|
123
|
-
return {
|
|
124
|
-
name,
|
|
125
|
-
assets
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
if (external_node_fs_default().existsSync(outDir)) return void resolve(getResult());
|
|
129
|
-
count.total++;
|
|
130
|
-
updateProgress();
|
|
131
|
-
const getSwcOptions = ({ tsx })=>({
|
|
132
|
-
jsc: {
|
|
133
|
-
parser: {
|
|
134
|
-
tsx,
|
|
135
|
-
syntax: "typescript",
|
|
136
|
-
dynamicImport: true,
|
|
137
|
-
decorators: true
|
|
138
|
-
},
|
|
139
|
-
transform: {
|
|
140
|
-
react: {
|
|
141
|
-
runtime: 'automatic'
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
const compiler = (0, core_namespaceObject.rspack)({
|
|
147
|
-
entry: {
|
|
148
|
-
index: entry
|
|
149
|
-
},
|
|
150
|
-
context: root,
|
|
151
|
-
mode: 'development',
|
|
152
|
-
output: {
|
|
153
|
-
clean: true,
|
|
154
|
-
path: outDir,
|
|
155
|
-
pathinfo: false,
|
|
156
|
-
library: {
|
|
157
|
-
name: getExternalLibraryName(name),
|
|
158
|
-
type: 'umd',
|
|
159
|
-
umdNamedDefine: true
|
|
160
|
-
},
|
|
161
|
-
globalObject: 'this'
|
|
162
|
-
},
|
|
163
|
-
devtool: false,
|
|
164
|
-
module: {
|
|
165
|
-
rules: [
|
|
166
|
-
{
|
|
167
|
-
test: /\.(j|t)s$/,
|
|
168
|
-
use: [
|
|
169
|
-
{
|
|
170
|
-
loader: 'builtin:swc-loader',
|
|
171
|
-
options: getSwcOptions({
|
|
172
|
-
tsx: false
|
|
173
|
-
})
|
|
174
|
-
}
|
|
175
|
-
]
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
test: /\.(j|t)sx$/,
|
|
179
|
-
use: [
|
|
180
|
-
{
|
|
181
|
-
loader: 'builtin:swc-loader',
|
|
182
|
-
options: getSwcOptions({
|
|
183
|
-
tsx: true
|
|
184
|
-
})
|
|
185
|
-
}
|
|
186
|
-
]
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
test: /\.less$/,
|
|
190
|
-
type: 'css/auto',
|
|
191
|
-
use: [
|
|
192
|
-
{
|
|
193
|
-
loader: (0, external_utils_cjs_namespaceObject.getCompiledPkgPath)('less-loader'),
|
|
194
|
-
options: {
|
|
195
|
-
lessOptions: {
|
|
196
|
-
javascriptEnabled: true
|
|
197
|
-
},
|
|
198
|
-
implementation: (0, external_utils_cjs_namespaceObject.getUserDepPath)(root, 'less')
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
]
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
test: /\.s[ac]ss$/i,
|
|
205
|
-
type: 'css/auto',
|
|
206
|
-
use: [
|
|
207
|
-
{
|
|
208
|
-
loader: (0, external_utils_cjs_namespaceObject.getCompiledPkgPath)('sass-loader'),
|
|
209
|
-
options: {
|
|
210
|
-
api: 'modern-compiler',
|
|
211
|
-
implementation: (0, external_utils_cjs_namespaceObject.getUserDepPath)(root, [
|
|
212
|
-
'sass-embedded',
|
|
213
|
-
'sass'
|
|
214
|
-
])
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
]
|
|
218
|
-
}
|
|
219
|
-
]
|
|
220
|
-
},
|
|
221
|
-
optimization: {
|
|
222
|
-
splitChunks: false
|
|
223
|
-
},
|
|
224
|
-
experiments: {
|
|
225
|
-
css: true
|
|
226
|
-
},
|
|
227
|
-
externals: {
|
|
228
|
-
react: getExternalValue('react'),
|
|
229
|
-
'react-dom': getExternalValue('react-dom'),
|
|
230
|
-
'react-router-dom': getExternalValue('react-router-dom')
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
compiler.run((_, stats)=>{
|
|
234
|
-
let isFailed = false;
|
|
235
|
-
if (null == stats ? void 0 : stats.hasErrors()) {
|
|
236
|
-
isFailed = true;
|
|
237
|
-
failedDeps.push(name);
|
|
238
|
-
failedCache[name] = version;
|
|
239
|
-
(0, external_fs_cjs_namespaceObject.removeDir)(outDir);
|
|
240
|
-
} else count.bundled++;
|
|
241
|
-
updateProgress();
|
|
242
|
-
compiler.close(()=>{
|
|
243
|
-
resolve(isFailed ? void 0 : getResult());
|
|
244
|
-
});
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
const userOptions = (0, external_utils_cjs_namespaceObject.isPlainObject)(null == (_unpackConfig_dev = unpackConfig.dev) ? void 0 : _unpackConfig_dev.prebundle) ? unpackConfig.dev.prebundle : {};
|
|
248
|
-
const ignoreCSSDeps = userOptions.ignoreCSS || [];
|
|
249
|
-
const packageJson = JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().resolve(root, 'package.json'), 'utf-8'));
|
|
250
|
-
const existExternals = getExistExternals(unpackConfig.externals);
|
|
251
|
-
const excludeDeps = [
|
|
252
|
-
...existExternals || [],
|
|
253
|
-
...userOptions.exclude || []
|
|
254
|
-
];
|
|
255
|
-
const shouldIncludeDeps = Object.keys(packageJson.dependencies).filter((pkgName)=>!excludeDeps.includes(pkgName));
|
|
256
|
-
const noEntryDeps = [];
|
|
257
|
-
const needBundleDeps = shouldIncludeDeps.map((pkgName)=>{
|
|
258
|
-
const packageJson = JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().resolve(root, 'node_modules', pkgName, 'package.json'), 'utf-8'));
|
|
259
|
-
const version = packageJson.version;
|
|
260
|
-
if (failedCache[pkgName] === version) return;
|
|
261
|
-
const entry = getPkgEntry(packageJson);
|
|
262
|
-
if (!entry) {
|
|
263
|
-
noEntryDeps.push(pkgName);
|
|
264
|
-
failedCache[pkgName] = version;
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
268
|
-
name: pkgName,
|
|
269
|
-
entry: external_node_path_default().resolve(root, 'node_modules', pkgName, entry),
|
|
270
|
-
version
|
|
271
|
-
};
|
|
272
|
-
}).filter(Boolean);
|
|
273
|
-
const bundledDeps = await Promise.all(needBundleDeps.map((depInfo)=>bundleDep(depInfo)));
|
|
274
|
-
saveFailedDepsCache(failedDepsCachePath, failedCache);
|
|
275
|
-
if (failedDeps[0]) external_logger_cjs_namespaceObject.logger.warn(`something went wrong while optimizing "${external_colors_cjs_namespaceObject.colors.bold(failedDeps.join(', '))}"`);
|
|
276
|
-
const cachePath = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, CACHE_DIR);
|
|
277
|
-
const app = external_express_default()();
|
|
278
|
-
app.use(external_cors_default()());
|
|
279
|
-
app.use(`/${CACHE_DIR}`, external_express_default()["static"](cachePath));
|
|
280
|
-
const port = await (0, external_utils_cjs_namespaceObject.getPort)();
|
|
281
|
-
const staticServer = app.listen(port, ()=>{});
|
|
282
|
-
external_global_cjs_namespaceObject.restartCleaners.push(()=>new Promise((resolve)=>staticServer.close(()=>resolve())));
|
|
283
|
-
const externals = {};
|
|
284
|
-
const jsAssets = [];
|
|
285
|
-
const cssAssets = [];
|
|
286
|
-
const preJsAssets = [];
|
|
287
|
-
bundledDeps.filter(Boolean).forEach((dep)=>{
|
|
288
|
-
if (!dep) return;
|
|
289
|
-
externals[dep.name] = getExternalValue(dep.name);
|
|
290
|
-
dep.assets.forEach((absPath)=>{
|
|
291
|
-
const relativePath = external_node_path_default().relative(cachePath, absPath);
|
|
292
|
-
const preDeps = [
|
|
293
|
-
'react',
|
|
294
|
-
'react-dom',
|
|
295
|
-
'react-router-dom'
|
|
296
|
-
];
|
|
297
|
-
const serverPath = `//localhost:${port}/${CACHE_DIR}/${relativePath}`;
|
|
298
|
-
switch(external_node_path_default().extname(relativePath)){
|
|
299
|
-
case '.js':
|
|
300
|
-
if (preDeps.includes(dep.name)) preJsAssets.push({
|
|
301
|
-
path: serverPath,
|
|
302
|
-
order: preDeps.indexOf(dep.name)
|
|
303
|
-
});
|
|
304
|
-
else jsAssets.push(serverPath);
|
|
305
|
-
break;
|
|
306
|
-
case '.css':
|
|
307
|
-
if (!ignoreCSSDeps.includes(dep.name)) cssAssets.push(serverPath);
|
|
308
|
-
break;
|
|
309
|
-
default:
|
|
310
|
-
break;
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
unpackConfig.externals = Array.isArray(unpackConfig.externals) ? [
|
|
315
|
-
externals,
|
|
316
|
-
...unpackConfig.externals
|
|
317
|
-
] : {
|
|
318
|
-
...externals,
|
|
319
|
-
...unpackConfig.externals
|
|
320
|
-
};
|
|
321
|
-
const HtmlPlugin = 'rspack' === unpackConfig.bundler ? core_namespaceObject.rspack.HtmlRspackPlugin : external_html_webpack_plugin_default();
|
|
322
|
-
unpackConfig.plugins.push({
|
|
323
|
-
name: 'unpack:prebundle',
|
|
324
|
-
bundlerConfig: (config)=>{
|
|
325
|
-
const PLUGIN_NAME = 'PluginInjectAssets';
|
|
326
|
-
config.plugins.push({
|
|
327
|
-
apply: (compiler)=>{
|
|
328
|
-
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
|
|
329
|
-
HtmlPlugin.getCompilationHooks(compilation).beforeAssetTagGeneration.tapPromise(PLUGIN_NAME, async (args)=>{
|
|
330
|
-
const sortedPreJsAssets = preJsAssets.sort((a, b)=>a.order - b.order).map((item)=>item.path);
|
|
331
|
-
args.assets.js.unshift(...sortedPreJsAssets, ...jsAssets);
|
|
332
|
-
args.assets.css.unshift(...cssAssets);
|
|
333
|
-
return args;
|
|
334
|
-
});
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
return config;
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
return unpackConfig;
|
|
342
|
-
};
|
|
343
|
-
exports.prebundleDeps = __webpack_exports__.prebundleDeps;
|
|
344
|
-
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
345
|
-
"prebundleDeps"
|
|
346
|
-
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
347
|
-
Object.defineProperty(exports, '__esModule', {
|
|
348
|
-
value: true
|
|
349
|
-
});
|
package/dist/prebundleDeps.js
DELETED
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import 'module';
|
|
2
|
-
/*#__PURE__*/ import.meta.url;
|
|
3
|
-
import node_fs from "node:fs";
|
|
4
|
-
import node_path from "node:path";
|
|
5
|
-
import { rspack } from "@rspack/core";
|
|
6
|
-
import cors from "cors";
|
|
7
|
-
import express from "express";
|
|
8
|
-
import html_webpack_plugin from "html-webpack-plugin";
|
|
9
|
-
import { globSync } from "tinyglobby";
|
|
10
|
-
import { colors } from "./colors.js";
|
|
11
|
-
import { TEMP_DIR } from "./constants.js";
|
|
12
|
-
import { removeDir } from "./fs.js";
|
|
13
|
-
import { restartCleaners } from "./global.js";
|
|
14
|
-
import { logger } from "./logger.js";
|
|
15
|
-
import { getCompiledPkgPath, getPort, getUserDepPath, isPlainObject, isString, logUpdate } from "./utils.js";
|
|
16
|
-
const CACHE_DIR = 'umd';
|
|
17
|
-
const FAILED_DEPS_CACHE_FILE = 'failed-deps.json';
|
|
18
|
-
const getFailedDepsCache = (failedDepsCachePath)=>{
|
|
19
|
-
if (node_fs.existsSync(failedDepsCachePath)) return JSON.parse(node_fs.readFileSync(failedDepsCachePath, 'utf-8'));
|
|
20
|
-
return {};
|
|
21
|
-
};
|
|
22
|
-
const saveFailedDepsCache = (failedDepsCachePath, cache)=>{
|
|
23
|
-
const cacheDir = node_path.dirname(failedDepsCachePath);
|
|
24
|
-
if (!node_fs.existsSync(cacheDir)) node_fs.mkdirSync(cacheDir, {
|
|
25
|
-
recursive: true
|
|
26
|
-
});
|
|
27
|
-
node_fs.writeFileSync(failedDepsCachePath, JSON.stringify(cache, null, 2), 'utf-8');
|
|
28
|
-
};
|
|
29
|
-
const getExternalLibraryName = (pkgName)=>{
|
|
30
|
-
const externalAlias = {
|
|
31
|
-
react: 'React',
|
|
32
|
-
'react-dom': 'ReactDOM',
|
|
33
|
-
'react-router-dom': 'ReactRouterDOM'
|
|
34
|
-
};
|
|
35
|
-
return externalAlias[pkgName] || pkgName;
|
|
36
|
-
};
|
|
37
|
-
const getExternalValue = (pkgName)=>`window ${getExternalLibraryName(pkgName)}`;
|
|
38
|
-
const getExistExternals = (externals)=>{
|
|
39
|
-
const existExternals = new Set();
|
|
40
|
-
if (Array.isArray(externals)) externals.forEach((item)=>{
|
|
41
|
-
if (isPlainObject(item)) Object.keys(item).forEach((key)=>existExternals.add(key));
|
|
42
|
-
});
|
|
43
|
-
else if (isPlainObject(externals)) Object.keys(externals).forEach((key)=>existExternals.add(key));
|
|
44
|
-
return Array.from(existExternals);
|
|
45
|
-
};
|
|
46
|
-
const getPkgEntry = (packageJson)=>{
|
|
47
|
-
if (packageJson.module) return packageJson.module;
|
|
48
|
-
if (packageJson.exports) {
|
|
49
|
-
if (isString(packageJson.exports)) return packageJson.exports;
|
|
50
|
-
const defaultExport = packageJson.exports['.'];
|
|
51
|
-
if (defaultExport) {
|
|
52
|
-
if (isString(defaultExport)) return defaultExport;
|
|
53
|
-
if (isString(defaultExport.import)) return defaultExport.import;
|
|
54
|
-
if (isString(defaultExport.browser)) return defaultExport.browser;
|
|
55
|
-
if (isString(defaultExport.default)) return defaultExport.default;
|
|
56
|
-
}
|
|
57
|
-
if (isString(packageJson.exports.default)) return packageJson.exports.default;
|
|
58
|
-
}
|
|
59
|
-
if (packageJson.main) return packageJson.main;
|
|
60
|
-
};
|
|
61
|
-
const prebundleDeps = async ({ unpackConfig })=>{
|
|
62
|
-
var _unpackConfig_dev;
|
|
63
|
-
const count = {
|
|
64
|
-
total: 0,
|
|
65
|
-
bundled: 0
|
|
66
|
-
};
|
|
67
|
-
const failedDeps = [];
|
|
68
|
-
const root = unpackConfig.root;
|
|
69
|
-
const failedDepsCachePath = node_path.resolve(root, TEMP_DIR, FAILED_DEPS_CACHE_FILE);
|
|
70
|
-
const failedCache = getFailedDepsCache(failedDepsCachePath);
|
|
71
|
-
const updateProgress = ()=>{
|
|
72
|
-
logUpdate(`${colors.magenta("\xbb")} optimizing dependencies (${count.bundled}/${count.total})`);
|
|
73
|
-
if (count.total === count.bundled + failedDeps.length) console.log();
|
|
74
|
-
};
|
|
75
|
-
const bundleDep = ({ name, entry, version })=>new Promise((resolve)=>{
|
|
76
|
-
const pkgDir = node_path.resolve(root, TEMP_DIR, CACHE_DIR, name);
|
|
77
|
-
const outDir = node_path.resolve(pkgDir, version);
|
|
78
|
-
const getResult = ()=>{
|
|
79
|
-
const assets = globSync('**/index.{js,css}', {
|
|
80
|
-
cwd: outDir,
|
|
81
|
-
absolute: true
|
|
82
|
-
});
|
|
83
|
-
return {
|
|
84
|
-
name,
|
|
85
|
-
assets
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
if (node_fs.existsSync(outDir)) return void resolve(getResult());
|
|
89
|
-
count.total++;
|
|
90
|
-
updateProgress();
|
|
91
|
-
const getSwcOptions = ({ tsx })=>({
|
|
92
|
-
jsc: {
|
|
93
|
-
parser: {
|
|
94
|
-
tsx,
|
|
95
|
-
syntax: "typescript",
|
|
96
|
-
dynamicImport: true,
|
|
97
|
-
decorators: true
|
|
98
|
-
},
|
|
99
|
-
transform: {
|
|
100
|
-
react: {
|
|
101
|
-
runtime: 'automatic'
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
const compiler = rspack({
|
|
107
|
-
entry: {
|
|
108
|
-
index: entry
|
|
109
|
-
},
|
|
110
|
-
context: root,
|
|
111
|
-
mode: 'development',
|
|
112
|
-
output: {
|
|
113
|
-
clean: true,
|
|
114
|
-
path: outDir,
|
|
115
|
-
pathinfo: false,
|
|
116
|
-
library: {
|
|
117
|
-
name: getExternalLibraryName(name),
|
|
118
|
-
type: 'umd',
|
|
119
|
-
umdNamedDefine: true
|
|
120
|
-
},
|
|
121
|
-
globalObject: 'this'
|
|
122
|
-
},
|
|
123
|
-
devtool: false,
|
|
124
|
-
module: {
|
|
125
|
-
rules: [
|
|
126
|
-
{
|
|
127
|
-
test: /\.(j|t)s$/,
|
|
128
|
-
use: [
|
|
129
|
-
{
|
|
130
|
-
loader: 'builtin:swc-loader',
|
|
131
|
-
options: getSwcOptions({
|
|
132
|
-
tsx: false
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
]
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
test: /\.(j|t)sx$/,
|
|
139
|
-
use: [
|
|
140
|
-
{
|
|
141
|
-
loader: 'builtin:swc-loader',
|
|
142
|
-
options: getSwcOptions({
|
|
143
|
-
tsx: true
|
|
144
|
-
})
|
|
145
|
-
}
|
|
146
|
-
]
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
test: /\.less$/,
|
|
150
|
-
type: 'css/auto',
|
|
151
|
-
use: [
|
|
152
|
-
{
|
|
153
|
-
loader: getCompiledPkgPath('less-loader'),
|
|
154
|
-
options: {
|
|
155
|
-
lessOptions: {
|
|
156
|
-
javascriptEnabled: true
|
|
157
|
-
},
|
|
158
|
-
implementation: getUserDepPath(root, 'less')
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
]
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
test: /\.s[ac]ss$/i,
|
|
165
|
-
type: 'css/auto',
|
|
166
|
-
use: [
|
|
167
|
-
{
|
|
168
|
-
loader: getCompiledPkgPath('sass-loader'),
|
|
169
|
-
options: {
|
|
170
|
-
api: 'modern-compiler',
|
|
171
|
-
implementation: getUserDepPath(root, [
|
|
172
|
-
'sass-embedded',
|
|
173
|
-
'sass'
|
|
174
|
-
])
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
]
|
|
178
|
-
}
|
|
179
|
-
]
|
|
180
|
-
},
|
|
181
|
-
optimization: {
|
|
182
|
-
splitChunks: false
|
|
183
|
-
},
|
|
184
|
-
experiments: {
|
|
185
|
-
css: true
|
|
186
|
-
},
|
|
187
|
-
externals: {
|
|
188
|
-
react: getExternalValue('react'),
|
|
189
|
-
'react-dom': getExternalValue('react-dom'),
|
|
190
|
-
'react-router-dom': getExternalValue('react-router-dom')
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
compiler.run((_, stats)=>{
|
|
194
|
-
let isFailed = false;
|
|
195
|
-
if (null == stats ? void 0 : stats.hasErrors()) {
|
|
196
|
-
isFailed = true;
|
|
197
|
-
failedDeps.push(name);
|
|
198
|
-
failedCache[name] = version;
|
|
199
|
-
removeDir(outDir);
|
|
200
|
-
} else count.bundled++;
|
|
201
|
-
updateProgress();
|
|
202
|
-
compiler.close(()=>{
|
|
203
|
-
resolve(isFailed ? void 0 : getResult());
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
const userOptions = isPlainObject(null == (_unpackConfig_dev = unpackConfig.dev) ? void 0 : _unpackConfig_dev.prebundle) ? unpackConfig.dev.prebundle : {};
|
|
208
|
-
const ignoreCSSDeps = userOptions.ignoreCSS || [];
|
|
209
|
-
const packageJson = JSON.parse(node_fs.readFileSync(node_path.resolve(root, 'package.json'), 'utf-8'));
|
|
210
|
-
const existExternals = getExistExternals(unpackConfig.externals);
|
|
211
|
-
const excludeDeps = [
|
|
212
|
-
...existExternals || [],
|
|
213
|
-
...userOptions.exclude || []
|
|
214
|
-
];
|
|
215
|
-
const shouldIncludeDeps = Object.keys(packageJson.dependencies).filter((pkgName)=>!excludeDeps.includes(pkgName));
|
|
216
|
-
const noEntryDeps = [];
|
|
217
|
-
const needBundleDeps = shouldIncludeDeps.map((pkgName)=>{
|
|
218
|
-
const packageJson = JSON.parse(node_fs.readFileSync(node_path.resolve(root, 'node_modules', pkgName, 'package.json'), 'utf-8'));
|
|
219
|
-
const version = packageJson.version;
|
|
220
|
-
if (failedCache[pkgName] === version) return;
|
|
221
|
-
const entry = getPkgEntry(packageJson);
|
|
222
|
-
if (!entry) {
|
|
223
|
-
noEntryDeps.push(pkgName);
|
|
224
|
-
failedCache[pkgName] = version;
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
return {
|
|
228
|
-
name: pkgName,
|
|
229
|
-
entry: node_path.resolve(root, 'node_modules', pkgName, entry),
|
|
230
|
-
version
|
|
231
|
-
};
|
|
232
|
-
}).filter(Boolean);
|
|
233
|
-
const bundledDeps = await Promise.all(needBundleDeps.map((depInfo)=>bundleDep(depInfo)));
|
|
234
|
-
saveFailedDepsCache(failedDepsCachePath, failedCache);
|
|
235
|
-
if (failedDeps[0]) logger.warn(`something went wrong while optimizing "${colors.bold(failedDeps.join(', '))}"`);
|
|
236
|
-
const cachePath = node_path.resolve(root, TEMP_DIR, CACHE_DIR);
|
|
237
|
-
const app = express();
|
|
238
|
-
app.use(cors());
|
|
239
|
-
app.use(`/${CACHE_DIR}`, express["static"](cachePath));
|
|
240
|
-
const port = await getPort();
|
|
241
|
-
const staticServer = app.listen(port, ()=>{});
|
|
242
|
-
restartCleaners.push(()=>new Promise((resolve)=>staticServer.close(()=>resolve())));
|
|
243
|
-
const externals = {};
|
|
244
|
-
const jsAssets = [];
|
|
245
|
-
const cssAssets = [];
|
|
246
|
-
const preJsAssets = [];
|
|
247
|
-
bundledDeps.filter(Boolean).forEach((dep)=>{
|
|
248
|
-
if (!dep) return;
|
|
249
|
-
externals[dep.name] = getExternalValue(dep.name);
|
|
250
|
-
dep.assets.forEach((absPath)=>{
|
|
251
|
-
const relativePath = node_path.relative(cachePath, absPath);
|
|
252
|
-
const preDeps = [
|
|
253
|
-
'react',
|
|
254
|
-
'react-dom',
|
|
255
|
-
'react-router-dom'
|
|
256
|
-
];
|
|
257
|
-
const serverPath = `//localhost:${port}/${CACHE_DIR}/${relativePath}`;
|
|
258
|
-
switch(node_path.extname(relativePath)){
|
|
259
|
-
case '.js':
|
|
260
|
-
if (preDeps.includes(dep.name)) preJsAssets.push({
|
|
261
|
-
path: serverPath,
|
|
262
|
-
order: preDeps.indexOf(dep.name)
|
|
263
|
-
});
|
|
264
|
-
else jsAssets.push(serverPath);
|
|
265
|
-
break;
|
|
266
|
-
case '.css':
|
|
267
|
-
if (!ignoreCSSDeps.includes(dep.name)) cssAssets.push(serverPath);
|
|
268
|
-
break;
|
|
269
|
-
default:
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
});
|
|
274
|
-
unpackConfig.externals = Array.isArray(unpackConfig.externals) ? [
|
|
275
|
-
externals,
|
|
276
|
-
...unpackConfig.externals
|
|
277
|
-
] : {
|
|
278
|
-
...externals,
|
|
279
|
-
...unpackConfig.externals
|
|
280
|
-
};
|
|
281
|
-
const HtmlPlugin = 'rspack' === unpackConfig.bundler ? rspack.HtmlRspackPlugin : html_webpack_plugin;
|
|
282
|
-
unpackConfig.plugins.push({
|
|
283
|
-
name: 'unpack:prebundle',
|
|
284
|
-
bundlerConfig: (config)=>{
|
|
285
|
-
const PLUGIN_NAME = 'PluginInjectAssets';
|
|
286
|
-
config.plugins.push({
|
|
287
|
-
apply: (compiler)=>{
|
|
288
|
-
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
|
|
289
|
-
HtmlPlugin.getCompilationHooks(compilation).beforeAssetTagGeneration.tapPromise(PLUGIN_NAME, async (args)=>{
|
|
290
|
-
const sortedPreJsAssets = preJsAssets.sort((a, b)=>a.order - b.order).map((item)=>item.path);
|
|
291
|
-
args.assets.js.unshift(...sortedPreJsAssets, ...jsAssets);
|
|
292
|
-
args.assets.css.unshift(...cssAssets);
|
|
293
|
-
return args;
|
|
294
|
-
});
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
return config;
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
return unpackConfig;
|
|
302
|
-
};
|
|
303
|
-
export { prebundleDeps };
|