@unpackjs/core 1.7.4 → 1.7.6

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.
Files changed (123) hide show
  1. package/compiled/css-loader/index.js +178 -178
  2. package/compiled/less-loader/index.js +11 -11
  3. package/compiled/line-diff/index.js +4 -4
  4. package/compiled/portfinder/index.js +37 -37
  5. package/compiled/postcss-loader/index.js +261 -256
  6. package/compiled/sass-loader/index.js +18 -18
  7. package/compiled/semver/index.js +188 -170
  8. package/compiled/semver/package.json +1 -1
  9. package/compiled/style-loader/index.js +13 -13
  10. package/compiled/webpack-bundle-analyzer/index.js +198 -198
  11. package/compiled/webpack-merge/index.js +29 -29
  12. package/dist/bundler-config/chunkSplit.cjs +169 -156
  13. package/dist/bundler-config/chunkSplit.d.ts +1 -1
  14. package/dist/bundler-config/chunkSplit.js +125 -134
  15. package/dist/bundler-config/css.cjs +181 -158
  16. package/dist/bundler-config/css.d.ts +1 -1
  17. package/dist/bundler-config/css.js +139 -151
  18. package/dist/bundler-config/experimentCss.cjs +203 -159
  19. package/dist/bundler-config/experimentCss.d.ts +1 -1
  20. package/dist/bundler-config/experimentCss.js +162 -152
  21. package/dist/bundler-config/helper.cjs +82 -78
  22. package/dist/bundler-config/helper.js +36 -55
  23. package/dist/bundler-config/index.cjs +260 -209
  24. package/dist/bundler-config/index.d.ts +1 -1
  25. package/dist/bundler-config/index.d.ts.map +1 -1
  26. package/dist/bundler-config/index.js +209 -182
  27. package/dist/bundler-config/jsMinify.cjs +114 -95
  28. package/dist/bundler-config/jsMinify.js +70 -73
  29. package/dist/colors.cjs +83 -56
  30. package/dist/colors.js +38 -37
  31. package/dist/config.cjs +107 -93
  32. package/dist/config.d.ts +1 -1
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +64 -70
  35. package/dist/constants.cjs +62 -62
  36. package/dist/constants.js +20 -38
  37. package/dist/createUnpack.cjs +111 -104
  38. package/dist/createUnpack.js +67 -82
  39. package/dist/global.cjs +36 -0
  40. package/dist/global.d.ts +2 -0
  41. package/dist/global.d.ts.map +1 -0
  42. package/dist/global.js +4 -0
  43. package/dist/index.cjs +174 -51
  44. package/dist/index.d.ts +2 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +33 -15
  47. package/dist/lightningcss/cache.cjs +40 -32
  48. package/dist/lightningcss/cache.js +10 -20
  49. package/dist/lightningcss/loader.cjs +56 -53
  50. package/dist/lightningcss/loader.d.ts +1 -1
  51. package/dist/lightningcss/loader.js +25 -34
  52. package/dist/lightningcss/minimizer.cjs +90 -109
  53. package/dist/lightningcss/minimizer.d.ts +1 -1
  54. package/dist/lightningcss/minimizer.js +59 -87
  55. package/dist/logger.cjs +104 -98
  56. package/dist/logger.d.ts +1 -1
  57. package/dist/logger.js +59 -76
  58. package/dist/openBrowser.cjs +104 -81
  59. package/dist/openBrowser.js +56 -52
  60. package/dist/plugin-progress/rspack.cjs +104 -79
  61. package/dist/plugin-progress/rspack.d.ts +1 -1
  62. package/dist/plugin-progress/rspack.js +59 -57
  63. package/dist/plugin-progress/webpack.cjs +111 -89
  64. package/dist/plugin-progress/webpack.d.ts +1 -1
  65. package/dist/plugin-progress/webpack.js +65 -67
  66. package/dist/plugin.cjs +38 -29
  67. package/dist/plugin.js +8 -17
  68. package/dist/prebundleDeps.cjs +327 -337
  69. package/dist/prebundleDeps.d.ts.map +1 -1
  70. package/dist/prebundleDeps.js +278 -324
  71. package/dist/progressBar.cjs +82 -65
  72. package/dist/progressBar.js +38 -43
  73. package/dist/reporter.cjs +135 -120
  74. package/dist/reporter.js +88 -98
  75. package/dist/run/build.cjs +68 -67
  76. package/dist/run/build.d.ts +1 -1
  77. package/dist/run/build.js +24 -45
  78. package/dist/run/dev.cjs +96 -83
  79. package/dist/run/dev.d.ts +1 -1
  80. package/dist/run/dev.d.ts.map +1 -1
  81. package/dist/run/dev.js +50 -61
  82. package/dist/run/index.cjs +74 -21
  83. package/dist/run/index.js +2 -9
  84. package/dist/typed-css-modules/loader.cjs +179 -188
  85. package/dist/typed-css-modules/loader.d.ts +1 -1
  86. package/dist/typed-css-modules/loader.js +118 -151
  87. package/dist/typed-css-modules/plugin.cjs +113 -88
  88. package/dist/typed-css-modules/plugin.d.ts +1 -1
  89. package/dist/typed-css-modules/plugin.js +68 -66
  90. package/dist/typed-css-modules/utils.cjs +43 -42
  91. package/dist/typed-css-modules/utils.d.ts +1 -1
  92. package/dist/typed-css-modules/utils.js +13 -30
  93. package/dist/types/chunkSplit.cjs +19 -15
  94. package/dist/types/chunkSplit.d.ts +2 -10
  95. package/dist/types/chunkSplit.d.ts.map +1 -1
  96. package/dist/types/chunkSplit.js +2 -9
  97. package/dist/types/config.cjs +19 -15
  98. package/dist/types/config.d.ts +1 -5
  99. package/dist/types/config.d.ts.map +1 -1
  100. package/dist/types/config.js +2 -9
  101. package/dist/types/index.cjs +101 -27
  102. package/dist/types/index.js +2 -9
  103. package/dist/types/lightningcss.cjs +19 -15
  104. package/dist/types/lightningcss.js +2 -9
  105. package/dist/types/logger.cjs +43 -34
  106. package/dist/types/logger.js +13 -22
  107. package/dist/types/plugin.cjs +19 -15
  108. package/dist/types/plugin.js +2 -9
  109. package/dist/utils.cjs +280 -304
  110. package/dist/utils.js +195 -241
  111. package/dist/watchFiles.cjs +73 -0
  112. package/dist/watchFiles.d.ts +3 -0
  113. package/dist/watchFiles.d.ts.map +1 -0
  114. package/dist/watchFiles.js +27 -0
  115. package/package.json +14 -17
  116. package/compiled/commander/index.d.ts +0 -971
  117. package/compiled/commander/index.js +0 -2190
  118. package/compiled/commander/license +0 -22
  119. package/compiled/commander/package.json +0 -1
  120. package/dist/bundleRequire.cjs +0 -200
  121. package/dist/bundleRequire.d.ts +0 -5
  122. package/dist/bundleRequire.d.ts.map +0 -1
  123. package/dist/bundleRequire.js +0 -173
@@ -1 +1 @@
1
- {"version":3,"file":"prebundleDeps.d.ts","sourceRoot":"","sources":["../src/prebundleDeps.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA8N3C,eAAO,MAAM,aAAa,sBAEvB;IACD,YAAY,EAAE,YAAY,CAAA;CAC3B,KAAG,OAAO,CAAC,YAAY,CA2GvB,CAAA"}
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"}
@@ -1,335 +1,289 @@
1
- import { createRequire } from 'node:module';
2
- var require = createRequire(import.meta['url']);
3
-
4
- import path from "path";
5
- import { fileURLToPath } from "url";
6
- var getFilename = () => fileURLToPath(import.meta.url);
7
- var getDirname = () => path.dirname(getFilename());
8
- var __dirname = /* @__PURE__ */ getDirname();
9
- var __filename = /* @__PURE__ */ getFilename();
10
- import fs from "node:fs";
11
- import path2 from "node:path";
12
- import { rspack } from "@rspack/core";
13
- import cors from "cors";
14
- import express from "express";
15
- import HtmlWebpackPlugin from "html-webpack-plugin";
16
- import { globSync } from "tinyglobby";
17
- import colors from "./colors.js";
18
- import { TEMP_DIR } from "./constants.js";
19
- import { logger } from "./logger.js";
20
- import {
21
- getCompiledPkgPath,
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
- const compiler = rspack({
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 getExistExternals = (externals) => {
198
- const existExternals = /* @__PURE__ */ new Set();
199
- if (Array.isArray(externals)) {
200
- externals.forEach((item) => {
201
- if (isPlainObject(item)) {
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
- } else if (isPlainObject(externals)) {
206
- Object.keys(externals).forEach((key) => existExternals.add(key));
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
- if (packageJson.module)
212
- return packageJson.module;
213
- if (packageJson.exports) {
214
- if (isString(packageJson.exports))
215
- return packageJson.exports;
216
- const defaultExport = packageJson.exports["."];
217
- if (defaultExport) {
218
- if (isString(defaultExport))
219
- return defaultExport;
220
- if (isString(defaultExport.import))
221
- return defaultExport.import;
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 (isString(packageJson.exports.default))
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
- unpackConfig
235
- }) => {
236
- const userOptions = isPlainObject(unpackConfig.dev?.prebundle) ? unpackConfig.dev.prebundle : {};
237
- const { root } = unpackConfig;
238
- const packageJson = JSON.parse(fs.readFileSync(path2.resolve(root, "package.json"), "utf-8"));
239
- const existExternals = getExistExternals(unpackConfig.externals);
240
- const excludeDeps = [...existExternals || [], ...userOptions.exclude || []];
241
- const shouldIncludeDeps = Object.keys(packageJson.dependencies).filter(
242
- (pkgName) => !excludeDeps.includes(pkgName)
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
- }).filter(Boolean);
259
- if (noEntryDeps[0]) {
260
- logger.warn(`Could not find entry for "${colors.bold(noEntryDeps.join(", "))}"`);
261
- }
262
- const bundledDeps = await Promise.all(
263
- needBundleDeps.map((depInfo) => bundleDep({ root, ...depInfo }))
264
- );
265
- if (failedDeps[0]) {
266
- logger.warn(`Something went wrong while optimizing "${colors.bold(failedDeps.join(", "))}"`);
267
- }
268
- const cachePath = path2.resolve(root, TEMP_DIR, CACHE_DIR);
269
- app.use(`/${CACHE_DIR}`, express.static(cachePath));
270
- const port = await getPort(3200);
271
- app.listen(port, () => {
272
- });
273
- const externals = {};
274
- const jsAssets = [];
275
- const cssAssets = [];
276
- const preJsAssets = [];
277
- const ipv4Interfaces = getIpv4Interfaces();
278
- bundledDeps.filter(Boolean).forEach((dep) => {
279
- externals[dep.name] = getExternalValue(dep.name);
280
- dep.assets.forEach((absPath) => {
281
- const relativePath = path2.relative(cachePath, absPath);
282
- const preDeps = ["react", "react-dom", "react-router", "react-router-dom"];
283
- const serverPath = `//${ipv4Interfaces[1].address}:${port}/${CACHE_DIR}/${relativePath}`;
284
- switch (path2.extname(relativePath)) {
285
- case ".js":
286
- if (preDeps.includes(dep.name)) {
287
- preJsAssets.push({
288
- path: serverPath,
289
- order: preDeps.indexOf(dep.name)
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
- } else {
292
- jsAssets.push(serverPath);
293
- }
294
- break;
295
- case ".css":
296
- cssAssets.push(serverPath);
297
- break;
298
- default:
299
- break;
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
- unpackConfig.externals = Array.isArray(unpackConfig.externals) ? [externals, ...unpackConfig.externals] : { ...externals, ...unpackConfig.externals };
304
- const HtmlPlugin = unpackConfig.bundler === "rspack" ? rspack.HtmlRspackPlugin : HtmlWebpackPlugin;
305
- unpackConfig.plugins.push({
306
- name: "unpack:prebundle",
307
- bundlerConfig: (config) => {
308
- const PLUGIN_NAME = "PluginInjectAssets";
309
- config.plugins.push({
310
- apply: (compiler) => {
311
- compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
312
- HtmlPlugin.getCompilationHooks(compilation).beforeAssetTagGeneration.tapPromise(
313
- PLUGIN_NAME,
314
- async (args) => {
315
- args.assets.js.unshift(
316
- ...[
317
- ...preJsAssets.sort((a, b) => a.order - b.order).map((item) => item.path),
318
- ...jsAssets
319
- ]
320
- );
321
- args.assets.css.unshift(...cssAssets);
322
- return args;
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
- return config;
329
- }
330
- });
331
- return unpackConfig;
332
- };
333
- export {
334
- prebundleDeps
286
+ });
287
+ return unpackConfig;
335
288
  };
289
+ export { prebundleDeps };