@unpackjs/core 1.7.5 → 1.7.7
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 +180 -178
- package/compiled/less-loader/index.js +11 -11
- package/compiled/line-diff/index.js +4 -4
- package/compiled/line-diff/license +1 -1
- package/compiled/line-diff/package.json +1 -1
- package/compiled/portfinder/index.js +37 -37
- package/compiled/postcss-loader/index.js +261 -256
- package/compiled/sass-loader/index.js +24 -20
- package/compiled/sass-loader/package.json +1 -1
- package/compiled/semver/index.js +188 -170
- package/compiled/semver/package.json +1 -1
- package/compiled/style-loader/index.js +13 -13
- package/compiled/webpack-bundle-analyzer/index.js +198 -198
- package/compiled/webpack-merge/index.js +29 -29
- package/dist/bundler-config/chunkSplit.cjs +169 -156
- package/dist/bundler-config/chunkSplit.js +125 -134
- package/dist/bundler-config/css.cjs +181 -158
- package/dist/bundler-config/css.js +139 -151
- package/dist/bundler-config/experimentCss.cjs +203 -159
- package/dist/bundler-config/experimentCss.js +162 -152
- package/dist/bundler-config/helper.cjs +82 -78
- package/dist/bundler-config/helper.js +36 -55
- package/dist/bundler-config/index.cjs +260 -209
- package/dist/bundler-config/index.d.ts.map +1 -1
- package/dist/bundler-config/index.js +209 -182
- package/dist/bundler-config/jsMinify.cjs +114 -95
- package/dist/bundler-config/jsMinify.js +70 -73
- package/dist/colors.cjs +83 -56
- package/dist/colors.js +38 -37
- package/dist/config.cjs +107 -93
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +64 -70
- package/dist/constants.cjs +65 -62
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +22 -38
- package/dist/createUnpack.cjs +111 -104
- package/dist/createUnpack.js +67 -82
- package/dist/global.cjs +36 -0
- package/dist/global.d.ts +2 -0
- package/dist/global.d.ts.map +1 -0
- package/dist/global.js +4 -0
- package/dist/index.cjs +174 -51
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -15
- package/dist/lightningcss/loader.cjs +56 -53
- package/dist/lightningcss/loader.d.ts.map +1 -1
- package/dist/lightningcss/loader.js +25 -34
- package/dist/lightningcss/minimizer.cjs +90 -109
- package/dist/lightningcss/minimizer.d.ts.map +1 -1
- package/dist/lightningcss/minimizer.js +59 -87
- package/dist/logger.cjs +104 -98
- package/dist/logger.js +59 -76
- package/dist/openBrowser.cjs +104 -81
- package/dist/openBrowser.js +56 -52
- package/dist/plugin-progress/rspack.cjs +104 -79
- package/dist/plugin-progress/rspack.js +59 -57
- package/dist/plugin-progress/webpack.cjs +111 -89
- package/dist/plugin-progress/webpack.js +65 -67
- package/dist/plugin.cjs +38 -29
- package/dist/plugin.js +8 -17
- package/dist/prebundleDeps.cjs +327 -337
- package/dist/prebundleDeps.d.ts.map +1 -1
- package/dist/prebundleDeps.js +278 -324
- package/dist/progressBar.cjs +82 -65
- package/dist/progressBar.js +38 -43
- package/dist/reporter.cjs +149 -124
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +102 -102
- package/dist/run/build.cjs +68 -67
- package/dist/run/build.js +24 -45
- package/dist/run/dev.cjs +96 -83
- package/dist/run/dev.d.ts.map +1 -1
- package/dist/run/dev.js +50 -61
- package/dist/run/index.cjs +74 -21
- package/dist/run/index.js +2 -9
- package/dist/typed-css-modules/loader.cjs +179 -188
- package/dist/typed-css-modules/loader.js +118 -151
- package/dist/typed-css-modules/plugin.cjs +113 -88
- package/dist/typed-css-modules/plugin.js +68 -66
- package/dist/typed-css-modules/utils.cjs +43 -42
- package/dist/typed-css-modules/utils.js +13 -30
- package/dist/types/chunkSplit.cjs +19 -15
- package/dist/types/chunkSplit.d.ts +2 -10
- package/dist/types/chunkSplit.d.ts.map +1 -1
- package/dist/types/chunkSplit.js +2 -9
- package/dist/types/config.cjs +19 -15
- package/dist/types/config.js +2 -9
- package/dist/types/index.cjs +101 -27
- package/dist/types/index.js +2 -9
- package/dist/types/lightningcss.cjs +19 -15
- package/dist/types/lightningcss.js +2 -9
- package/dist/types/logger.cjs +43 -34
- package/dist/types/logger.js +13 -22
- package/dist/types/plugin.cjs +19 -15
- package/dist/types/plugin.js +2 -9
- package/dist/utils.cjs +280 -304
- package/dist/utils.js +195 -241
- package/dist/watchFiles.cjs +73 -0
- package/dist/watchFiles.d.ts +3 -0
- package/dist/watchFiles.d.ts.map +1 -0
- package/dist/watchFiles.js +27 -0
- package/package.json +18 -21
- package/compiled/commander/index.d.ts +0 -1047
- package/compiled/commander/index.js +0 -2428
- package/compiled/commander/license +0 -22
- package/compiled/commander/package.json +0 -1
- package/dist/bundleRequire.cjs +0 -200
- package/dist/bundleRequire.d.ts +0 -5
- package/dist/bundleRequire.d.ts.map +0 -1
- package/dist/bundleRequire.js +0 -173
- package/dist/lightningcss/cache.cjs +0 -36
- package/dist/lightningcss/cache.d.ts +0 -2
- package/dist/lightningcss/cache.d.ts.map +0 -1
- package/dist/lightningcss/cache.js +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prebundleDeps.d.ts","sourceRoot":"","sources":["../src/prebundleDeps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prebundleDeps.d.ts","sourceRoot":"","sources":["../src/prebundleDeps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA4D3C,eAAO,MAAM,aAAa,sBAEvB;IACD,YAAY,EAAE,YAAY,CAAA;CAC3B,KAAG,OAAO,CAAC,YAAY,CA8QvB,CAAA"}
|
package/dist/prebundleDeps.js
CHANGED
|
@@ -1,335 +1,289 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
getIpv4Interfaces,
|
|
23
|
-
getPort,
|
|
24
|
-
getUserDepPath,
|
|
25
|
-
isPlainObject,
|
|
26
|
-
isString,
|
|
27
|
-
logUpdate,
|
|
28
|
-
removeDir
|
|
29
|
-
} from "./utils.js";
|
|
30
|
-
const app = express();
|
|
31
|
-
app.use(cors());
|
|
32
|
-
const CACHE_DIR = "umd";
|
|
33
|
-
const externalAlias = {
|
|
34
|
-
react: "React",
|
|
35
|
-
"react-dom": "ReactDOM",
|
|
36
|
-
"react-router": "ReactRouter",
|
|
37
|
-
"react-router-dom": "ReactRouterDOM"
|
|
38
|
-
};
|
|
39
|
-
const count = {
|
|
40
|
-
total: 0,
|
|
41
|
-
bundled: 0
|
|
42
|
-
};
|
|
43
|
-
const failedDeps = [];
|
|
44
|
-
const noEntryDeps = [];
|
|
45
|
-
const updateProgress = () => {
|
|
46
|
-
logUpdate(
|
|
47
|
-
`${colors.magenta(colors.bold("»"))} Optimizing dependencies (${count.bundled}/${count.total})`
|
|
48
|
-
);
|
|
49
|
-
if (count.total === count.bundled + failedDeps.length) {
|
|
50
|
-
console.log();
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const getExternalLibraryName = (pkgName) => {
|
|
54
|
-
return externalAlias[pkgName] || pkgName;
|
|
55
|
-
};
|
|
56
|
-
const getExternalValue = (pkgName) => {
|
|
57
|
-
return `window ${getExternalLibraryName(pkgName)}`;
|
|
58
|
-
};
|
|
59
|
-
const bundleDep = ({
|
|
60
|
-
root,
|
|
61
|
-
name,
|
|
62
|
-
entry,
|
|
63
|
-
version
|
|
64
|
-
}) => {
|
|
65
|
-
return new Promise((resolve) => {
|
|
66
|
-
const pkgDir = path2.resolve(root, TEMP_DIR, CACHE_DIR, name);
|
|
67
|
-
const outDir = path2.resolve(pkgDir, version);
|
|
68
|
-
const getResult = () => {
|
|
69
|
-
const assets = globSync("**/index.{js,css}", {
|
|
70
|
-
cwd: outDir,
|
|
71
|
-
absolute: true
|
|
72
|
-
});
|
|
73
|
-
return {
|
|
74
|
-
name,
|
|
75
|
-
assets
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
if (fs.existsSync(outDir)) {
|
|
79
|
-
resolve(getResult());
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
removeDir(pkgDir);
|
|
83
|
-
count.total++;
|
|
84
|
-
updateProgress();
|
|
85
|
-
const getSwcOptions = ({ tsx }) => {
|
|
86
|
-
return {
|
|
87
|
-
jsc: {
|
|
88
|
-
parser: {
|
|
89
|
-
tsx,
|
|
90
|
-
syntax: "typescript",
|
|
91
|
-
dynamicImport: true,
|
|
92
|
-
decorators: true
|
|
93
|
-
},
|
|
94
|
-
transform: {
|
|
95
|
-
react: {
|
|
96
|
-
runtime: "automatic"
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
};
|
|
1
|
+
import __rslib_shim_module__ from 'module';
|
|
2
|
+
/*#__PURE__*/ import.meta.url;
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__ from "node:fs";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__ from "@rspack/core";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE_cors__ from "cors";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE_express__ from "express";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE_html_webpack_plugin_e07f62c9__ from "html-webpack-plugin";
|
|
9
|
+
import * as __WEBPACK_EXTERNAL_MODULE_tinyglobby__ from "tinyglobby";
|
|
10
|
+
import * as __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__ from "./colors.js";
|
|
11
|
+
import * as __WEBPACK_EXTERNAL_MODULE__constants_js_e283b470__ from "./constants.js";
|
|
12
|
+
import * as __WEBPACK_EXTERNAL_MODULE__global_js_67e2b430__ from "./global.js";
|
|
13
|
+
import * as __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__ from "./logger.js";
|
|
14
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__ from "./utils.js";
|
|
15
|
+
const CACHE_DIR = 'umd';
|
|
16
|
+
const getExternalLibraryName = (pkgName)=>{
|
|
17
|
+
const externalAlias = {
|
|
18
|
+
react: 'React',
|
|
19
|
+
'react-dom': 'ReactDOM',
|
|
20
|
+
'react-router': 'ReactRouter',
|
|
21
|
+
'react-router-dom': 'ReactRouterDOM'
|
|
101
22
|
};
|
|
102
|
-
|
|
103
|
-
entry: {
|
|
104
|
-
index: entry
|
|
105
|
-
},
|
|
106
|
-
context: root,
|
|
107
|
-
mode: "development",
|
|
108
|
-
output: {
|
|
109
|
-
clean: true,
|
|
110
|
-
path: outDir,
|
|
111
|
-
pathinfo: false,
|
|
112
|
-
library: {
|
|
113
|
-
name: getExternalLibraryName(name),
|
|
114
|
-
type: "umd",
|
|
115
|
-
umdNamedDefine: true
|
|
116
|
-
},
|
|
117
|
-
globalObject: "this"
|
|
118
|
-
},
|
|
119
|
-
devtool: false,
|
|
120
|
-
module: {
|
|
121
|
-
rules: [
|
|
122
|
-
{
|
|
123
|
-
test: /\.(j|t)s$/,
|
|
124
|
-
use: [
|
|
125
|
-
{
|
|
126
|
-
loader: "builtin:swc-loader",
|
|
127
|
-
options: getSwcOptions({ tsx: false })
|
|
128
|
-
}
|
|
129
|
-
]
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
test: /\.(j|t)sx$/,
|
|
133
|
-
use: [
|
|
134
|
-
{
|
|
135
|
-
loader: "builtin:swc-loader",
|
|
136
|
-
options: getSwcOptions({ tsx: true })
|
|
137
|
-
}
|
|
138
|
-
]
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
test: /\.less$/,
|
|
142
|
-
type: "css/auto",
|
|
143
|
-
use: [
|
|
144
|
-
{
|
|
145
|
-
loader: getCompiledPkgPath("less-loader"),
|
|
146
|
-
options: {
|
|
147
|
-
lessOptions: {
|
|
148
|
-
javascriptEnabled: true
|
|
149
|
-
},
|
|
150
|
-
implementation: getUserDepPath(root, "less")
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
]
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
test: /\.s[ac]ss$/i,
|
|
157
|
-
type: "css/auto",
|
|
158
|
-
use: [
|
|
159
|
-
{
|
|
160
|
-
loader: getCompiledPkgPath("sass-loader"),
|
|
161
|
-
options: {
|
|
162
|
-
api: "modern-compiler",
|
|
163
|
-
implementation: getUserDepPath(root, ["sass-embedded", "sass"])
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
]
|
|
169
|
-
},
|
|
170
|
-
optimization: {
|
|
171
|
-
splitChunks: false
|
|
172
|
-
},
|
|
173
|
-
experiments: {
|
|
174
|
-
css: true
|
|
175
|
-
},
|
|
176
|
-
externals: {
|
|
177
|
-
react: getExternalValue("react"),
|
|
178
|
-
"react-dom": getExternalValue("react-dom")
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
compiler.run((_, stats) => {
|
|
182
|
-
let isFailed = false;
|
|
183
|
-
if (stats?.hasErrors()) {
|
|
184
|
-
isFailed = true;
|
|
185
|
-
failedDeps.push(name);
|
|
186
|
-
removeDir(outDir);
|
|
187
|
-
} else {
|
|
188
|
-
count.bundled++;
|
|
189
|
-
}
|
|
190
|
-
updateProgress();
|
|
191
|
-
compiler.close(() => {
|
|
192
|
-
resolve(!isFailed ? getResult() : void 0);
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
});
|
|
23
|
+
return externalAlias[pkgName] || pkgName;
|
|
196
24
|
};
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
externals.forEach((item)
|
|
201
|
-
|
|
202
|
-
Object.keys(item).forEach((key) => existExternals.add(key));
|
|
203
|
-
}
|
|
25
|
+
const getExternalValue = (pkgName)=>`window ${getExternalLibraryName(pkgName)}`;
|
|
26
|
+
const getExistExternals = (externals)=>{
|
|
27
|
+
const existExternals = new Set();
|
|
28
|
+
if (Array.isArray(externals)) externals.forEach((item)=>{
|
|
29
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isPlainObject)(item)) Object.keys(item).forEach((key)=>existExternals.add(key));
|
|
204
30
|
});
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
return Array.from(existExternals);
|
|
31
|
+
else if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isPlainObject)(externals)) Object.keys(externals).forEach((key)=>existExternals.add(key));
|
|
32
|
+
return Array.from(existExternals);
|
|
209
33
|
};
|
|
210
|
-
const getPkgEntry = (packageJson)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return
|
|
222
|
-
if (isString(defaultExport.browser))
|
|
223
|
-
return defaultExport.browser;
|
|
224
|
-
if (isString(defaultExport.default))
|
|
225
|
-
return defaultExport.default;
|
|
34
|
+
const getPkgEntry = (packageJson)=>{
|
|
35
|
+
if (packageJson.module) return packageJson.module;
|
|
36
|
+
if (packageJson.exports) {
|
|
37
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(packageJson.exports)) return packageJson.exports;
|
|
38
|
+
const defaultExport = packageJson.exports['.'];
|
|
39
|
+
if (defaultExport) {
|
|
40
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(defaultExport)) return defaultExport;
|
|
41
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(defaultExport.import)) return defaultExport.import;
|
|
42
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(defaultExport.browser)) return defaultExport.browser;
|
|
43
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(defaultExport.default)) return defaultExport.default;
|
|
44
|
+
}
|
|
45
|
+
if ((0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isString)(packageJson.exports.default)) return packageJson.exports.default;
|
|
226
46
|
}
|
|
227
|
-
if (
|
|
228
|
-
return packageJson.exports.default;
|
|
229
|
-
}
|
|
230
|
-
if (packageJson.main)
|
|
231
|
-
return packageJson.main;
|
|
47
|
+
if (packageJson.main) return packageJson.main;
|
|
232
48
|
};
|
|
233
|
-
const prebundleDeps = async ({
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
);
|
|
244
|
-
const needBundleDeps = shouldIncludeDeps.map((pkgName) => {
|
|
245
|
-
const packageJson2 = JSON.parse(
|
|
246
|
-
fs.readFileSync(path2.resolve(root, "node_modules", pkgName, "package.json"), "utf-8")
|
|
247
|
-
);
|
|
248
|
-
const entry = getPkgEntry(packageJson2);
|
|
249
|
-
if (!entry) {
|
|
250
|
-
noEntryDeps.push(pkgName);
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
return {
|
|
254
|
-
name: pkgName,
|
|
255
|
-
entry: path2.resolve(root, "node_modules", pkgName, entry),
|
|
256
|
-
version: packageJson2.version
|
|
49
|
+
const prebundleDeps = async ({ unpackConfig })=>{
|
|
50
|
+
var _unpackConfig_dev;
|
|
51
|
+
const count = {
|
|
52
|
+
total: 0,
|
|
53
|
+
bundled: 0
|
|
54
|
+
};
|
|
55
|
+
const failedDeps = [];
|
|
56
|
+
const updateProgress = ()=>{
|
|
57
|
+
(0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.logUpdate)(`${__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].magenta(__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].bold('»'))} Optimizing dependencies (${count.bundled}/${count.total})`);
|
|
58
|
+
if (count.total === count.bundled + failedDeps.length) console.log();
|
|
257
59
|
};
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
60
|
+
const { root } = unpackConfig;
|
|
61
|
+
const bundleDep = ({ name, entry, version })=>new Promise((resolve)=>{
|
|
62
|
+
const pkgDir = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(root, __WEBPACK_EXTERNAL_MODULE__constants_js_e283b470__.TEMP_DIR, CACHE_DIR, name);
|
|
63
|
+
const outDir = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(pkgDir, version);
|
|
64
|
+
const getResult = ()=>{
|
|
65
|
+
const assets = (0, __WEBPACK_EXTERNAL_MODULE_tinyglobby__.globSync)('**/index.{js,css}', {
|
|
66
|
+
cwd: outDir,
|
|
67
|
+
absolute: true
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
name,
|
|
71
|
+
assets
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
if (__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].existsSync(outDir)) {
|
|
75
|
+
resolve(getResult());
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
(0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.removeDir)(pkgDir);
|
|
79
|
+
count.total++;
|
|
80
|
+
updateProgress();
|
|
81
|
+
const getSwcOptions = ({ tsx })=>({
|
|
82
|
+
jsc: {
|
|
83
|
+
parser: {
|
|
84
|
+
tsx,
|
|
85
|
+
syntax: "typescript",
|
|
86
|
+
dynamicImport: true,
|
|
87
|
+
decorators: true
|
|
88
|
+
},
|
|
89
|
+
transform: {
|
|
90
|
+
react: {
|
|
91
|
+
runtime: 'automatic'
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const compiler = (0, __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__.rspack)({
|
|
97
|
+
entry: {
|
|
98
|
+
index: entry
|
|
99
|
+
},
|
|
100
|
+
context: root,
|
|
101
|
+
mode: 'development',
|
|
102
|
+
output: {
|
|
103
|
+
clean: true,
|
|
104
|
+
path: outDir,
|
|
105
|
+
pathinfo: false,
|
|
106
|
+
library: {
|
|
107
|
+
name: getExternalLibraryName(name),
|
|
108
|
+
type: 'umd',
|
|
109
|
+
umdNamedDefine: true
|
|
110
|
+
},
|
|
111
|
+
globalObject: 'this'
|
|
112
|
+
},
|
|
113
|
+
devtool: false,
|
|
114
|
+
module: {
|
|
115
|
+
rules: [
|
|
116
|
+
{
|
|
117
|
+
test: /\.(j|t)s$/,
|
|
118
|
+
use: [
|
|
119
|
+
{
|
|
120
|
+
loader: 'builtin:swc-loader',
|
|
121
|
+
options: getSwcOptions({
|
|
122
|
+
tsx: false
|
|
123
|
+
})
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
test: /\.(j|t)sx$/,
|
|
129
|
+
use: [
|
|
130
|
+
{
|
|
131
|
+
loader: 'builtin:swc-loader',
|
|
132
|
+
options: getSwcOptions({
|
|
133
|
+
tsx: true
|
|
134
|
+
})
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
test: /\.less$/,
|
|
140
|
+
type: 'css/auto',
|
|
141
|
+
use: [
|
|
142
|
+
{
|
|
143
|
+
loader: (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getCompiledPkgPath)('less-loader'),
|
|
144
|
+
options: {
|
|
145
|
+
lessOptions: {
|
|
146
|
+
javascriptEnabled: true
|
|
147
|
+
},
|
|
148
|
+
implementation: (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getUserDepPath)(root, 'less')
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
test: /\.s[ac]ss$/i,
|
|
155
|
+
type: 'css/auto',
|
|
156
|
+
use: [
|
|
157
|
+
{
|
|
158
|
+
loader: (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getCompiledPkgPath)('sass-loader'),
|
|
159
|
+
options: {
|
|
160
|
+
api: 'modern-compiler',
|
|
161
|
+
implementation: (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getUserDepPath)(root, [
|
|
162
|
+
'sass-embedded',
|
|
163
|
+
'sass'
|
|
164
|
+
])
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
optimization: {
|
|
172
|
+
splitChunks: false
|
|
173
|
+
},
|
|
174
|
+
experiments: {
|
|
175
|
+
css: true
|
|
176
|
+
},
|
|
177
|
+
externals: {
|
|
178
|
+
react: getExternalValue('react'),
|
|
179
|
+
'react-dom': getExternalValue('react-dom'),
|
|
180
|
+
'react-router': getExternalValue('react-router'),
|
|
181
|
+
'react-router-dom': getExternalValue('react-router-dom')
|
|
182
|
+
}
|
|
290
183
|
});
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
184
|
+
compiler.run((_, stats)=>{
|
|
185
|
+
let isFailed = false;
|
|
186
|
+
if (null == stats ? void 0 : stats.hasErrors()) {
|
|
187
|
+
isFailed = true;
|
|
188
|
+
failedDeps.push(name);
|
|
189
|
+
(0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.removeDir)(outDir);
|
|
190
|
+
} else count.bundled++;
|
|
191
|
+
updateProgress();
|
|
192
|
+
compiler.close(()=>{
|
|
193
|
+
resolve(isFailed ? void 0 : getResult());
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
const userOptions = (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isPlainObject)(null === (_unpackConfig_dev = unpackConfig.dev) || void 0 === _unpackConfig_dev ? void 0 : _unpackConfig_dev.prebundle) ? unpackConfig.dev.prebundle : {};
|
|
198
|
+
const packageJson = JSON.parse(__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].readFileSync(__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(root, 'package.json'), 'utf-8'));
|
|
199
|
+
const existExternals = getExistExternals(unpackConfig.externals);
|
|
200
|
+
const excludeDeps = [
|
|
201
|
+
...existExternals || [],
|
|
202
|
+
...userOptions.exclude || []
|
|
203
|
+
];
|
|
204
|
+
const shouldIncludeDeps = Object.keys(packageJson.dependencies).filter((pkgName)=>!excludeDeps.includes(pkgName));
|
|
205
|
+
const noEntryDeps = [];
|
|
206
|
+
const needBundleDeps = shouldIncludeDeps.map((pkgName)=>{
|
|
207
|
+
const packageJson = JSON.parse(__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].readFileSync(__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(root, 'node_modules', pkgName, 'package.json'), 'utf-8'));
|
|
208
|
+
const entry = getPkgEntry(packageJson);
|
|
209
|
+
if (!entry) {
|
|
210
|
+
noEntryDeps.push(pkgName);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
name: pkgName,
|
|
215
|
+
entry: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(root, 'node_modules', pkgName, entry),
|
|
216
|
+
version: packageJson.version
|
|
217
|
+
};
|
|
218
|
+
}).filter(Boolean);
|
|
219
|
+
if (noEntryDeps[0]) __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__.logger.warn(`Could not find entry for "${__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].bold(noEntryDeps.join(', '))}"`);
|
|
220
|
+
const bundledDeps = await Promise.all(needBundleDeps.map((depInfo)=>bundleDep(depInfo)));
|
|
221
|
+
if (failedDeps[0]) __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__.logger.warn(`Something went wrong while optimizing "${__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].bold(failedDeps.join(', '))}"`);
|
|
222
|
+
const cachePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(root, __WEBPACK_EXTERNAL_MODULE__constants_js_e283b470__.TEMP_DIR, CACHE_DIR);
|
|
223
|
+
const app = (0, __WEBPACK_EXTERNAL_MODULE_express__["default"])();
|
|
224
|
+
app.use((0, __WEBPACK_EXTERNAL_MODULE_cors__["default"])());
|
|
225
|
+
app.use(`/${CACHE_DIR}`, __WEBPACK_EXTERNAL_MODULE_express__["default"].static(cachePath));
|
|
226
|
+
const port = await (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getPort)(3200);
|
|
227
|
+
const staticServer = app.listen(port, ()=>{});
|
|
228
|
+
__WEBPACK_EXTERNAL_MODULE__global_js_67e2b430__.restartCleaners.push(()=>new Promise((resolve)=>staticServer.close(()=>resolve())));
|
|
229
|
+
const externals = {};
|
|
230
|
+
const jsAssets = [];
|
|
231
|
+
const cssAssets = [];
|
|
232
|
+
const preJsAssets = [];
|
|
233
|
+
const ipv4Interfaces = (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.getIpv4Interfaces)();
|
|
234
|
+
bundledDeps.filter(Boolean).forEach((dep)=>{
|
|
235
|
+
externals[dep.name] = getExternalValue(dep.name);
|
|
236
|
+
dep.assets.forEach((absPath)=>{
|
|
237
|
+
const relativePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].relative(cachePath, absPath);
|
|
238
|
+
const preDeps = [
|
|
239
|
+
'react',
|
|
240
|
+
'react-dom',
|
|
241
|
+
'react-router',
|
|
242
|
+
'react-router-dom'
|
|
243
|
+
];
|
|
244
|
+
const serverPath = `//${ipv4Interfaces[1].address}:${port}/${CACHE_DIR}/${relativePath}`;
|
|
245
|
+
switch(__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].extname(relativePath)){
|
|
246
|
+
case '.js':
|
|
247
|
+
if (preDeps.includes(dep.name)) preJsAssets.push({
|
|
248
|
+
path: serverPath,
|
|
249
|
+
order: preDeps.indexOf(dep.name)
|
|
250
|
+
});
|
|
251
|
+
else jsAssets.push(serverPath);
|
|
252
|
+
break;
|
|
253
|
+
case '.css':
|
|
254
|
+
cssAssets.push(serverPath);
|
|
255
|
+
break;
|
|
256
|
+
default:
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
301
260
|
});
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
);
|
|
325
|
-
|
|
261
|
+
unpackConfig.externals = Array.isArray(unpackConfig.externals) ? [
|
|
262
|
+
externals,
|
|
263
|
+
...unpackConfig.externals
|
|
264
|
+
] : {
|
|
265
|
+
...externals,
|
|
266
|
+
...unpackConfig.externals
|
|
267
|
+
};
|
|
268
|
+
const HtmlPlugin = 'rspack' === unpackConfig.bundler ? __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__.rspack.HtmlRspackPlugin : __WEBPACK_EXTERNAL_MODULE_html_webpack_plugin_e07f62c9__["default"];
|
|
269
|
+
unpackConfig.plugins.push({
|
|
270
|
+
name: 'unpack:prebundle',
|
|
271
|
+
bundlerConfig: (config)=>{
|
|
272
|
+
const PLUGIN_NAME = 'PluginInjectAssets';
|
|
273
|
+
config.plugins.push({
|
|
274
|
+
apply: (compiler)=>{
|
|
275
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
|
|
276
|
+
HtmlPlugin.getCompilationHooks(compilation).beforeAssetTagGeneration.tapPromise(PLUGIN_NAME, async (args)=>{
|
|
277
|
+
args.assets.js.unshift(...preJsAssets.sort((a, b)=>a.order - b.order).map((item)=>item.path), ...jsAssets);
|
|
278
|
+
args.assets.css.unshift(...cssAssets);
|
|
279
|
+
return args;
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
return config;
|
|
326
285
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
return unpackConfig;
|
|
332
|
-
};
|
|
333
|
-
export {
|
|
334
|
-
prebundleDeps
|
|
286
|
+
});
|
|
287
|
+
return unpackConfig;
|
|
335
288
|
};
|
|
289
|
+
export { prebundleDeps };
|