@modern-js/app-tools 2.58.1-alpha.4 → 2.58.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +12 -0
- package/dist/cjs/commands/inspect.js +1 -1
- package/dist/cjs/plugins/deploy/dependencies/index.js +1 -15
- package/dist/cjs/plugins/deploy/dependencies/utils.js +2 -78
- package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +31 -2
- package/dist/esm/commands/inspect.js +1 -1
- package/dist/esm/plugins/deploy/dependencies/index.js +2 -17
- package/dist/esm/plugins/deploy/dependencies/utils.js +5 -282
- package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +13 -1
- package/dist/esm-node/commands/inspect.js +1 -1
- package/dist/esm-node/plugins/deploy/dependencies/index.js +1 -15
- package/dist/esm-node/plugins/deploy/dependencies/utils.js +2 -78
- package/dist/types/plugins/deploy/dependencies/index.d.ts +3 -5
- package/dist/types/plugins/deploy/dependencies/utils.d.ts +1 -8
- package/package.json +19 -20
@@ -103,7 +103,11 @@ class RouterPlugin {
|
|
103
103
|
routeAssets: {}
|
104
104
|
});
|
105
105
|
const prevManifest = JSON.parse(prevManifestStr);
|
106
|
+
const asyncEntryNames = [];
|
106
107
|
for (const [name, chunkGroup] of Object.entries(namedChunkGroups)) {
|
108
|
+
if (name.startsWith("async-")) {
|
109
|
+
asyncEntryNames.push(name);
|
110
|
+
}
|
107
111
|
const assets = chunkGroup.assets.map((asset) => {
|
108
112
|
const filename = asset.name;
|
109
113
|
return publicPath ? normalizePath(publicPath) + filename : filename;
|
@@ -123,6 +127,14 @@ class RouterPlugin {
|
|
123
127
|
});
|
124
128
|
}
|
125
129
|
}
|
130
|
+
if (asyncEntryNames.length > 0) {
|
131
|
+
for (const asyncEntryName of asyncEntryNames) {
|
132
|
+
const syncEntryName = asyncEntryName.replace("async-", "");
|
133
|
+
const syncEntry = routeAssets[syncEntryName];
|
134
|
+
const asyncEntry = routeAssets[asyncEntryName];
|
135
|
+
(0, import_lodash.merge)(syncEntry, asyncEntry);
|
136
|
+
}
|
137
|
+
}
|
126
138
|
const manifest = {
|
127
139
|
routeAssets
|
128
140
|
};
|
@@ -27,7 +27,7 @@ const inspect = async (api, options) => {
|
|
27
27
|
throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
|
28
28
|
}
|
29
29
|
return appContext.builder.inspectConfig({
|
30
|
-
|
30
|
+
mode: options.env,
|
31
31
|
verbose: options.verbose,
|
32
32
|
outputPath: options.output,
|
33
33
|
writeToDisk: true
|
@@ -38,27 +38,15 @@ var import_pkg_types = require("pkg-types");
|
|
38
38
|
var import_mlly = require("mlly");
|
39
39
|
var import_utils2 = require("./utils");
|
40
40
|
var import_nft = require("@vercel/nft");
|
41
|
-
const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = import_utils2.traceFiles, entryFilter, modifyPackageJson, copyWholePackage,
|
42
|
-
cacheDir: ".modern-js/deploy",
|
43
|
-
analysisCache: true,
|
44
|
-
fileCache: false,
|
45
|
-
symlinkCache: false
|
46
|
-
}, traceOptions }) => {
|
41
|
+
const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = import_utils2.traceFiles, entryFilter, modifyPackageJson, copyWholePackage, traceOptions }) => {
|
47
42
|
const base = "/";
|
48
|
-
const startTime = Date.now();
|
49
43
|
const entryFiles = await (0, import_utils2.findEntryFiles)(serverRootDir, entryFilter);
|
50
|
-
console.time("traceFiles");
|
51
44
|
const fileTrace = await traceFiles({
|
52
45
|
entryFiles: entryFiles.concat(includeEntries),
|
53
46
|
serverRootDir,
|
54
|
-
cacheOptions: {
|
55
|
-
...cacheOptions,
|
56
|
-
cacheDir: import_node_path.default.resolve(appDir, cacheOptions.cacheDir)
|
57
|
-
},
|
58
47
|
base,
|
59
48
|
traceOptions
|
60
49
|
});
|
61
|
-
console.timeEnd("traceFiles");
|
62
50
|
const currentProjectModules = import_node_path.default.join(appDir, "node_modules");
|
63
51
|
const dependencySearchRoot = import_node_path.default.resolve(appDir, "../../../../../../");
|
64
52
|
const tracedFiles = Object.fromEntries(await Promise.all([
|
@@ -240,8 +228,6 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
240
228
|
};
|
241
229
|
const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
|
242
230
|
await import_utils.fs.writeJSON(outputPkgPath, finalPkgJson);
|
243
|
-
const endTime = Date.now();
|
244
|
-
console.log("handleDependencies cost:", `${endTime - startTime}ms`);
|
245
231
|
};
|
246
232
|
// Annotate the CommonJS export names for ESM import in node:
|
247
233
|
0 && (module.exports = {
|
@@ -139,88 +139,12 @@ const findPackageParents = (pkg, version, tracedFiles) => {
|
|
139
139
|
];
|
140
140
|
return parentPkgs.filter((parentPkg) => parentPkg);
|
141
141
|
};
|
142
|
-
async
|
143
|
-
|
144
|
-
await Promise.all(Array.from(map.entries()).map(async ([key, value]) => {
|
145
|
-
resolvedMap.set(key, value instanceof Promise ? await Promise.resolve(value) : value);
|
146
|
-
}));
|
147
|
-
return JSON.stringify(resolvedMap, (key, value) => {
|
148
|
-
if (value === null) {
|
149
|
-
return void 0;
|
150
|
-
}
|
151
|
-
if (value instanceof Map) {
|
152
|
-
return {
|
153
|
-
dataType: "Map",
|
154
|
-
value: Array.from(value.entries())
|
155
|
-
};
|
156
|
-
}
|
157
|
-
if (value instanceof Set) {
|
158
|
-
return {
|
159
|
-
dataType: "Set",
|
160
|
-
value: Array.from(value)
|
161
|
-
};
|
162
|
-
}
|
163
|
-
return value;
|
164
|
-
});
|
165
|
-
}
|
166
|
-
function deserializeMap(serializedData) {
|
167
|
-
return JSON.parse(serializedData, (key, value) => {
|
168
|
-
if (value && value.dataType === "Map") {
|
169
|
-
return new Map(value.value);
|
170
|
-
}
|
171
|
-
if (value && value.dataType === "Set") {
|
172
|
-
return new Set(value.value);
|
173
|
-
}
|
174
|
-
return value;
|
175
|
-
});
|
176
|
-
}
|
177
|
-
const loadCache = async (filePath, enabled) => {
|
178
|
-
if (enabled && await import_utils.fs.pathExists(filePath)) {
|
179
|
-
console.log("load cache:", filePath);
|
180
|
-
const data = (await import_utils.fs.readFile(filePath)).toString();
|
181
|
-
return deserializeMap(data);
|
182
|
-
}
|
183
|
-
return void 0;
|
184
|
-
};
|
185
|
-
const writeCache = async (filePath, cacheMap) => {
|
186
|
-
const newCacheMap = /* @__PURE__ */ new Map();
|
187
|
-
for (const [key, value] of cacheMap.entries()) {
|
188
|
-
if (key.includes("node_modules/")) {
|
189
|
-
newCacheMap.set(key, value);
|
190
|
-
}
|
191
|
-
}
|
192
|
-
await import_utils.fs.writeFile(filePath, await serializeMap(newCacheMap));
|
193
|
-
console.log(`write ${import_path.default.basename(filePath)} finish`);
|
194
|
-
};
|
195
|
-
const traceFiles = async ({ entryFiles, serverRootDir, base = "/", cacheOptions, traceOptions }) => {
|
196
|
-
const { cacheDir, fileCache, analysisCache, symlinkCache } = cacheOptions;
|
197
|
-
const analysisCacheFile = import_path.default.join(cacheDir, "analysis-cache.json");
|
198
|
-
const fileCacheFile = import_path.default.join(cacheDir, "file-cache.json");
|
199
|
-
const symlinkCacheFile = import_path.default.join(cacheDir, "symlink-cache.json");
|
200
|
-
const cache = {
|
201
|
-
analysisCache: await loadCache(analysisCacheFile, analysisCache),
|
202
|
-
fileCache: await loadCache(fileCacheFile, fileCache),
|
203
|
-
symlinkCache: await loadCache(symlinkCacheFile, symlinkCache)
|
204
|
-
};
|
205
|
-
const res = await (0, import_nft.nodeFileTrace)(entryFiles, {
|
142
|
+
const traceFiles = async ({ entryFiles, serverRootDir, base = "/", traceOptions }) => {
|
143
|
+
return await (0, import_nft.nodeFileTrace)(entryFiles, {
|
206
144
|
base,
|
207
145
|
processCwd: serverRootDir,
|
208
|
-
cache,
|
209
146
|
...traceOptions
|
210
147
|
});
|
211
|
-
if (analysisCache || fileCache || symlinkCache) {
|
212
|
-
await import_utils.fs.ensureDir(cacheDir);
|
213
|
-
if (cache.analysisCache && analysisCache) {
|
214
|
-
await writeCache(analysisCacheFile, cache.analysisCache);
|
215
|
-
}
|
216
|
-
if (cache.fileCache && fileCache) {
|
217
|
-
await writeCache(fileCacheFile, cache.fileCache);
|
218
|
-
}
|
219
|
-
if (cache.symlinkCache && symlinkCache) {
|
220
|
-
await writeCache(symlinkCacheFile, cache.symlinkCache);
|
221
|
-
}
|
222
|
-
}
|
223
|
-
return res;
|
224
148
|
};
|
225
149
|
const resolveTracedPath = async (base, p) => import_utils.fs.realpath(import_path.default.resolve(base, p));
|
226
150
|
const isSubPath = (parentPath, childPath) => {
|
@@ -4,7 +4,7 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
4
4
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
5
5
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
6
6
|
import { createHash } from "crypto";
|
7
|
-
import { mergeWith } from "@modern-js/utils/lodash";
|
7
|
+
import { merge, mergeWith } from "@modern-js/utils/lodash";
|
8
8
|
import { ROUTE_MANIFEST_FILE } from "@modern-js/utils";
|
9
9
|
import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
|
10
10
|
var PLUGIN_NAME = "ModernjsRoutePlugin";
|
@@ -86,7 +86,7 @@ var RouterPlugin = /* @__PURE__ */ function() {
|
|
86
86
|
name: PLUGIN_NAME,
|
87
87
|
stage: Compilation.PROCESS_ASSETS_STAGE_REPORT
|
88
88
|
}, /* @__PURE__ */ _async_to_generator(function() {
|
89
|
-
var _loop, stats, publicPath, _stats_chunks, chunks, namedChunkGroups, routeAssets, prevManifestAsset, prevManifestStr, prevManifest, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, chunkGroup, assets, referenceCssAssets, manifest, entryNames, entryChunks, orignalEntryIds, entryChunkFiles, entryChunkFileIds, i;
|
89
|
+
var _loop, stats, publicPath, _stats_chunks, chunks, namedChunkGroups, routeAssets, prevManifestAsset, prevManifestStr, prevManifest, asyncEntryNames, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, chunkGroup, assets, referenceCssAssets, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, asyncEntryName, syncEntryName, syncEntry, asyncEntry, manifest, entryNames, entryChunks, orignalEntryIds, entryChunkFiles, entryChunkFileIds, i;
|
90
90
|
return _ts_generator(this, function(_state) {
|
91
91
|
_loop = function(i2) {
|
92
92
|
var entryName = entryNames[i2];
|
@@ -200,10 +200,14 @@ var RouterPlugin = /* @__PURE__ */ function() {
|
|
200
200
|
routeAssets: {}
|
201
201
|
});
|
202
202
|
prevManifest = JSON.parse(prevManifestStr);
|
203
|
+
asyncEntryNames = [];
|
203
204
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
204
205
|
try {
|
205
206
|
for (_iterator = Object.entries(namedChunkGroups)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
206
207
|
_step_value = _sliced_to_array(_step.value, 2), name = _step_value[0], chunkGroup = _step_value[1];
|
208
|
+
if (name.startsWith("async-")) {
|
209
|
+
asyncEntryNames.push(name);
|
210
|
+
}
|
207
211
|
assets = chunkGroup.assets.map(function(asset) {
|
208
212
|
var filename = asset.name;
|
209
213
|
return publicPath ? normalizePath(publicPath) + filename : filename;
|
@@ -239,6 +243,31 @@ var RouterPlugin = /* @__PURE__ */ function() {
|
|
239
243
|
}
|
240
244
|
}
|
241
245
|
}
|
246
|
+
if (asyncEntryNames.length > 0) {
|
247
|
+
_iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
248
|
+
try {
|
249
|
+
for (_iterator1 = asyncEntryNames[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
250
|
+
asyncEntryName = _step1.value;
|
251
|
+
syncEntryName = asyncEntryName.replace("async-", "");
|
252
|
+
syncEntry = routeAssets[syncEntryName];
|
253
|
+
asyncEntry = routeAssets[asyncEntryName];
|
254
|
+
merge(syncEntry, asyncEntry);
|
255
|
+
}
|
256
|
+
} catch (err) {
|
257
|
+
_didIteratorError1 = true;
|
258
|
+
_iteratorError1 = err;
|
259
|
+
} finally {
|
260
|
+
try {
|
261
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
262
|
+
_iterator1.return();
|
263
|
+
}
|
264
|
+
} finally {
|
265
|
+
if (_didIteratorError1) {
|
266
|
+
throw _iteratorError1;
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
270
|
+
}
|
242
271
|
manifest = {
|
243
272
|
routeAssets
|
244
273
|
};
|
@@ -1,6 +1,4 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
3
|
-
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
4
2
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
5
3
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
6
4
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
@@ -13,40 +11,29 @@ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaul
|
|
13
11
|
import { nodeFileTrace } from "@vercel/nft";
|
14
12
|
var handleDependencies = function() {
|
15
13
|
var _ref = _async_to_generator(function(param) {
|
16
|
-
var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage,
|
14
|
+
var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, traceOptions, base, entryFiles, fileTrace, currentProjectModules, dependencySearchRoot, tracedFiles, _, tracedPackages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, tracedFile, pkgName, tracedPackage, pkgJSON, tracedPackageVersion, shouldCopyWholePackage, _tracedPackageVersion_files, allFiles, err, multiVersionPkgs, singleVersionPackages, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tracedPackage1, versions, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, version, projectPkgJson, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _loop, _iterator3, _step3, err, outputPkgPath, newPkgJson, finalPkgJson;
|
17
15
|
return _ts_generator(this, function(_state) {
|
18
16
|
switch (_state.label) {
|
19
17
|
case 0:
|
20
|
-
appDir = param.appDir, serverRootDir = param.serverRootDir, includeEntries = param.includeEntries, _param_traceFiles = param.traceFiles, traceFiles = _param_traceFiles === void 0 ? defaultTraceFiles : _param_traceFiles, entryFilter = param.entryFilter, modifyPackageJson = param.modifyPackageJson, copyWholePackage = param.copyWholePackage,
|
21
|
-
cacheDir: ".modern-js/deploy",
|
22
|
-
analysisCache: true,
|
23
|
-
fileCache: false,
|
24
|
-
symlinkCache: false
|
25
|
-
} : _param_cacheOptions, traceOptions = param.traceOptions;
|
18
|
+
appDir = param.appDir, serverRootDir = param.serverRootDir, includeEntries = param.includeEntries, _param_traceFiles = param.traceFiles, traceFiles = _param_traceFiles === void 0 ? defaultTraceFiles : _param_traceFiles, entryFilter = param.entryFilter, modifyPackageJson = param.modifyPackageJson, copyWholePackage = param.copyWholePackage, traceOptions = param.traceOptions;
|
26
19
|
base = "/";
|
27
|
-
startTime = Date.now();
|
28
20
|
return [
|
29
21
|
4,
|
30
22
|
findEntryFiles(serverRootDir, entryFilter)
|
31
23
|
];
|
32
24
|
case 1:
|
33
25
|
entryFiles = _state.sent();
|
34
|
-
console.time("traceFiles");
|
35
26
|
return [
|
36
27
|
4,
|
37
28
|
traceFiles({
|
38
29
|
entryFiles: entryFiles.concat(includeEntries),
|
39
30
|
serverRootDir,
|
40
|
-
cacheOptions: _object_spread_props(_object_spread({}, cacheOptions), {
|
41
|
-
cacheDir: path.resolve(appDir, cacheOptions.cacheDir)
|
42
|
-
}),
|
43
31
|
base,
|
44
32
|
traceOptions
|
45
33
|
})
|
46
34
|
];
|
47
35
|
case 2:
|
48
36
|
fileTrace = _state.sent();
|
49
|
-
console.timeEnd("traceFiles");
|
50
37
|
currentProjectModules = path.join(appDir, "node_modules");
|
51
38
|
dependencySearchRoot = path.resolve(appDir, "../../../../../../");
|
52
39
|
_ = Object.fromEntries;
|
@@ -611,8 +598,6 @@ var handleDependencies = function() {
|
|
611
598
|
];
|
612
599
|
case 24:
|
613
600
|
_state.sent();
|
614
|
-
endTime = Date.now();
|
615
|
-
console.log("handleDependencies cost:", "".concat(endTime - startTime, "ms"));
|
616
601
|
return [
|
617
602
|
2
|
618
603
|
];
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
-
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
3
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
4
|
-
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
5
3
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
6
4
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
7
5
|
import path from "path";
|
@@ -337,299 +335,24 @@ var findPackageParents = function(pkg, version, tracedFiles) {
|
|
337
335
|
return parentPkg;
|
338
336
|
});
|
339
337
|
};
|
340
|
-
function serializeMap(map) {
|
341
|
-
return _serializeMap.apply(this, arguments);
|
342
|
-
}
|
343
|
-
function _serializeMap() {
|
344
|
-
_serializeMap = _async_to_generator(function(map) {
|
345
|
-
var resolvedMap;
|
346
|
-
return _ts_generator(this, function(_state) {
|
347
|
-
switch (_state.label) {
|
348
|
-
case 0:
|
349
|
-
resolvedMap = /* @__PURE__ */ new Map();
|
350
|
-
return [
|
351
|
-
4,
|
352
|
-
Promise.all(Array.from(map.entries()).map(function() {
|
353
|
-
var _ref = _async_to_generator(function(param) {
|
354
|
-
var _param, key, value, _, _tmp, _tmp1;
|
355
|
-
return _ts_generator(this, function(_state2) {
|
356
|
-
switch (_state2.label) {
|
357
|
-
case 0:
|
358
|
-
_param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
359
|
-
_ = resolvedMap.set;
|
360
|
-
_tmp = [
|
361
|
-
key
|
362
|
-
];
|
363
|
-
if (!_instanceof(value, Promise))
|
364
|
-
return [
|
365
|
-
3,
|
366
|
-
2
|
367
|
-
];
|
368
|
-
return [
|
369
|
-
4,
|
370
|
-
Promise.resolve(value)
|
371
|
-
];
|
372
|
-
case 1:
|
373
|
-
_tmp1 = _state2.sent();
|
374
|
-
return [
|
375
|
-
3,
|
376
|
-
3
|
377
|
-
];
|
378
|
-
case 2:
|
379
|
-
_tmp1 = value;
|
380
|
-
_state2.label = 3;
|
381
|
-
case 3:
|
382
|
-
_.apply(resolvedMap, _tmp.concat([
|
383
|
-
_tmp1
|
384
|
-
]));
|
385
|
-
return [
|
386
|
-
2
|
387
|
-
];
|
388
|
-
}
|
389
|
-
});
|
390
|
-
});
|
391
|
-
return function(_) {
|
392
|
-
return _ref.apply(this, arguments);
|
393
|
-
};
|
394
|
-
}()))
|
395
|
-
];
|
396
|
-
case 1:
|
397
|
-
_state.sent();
|
398
|
-
return [
|
399
|
-
2,
|
400
|
-
JSON.stringify(resolvedMap, function(key, value) {
|
401
|
-
if (value === null) {
|
402
|
-
return void 0;
|
403
|
-
}
|
404
|
-
if (_instanceof(value, Map)) {
|
405
|
-
return {
|
406
|
-
dataType: "Map",
|
407
|
-
value: Array.from(value.entries())
|
408
|
-
};
|
409
|
-
}
|
410
|
-
if (_instanceof(value, Set)) {
|
411
|
-
return {
|
412
|
-
dataType: "Set",
|
413
|
-
value: Array.from(value)
|
414
|
-
};
|
415
|
-
}
|
416
|
-
return value;
|
417
|
-
})
|
418
|
-
];
|
419
|
-
}
|
420
|
-
});
|
421
|
-
});
|
422
|
-
return _serializeMap.apply(this, arguments);
|
423
|
-
}
|
424
|
-
function deserializeMap(serializedData) {
|
425
|
-
return JSON.parse(serializedData, function(key, value) {
|
426
|
-
if (value && value.dataType === "Map") {
|
427
|
-
return new Map(value.value);
|
428
|
-
}
|
429
|
-
if (value && value.dataType === "Set") {
|
430
|
-
return new Set(value.value);
|
431
|
-
}
|
432
|
-
return value;
|
433
|
-
});
|
434
|
-
}
|
435
|
-
var loadCache = function() {
|
436
|
-
var _ref = _async_to_generator(function(filePath, enabled) {
|
437
|
-
var _tmp, data;
|
438
|
-
return _ts_generator(this, function(_state) {
|
439
|
-
switch (_state.label) {
|
440
|
-
case 0:
|
441
|
-
_tmp = enabled;
|
442
|
-
if (!_tmp)
|
443
|
-
return [
|
444
|
-
3,
|
445
|
-
2
|
446
|
-
];
|
447
|
-
return [
|
448
|
-
4,
|
449
|
-
fse.pathExists(filePath)
|
450
|
-
];
|
451
|
-
case 1:
|
452
|
-
_tmp = _state.sent();
|
453
|
-
_state.label = 2;
|
454
|
-
case 2:
|
455
|
-
if (!_tmp)
|
456
|
-
return [
|
457
|
-
3,
|
458
|
-
4
|
459
|
-
];
|
460
|
-
console.log("load cache:", filePath);
|
461
|
-
return [
|
462
|
-
4,
|
463
|
-
fse.readFile(filePath)
|
464
|
-
];
|
465
|
-
case 3:
|
466
|
-
data = _state.sent().toString();
|
467
|
-
return [
|
468
|
-
2,
|
469
|
-
deserializeMap(data)
|
470
|
-
];
|
471
|
-
case 4:
|
472
|
-
return [
|
473
|
-
2,
|
474
|
-
void 0
|
475
|
-
];
|
476
|
-
}
|
477
|
-
});
|
478
|
-
});
|
479
|
-
return function loadCache2(filePath, enabled) {
|
480
|
-
return _ref.apply(this, arguments);
|
481
|
-
};
|
482
|
-
}();
|
483
|
-
var writeCache = function() {
|
484
|
-
var _ref = _async_to_generator(function(filePath, cacheMap) {
|
485
|
-
var newCacheMap, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, key, value, _, _tmp;
|
486
|
-
return _ts_generator(this, function(_state) {
|
487
|
-
switch (_state.label) {
|
488
|
-
case 0:
|
489
|
-
newCacheMap = /* @__PURE__ */ new Map();
|
490
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
491
|
-
try {
|
492
|
-
for (_iterator = cacheMap.entries()[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
493
|
-
_step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
|
494
|
-
if (key.includes("node_modules/")) {
|
495
|
-
newCacheMap.set(key, value);
|
496
|
-
}
|
497
|
-
}
|
498
|
-
} catch (err) {
|
499
|
-
_didIteratorError = true;
|
500
|
-
_iteratorError = err;
|
501
|
-
} finally {
|
502
|
-
try {
|
503
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
504
|
-
_iterator.return();
|
505
|
-
}
|
506
|
-
} finally {
|
507
|
-
if (_didIteratorError) {
|
508
|
-
throw _iteratorError;
|
509
|
-
}
|
510
|
-
}
|
511
|
-
}
|
512
|
-
_ = fse.writeFile;
|
513
|
-
_tmp = [
|
514
|
-
filePath
|
515
|
-
];
|
516
|
-
return [
|
517
|
-
4,
|
518
|
-
serializeMap(newCacheMap)
|
519
|
-
];
|
520
|
-
case 1:
|
521
|
-
return [
|
522
|
-
4,
|
523
|
-
_.apply(fse, _tmp.concat([
|
524
|
-
_state.sent()
|
525
|
-
]))
|
526
|
-
];
|
527
|
-
case 2:
|
528
|
-
_state.sent();
|
529
|
-
console.log("write ".concat(path.basename(filePath), " finish"));
|
530
|
-
return [
|
531
|
-
2
|
532
|
-
];
|
533
|
-
}
|
534
|
-
});
|
535
|
-
});
|
536
|
-
return function writeCache2(filePath, cacheMap) {
|
537
|
-
return _ref.apply(this, arguments);
|
538
|
-
};
|
539
|
-
}();
|
540
338
|
var traceFiles = function() {
|
541
339
|
var _ref = _async_to_generator(function(param) {
|
542
|
-
var entryFiles, serverRootDir, _param_base, base,
|
340
|
+
var entryFiles, serverRootDir, _param_base, base, traceOptions;
|
543
341
|
return _ts_generator(this, function(_state) {
|
544
342
|
switch (_state.label) {
|
545
343
|
case 0:
|
546
|
-
entryFiles = param.entryFiles, serverRootDir = param.serverRootDir, _param_base = param.base, base = _param_base === void 0 ? "/" : _param_base,
|
547
|
-
cacheDir = cacheOptions.cacheDir, fileCache = cacheOptions.fileCache, analysisCache = cacheOptions.analysisCache, symlinkCache = cacheOptions.symlinkCache;
|
548
|
-
analysisCacheFile = path.join(cacheDir, "analysis-cache.json");
|
549
|
-
fileCacheFile = path.join(cacheDir, "file-cache.json");
|
550
|
-
symlinkCacheFile = path.join(cacheDir, "symlink-cache.json");
|
551
|
-
_tmp = {};
|
552
|
-
return [
|
553
|
-
4,
|
554
|
-
loadCache(analysisCacheFile, analysisCache)
|
555
|
-
];
|
556
|
-
case 1:
|
557
|
-
_tmp.analysisCache = _state.sent();
|
558
|
-
return [
|
559
|
-
4,
|
560
|
-
loadCache(fileCacheFile, fileCache)
|
561
|
-
];
|
562
|
-
case 2:
|
563
|
-
_tmp.fileCache = _state.sent();
|
564
|
-
return [
|
565
|
-
4,
|
566
|
-
loadCache(symlinkCacheFile, symlinkCache)
|
567
|
-
];
|
568
|
-
case 3:
|
569
|
-
cache = (_tmp.symlinkCache = _state.sent(), _tmp);
|
344
|
+
entryFiles = param.entryFiles, serverRootDir = param.serverRootDir, _param_base = param.base, base = _param_base === void 0 ? "/" : _param_base, traceOptions = param.traceOptions;
|
570
345
|
return [
|
571
346
|
4,
|
572
347
|
nodeFileTrace(entryFiles, _object_spread({
|
573
348
|
base,
|
574
|
-
processCwd: serverRootDir
|
575
|
-
cache
|
349
|
+
processCwd: serverRootDir
|
576
350
|
}, traceOptions))
|
577
351
|
];
|
578
|
-
case
|
579
|
-
res = _state.sent();
|
580
|
-
if (!(analysisCache || fileCache || symlinkCache))
|
581
|
-
return [
|
582
|
-
3,
|
583
|
-
11
|
584
|
-
];
|
585
|
-
return [
|
586
|
-
4,
|
587
|
-
fse.ensureDir(cacheDir)
|
588
|
-
];
|
589
|
-
case 5:
|
590
|
-
_state.sent();
|
591
|
-
if (!(cache.analysisCache && analysisCache))
|
592
|
-
return [
|
593
|
-
3,
|
594
|
-
7
|
595
|
-
];
|
596
|
-
return [
|
597
|
-
4,
|
598
|
-
writeCache(analysisCacheFile, cache.analysisCache)
|
599
|
-
];
|
600
|
-
case 6:
|
601
|
-
_state.sent();
|
602
|
-
_state.label = 7;
|
603
|
-
case 7:
|
604
|
-
if (!(cache.fileCache && fileCache))
|
605
|
-
return [
|
606
|
-
3,
|
607
|
-
9
|
608
|
-
];
|
609
|
-
return [
|
610
|
-
4,
|
611
|
-
writeCache(fileCacheFile, cache.fileCache)
|
612
|
-
];
|
613
|
-
case 8:
|
614
|
-
_state.sent();
|
615
|
-
_state.label = 9;
|
616
|
-
case 9:
|
617
|
-
if (!(cache.symlinkCache && symlinkCache))
|
618
|
-
return [
|
619
|
-
3,
|
620
|
-
11
|
621
|
-
];
|
622
|
-
return [
|
623
|
-
4,
|
624
|
-
writeCache(symlinkCacheFile, cache.symlinkCache)
|
625
|
-
];
|
626
|
-
case 10:
|
627
|
-
_state.sent();
|
628
|
-
_state.label = 11;
|
629
|
-
case 11:
|
352
|
+
case 1:
|
630
353
|
return [
|
631
354
|
2,
|
632
|
-
|
355
|
+
_state.sent()
|
633
356
|
];
|
634
357
|
}
|
635
358
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { createHash } from "crypto";
|
2
|
-
import { mergeWith } from "@modern-js/utils/lodash";
|
2
|
+
import { merge, mergeWith } from "@modern-js/utils/lodash";
|
3
3
|
import { ROUTE_MANIFEST_FILE } from "@modern-js/utils";
|
4
4
|
import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
|
5
5
|
const PLUGIN_NAME = "ModernjsRoutePlugin";
|
@@ -80,7 +80,11 @@ class RouterPlugin {
|
|
80
80
|
routeAssets: {}
|
81
81
|
});
|
82
82
|
const prevManifest = JSON.parse(prevManifestStr);
|
83
|
+
const asyncEntryNames = [];
|
83
84
|
for (const [name, chunkGroup] of Object.entries(namedChunkGroups)) {
|
85
|
+
if (name.startsWith("async-")) {
|
86
|
+
asyncEntryNames.push(name);
|
87
|
+
}
|
84
88
|
const assets = chunkGroup.assets.map((asset) => {
|
85
89
|
const filename = asset.name;
|
86
90
|
return publicPath ? normalizePath(publicPath) + filename : filename;
|
@@ -100,6 +104,14 @@ class RouterPlugin {
|
|
100
104
|
});
|
101
105
|
}
|
102
106
|
}
|
107
|
+
if (asyncEntryNames.length > 0) {
|
108
|
+
for (const asyncEntryName of asyncEntryNames) {
|
109
|
+
const syncEntryName = asyncEntryName.replace("async-", "");
|
110
|
+
const syncEntry = routeAssets[syncEntryName];
|
111
|
+
const asyncEntry = routeAssets[asyncEntryName];
|
112
|
+
merge(syncEntry, asyncEntry);
|
113
|
+
}
|
114
|
+
}
|
103
115
|
const manifest = {
|
104
116
|
routeAssets
|
105
117
|
};
|
@@ -4,7 +4,7 @@ const inspect = async (api, options) => {
|
|
4
4
|
throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
|
5
5
|
}
|
6
6
|
return appContext.builder.inspectConfig({
|
7
|
-
|
7
|
+
mode: options.env,
|
8
8
|
verbose: options.verbose,
|
9
9
|
outputPath: options.output,
|
10
10
|
writeToDisk: true
|
@@ -4,27 +4,15 @@ import { readPackageJSON } from "pkg-types";
|
|
4
4
|
import { parseNodeModulePath } from "mlly";
|
5
5
|
import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive, isSubPath } from "./utils";
|
6
6
|
import { nodeFileTrace } from "@vercel/nft";
|
7
|
-
const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = defaultTraceFiles, entryFilter, modifyPackageJson, copyWholePackage,
|
8
|
-
cacheDir: ".modern-js/deploy",
|
9
|
-
analysisCache: true,
|
10
|
-
fileCache: false,
|
11
|
-
symlinkCache: false
|
12
|
-
}, traceOptions }) => {
|
7
|
+
const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = defaultTraceFiles, entryFilter, modifyPackageJson, copyWholePackage, traceOptions }) => {
|
13
8
|
const base = "/";
|
14
|
-
const startTime = Date.now();
|
15
9
|
const entryFiles = await findEntryFiles(serverRootDir, entryFilter);
|
16
|
-
console.time("traceFiles");
|
17
10
|
const fileTrace = await traceFiles({
|
18
11
|
entryFiles: entryFiles.concat(includeEntries),
|
19
12
|
serverRootDir,
|
20
|
-
cacheOptions: {
|
21
|
-
...cacheOptions,
|
22
|
-
cacheDir: path.resolve(appDir, cacheOptions.cacheDir)
|
23
|
-
},
|
24
13
|
base,
|
25
14
|
traceOptions
|
26
15
|
});
|
27
|
-
console.timeEnd("traceFiles");
|
28
16
|
const currentProjectModules = path.join(appDir, "node_modules");
|
29
17
|
const dependencySearchRoot = path.resolve(appDir, "../../../../../../");
|
30
18
|
const tracedFiles = Object.fromEntries(await Promise.all([
|
@@ -206,8 +194,6 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
|
|
206
194
|
};
|
207
195
|
const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
|
208
196
|
await fse.writeJSON(outputPkgPath, finalPkgJson);
|
209
|
-
const endTime = Date.now();
|
210
|
-
console.log("handleDependencies cost:", `${endTime - startTime}ms`);
|
211
197
|
};
|
212
198
|
export {
|
213
199
|
handleDependencies,
|
@@ -98,88 +98,12 @@ const findPackageParents = (pkg, version, tracedFiles) => {
|
|
98
98
|
];
|
99
99
|
return parentPkgs.filter((parentPkg) => parentPkg);
|
100
100
|
};
|
101
|
-
async
|
102
|
-
|
103
|
-
await Promise.all(Array.from(map.entries()).map(async ([key, value]) => {
|
104
|
-
resolvedMap.set(key, value instanceof Promise ? await Promise.resolve(value) : value);
|
105
|
-
}));
|
106
|
-
return JSON.stringify(resolvedMap, (key, value) => {
|
107
|
-
if (value === null) {
|
108
|
-
return void 0;
|
109
|
-
}
|
110
|
-
if (value instanceof Map) {
|
111
|
-
return {
|
112
|
-
dataType: "Map",
|
113
|
-
value: Array.from(value.entries())
|
114
|
-
};
|
115
|
-
}
|
116
|
-
if (value instanceof Set) {
|
117
|
-
return {
|
118
|
-
dataType: "Set",
|
119
|
-
value: Array.from(value)
|
120
|
-
};
|
121
|
-
}
|
122
|
-
return value;
|
123
|
-
});
|
124
|
-
}
|
125
|
-
function deserializeMap(serializedData) {
|
126
|
-
return JSON.parse(serializedData, (key, value) => {
|
127
|
-
if (value && value.dataType === "Map") {
|
128
|
-
return new Map(value.value);
|
129
|
-
}
|
130
|
-
if (value && value.dataType === "Set") {
|
131
|
-
return new Set(value.value);
|
132
|
-
}
|
133
|
-
return value;
|
134
|
-
});
|
135
|
-
}
|
136
|
-
const loadCache = async (filePath, enabled) => {
|
137
|
-
if (enabled && await fse.pathExists(filePath)) {
|
138
|
-
console.log("load cache:", filePath);
|
139
|
-
const data = (await fse.readFile(filePath)).toString();
|
140
|
-
return deserializeMap(data);
|
141
|
-
}
|
142
|
-
return void 0;
|
143
|
-
};
|
144
|
-
const writeCache = async (filePath, cacheMap) => {
|
145
|
-
const newCacheMap = /* @__PURE__ */ new Map();
|
146
|
-
for (const [key, value] of cacheMap.entries()) {
|
147
|
-
if (key.includes("node_modules/")) {
|
148
|
-
newCacheMap.set(key, value);
|
149
|
-
}
|
150
|
-
}
|
151
|
-
await fse.writeFile(filePath, await serializeMap(newCacheMap));
|
152
|
-
console.log(`write ${path.basename(filePath)} finish`);
|
153
|
-
};
|
154
|
-
const traceFiles = async ({ entryFiles, serverRootDir, base = "/", cacheOptions, traceOptions }) => {
|
155
|
-
const { cacheDir, fileCache, analysisCache, symlinkCache } = cacheOptions;
|
156
|
-
const analysisCacheFile = path.join(cacheDir, "analysis-cache.json");
|
157
|
-
const fileCacheFile = path.join(cacheDir, "file-cache.json");
|
158
|
-
const symlinkCacheFile = path.join(cacheDir, "symlink-cache.json");
|
159
|
-
const cache = {
|
160
|
-
analysisCache: await loadCache(analysisCacheFile, analysisCache),
|
161
|
-
fileCache: await loadCache(fileCacheFile, fileCache),
|
162
|
-
symlinkCache: await loadCache(symlinkCacheFile, symlinkCache)
|
163
|
-
};
|
164
|
-
const res = await nodeFileTrace(entryFiles, {
|
101
|
+
const traceFiles = async ({ entryFiles, serverRootDir, base = "/", traceOptions }) => {
|
102
|
+
return await nodeFileTrace(entryFiles, {
|
165
103
|
base,
|
166
104
|
processCwd: serverRootDir,
|
167
|
-
cache,
|
168
105
|
...traceOptions
|
169
106
|
});
|
170
|
-
if (analysisCache || fileCache || symlinkCache) {
|
171
|
-
await fse.ensureDir(cacheDir);
|
172
|
-
if (cache.analysisCache && analysisCache) {
|
173
|
-
await writeCache(analysisCacheFile, cache.analysisCache);
|
174
|
-
}
|
175
|
-
if (cache.fileCache && fileCache) {
|
176
|
-
await writeCache(fileCacheFile, cache.fileCache);
|
177
|
-
}
|
178
|
-
if (cache.symlinkCache && symlinkCache) {
|
179
|
-
await writeCache(symlinkCacheFile, cache.symlinkCache);
|
180
|
-
}
|
181
|
-
}
|
182
|
-
return res;
|
183
107
|
};
|
184
108
|
const resolveTracedPath = async (base, p) => fse.realpath(path.resolve(base, p));
|
185
109
|
const isSubPath = (parentPath, childPath) => {
|
@@ -1,22 +1,20 @@
|
|
1
1
|
import type { PackageJson } from 'pkg-types';
|
2
2
|
import type { NodeFileTraceOptions } from '@vercel/nft';
|
3
|
-
import { traceFiles as defaultTraceFiles
|
3
|
+
import { traceFiles as defaultTraceFiles } from './utils';
|
4
4
|
export type { NodeFileTraceOptions } from '@vercel/nft';
|
5
5
|
export { nodeFileTrace } from '@vercel/nft';
|
6
|
-
export declare const handleDependencies: ({ appDir, serverRootDir, includeEntries, traceFiles, entryFilter, modifyPackageJson, copyWholePackage,
|
6
|
+
export declare const handleDependencies: ({ appDir, serverRootDir, includeEntries, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, traceOptions, }: {
|
7
7
|
appDir: string;
|
8
8
|
serverRootDir: string;
|
9
9
|
includeEntries: string[];
|
10
|
-
traceFiles?: (({ entryFiles, serverRootDir, base,
|
10
|
+
traceFiles?: (({ entryFiles, serverRootDir, base, traceOptions, }: {
|
11
11
|
entryFiles: string[];
|
12
12
|
serverRootDir: string;
|
13
13
|
base?: string | undefined;
|
14
|
-
cacheOptions: CacheOptions;
|
15
14
|
traceOptions?: NodeFileTraceOptions | undefined;
|
16
15
|
}) => Promise<import("@vercel/nft").NodeFileTraceResult>) | undefined;
|
17
16
|
entryFilter?: ((filePath: string) => boolean) | undefined;
|
18
17
|
modifyPackageJson?: ((pkgJson: PackageJson) => PackageJson) | undefined;
|
19
18
|
copyWholePackage?: ((pkgName: string) => boolean) | undefined;
|
20
|
-
cacheOptions?: CacheOptions | undefined;
|
21
19
|
traceOptions?: NodeFileTraceOptions | undefined;
|
22
20
|
}) => Promise<void>;
|
@@ -33,17 +33,10 @@ export declare const readDirRecursive: (dir: string, options?: ReadDirOptions) =
|
|
33
33
|
export declare const isFile: (file: string) => Promise<boolean>;
|
34
34
|
export declare const findEntryFiles: (rootDir: string, entryFilter?: ((filePath: string) => boolean) | undefined) => Promise<string[]>;
|
35
35
|
export declare const findPackageParents: (pkg: TracedPackage, version: string, tracedFiles: Record<string, TracedFile>) => string[];
|
36
|
-
export
|
37
|
-
fileCache: boolean;
|
38
|
-
analysisCache: boolean;
|
39
|
-
symlinkCache: boolean;
|
40
|
-
cacheDir: string;
|
41
|
-
}
|
42
|
-
export declare const traceFiles: ({ entryFiles, serverRootDir, base, cacheOptions, traceOptions, }: {
|
36
|
+
export declare const traceFiles: ({ entryFiles, serverRootDir, base, traceOptions, }: {
|
43
37
|
entryFiles: string[];
|
44
38
|
serverRootDir: string;
|
45
39
|
base?: string | undefined;
|
46
|
-
cacheOptions: CacheOptions;
|
47
40
|
traceOptions?: NodeFileTraceOptions | undefined;
|
48
41
|
}) => Promise<import("@vercel/nft").NodeFileTraceResult>;
|
49
42
|
export declare const resolveTracedPath: (base: string, p: string) => Promise<string>;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.58.1
|
18
|
+
"version": "2.58.1",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -77,10 +77,9 @@
|
|
77
77
|
"@babel/parser": "^7.22.15",
|
78
78
|
"@babel/traverse": "^7.23.2",
|
79
79
|
"@babel/types": "^7.24.7",
|
80
|
-
"@rsbuild/core": "1.0.1-beta.
|
80
|
+
"@rsbuild/core": "1.0.1-beta.13",
|
81
81
|
"@rsbuild/plugin-node-polyfill": "1.0.4",
|
82
82
|
"@swc/helpers": "0.5.3",
|
83
|
-
"@ungap/structured-clone": "^1.2.0",
|
84
83
|
"@vercel/nft": "^0.26.4",
|
85
84
|
"es-module-lexer": "^1.1.0",
|
86
85
|
"esbuild": "0.17.19",
|
@@ -89,23 +88,23 @@
|
|
89
88
|
"mlly": "^1.6.1",
|
90
89
|
"pkg-types": "^1.1.0",
|
91
90
|
"std-env": "^3.7.0",
|
92
|
-
"@modern-js/
|
93
|
-
"@modern-js/
|
94
|
-
"@modern-js/plugin
|
95
|
-
"@modern-js/plugin": "2.58.
|
96
|
-
"@modern-js/
|
97
|
-
"@modern-js/
|
98
|
-
"@modern-js/
|
99
|
-
"@modern-js/server": "2.58.
|
100
|
-
"@modern-js/
|
101
|
-
"@modern-js/
|
102
|
-
"@modern-js/server-
|
103
|
-
"@modern-js/
|
104
|
-
"@modern-js/uni-builder": "2.58.
|
105
|
-
"@modern-js/
|
91
|
+
"@modern-js/core": "2.58.1",
|
92
|
+
"@modern-js/node-bundle-require": "2.58.1",
|
93
|
+
"@modern-js/plugin": "2.58.1",
|
94
|
+
"@modern-js/plugin-data-loader": "2.58.1",
|
95
|
+
"@modern-js/plugin-i18n": "2.58.1",
|
96
|
+
"@modern-js/prod-server": "2.58.1",
|
97
|
+
"@modern-js/plugin-lint": "2.58.1",
|
98
|
+
"@modern-js/server": "2.58.1",
|
99
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.58.1",
|
100
|
+
"@modern-js/server-utils": "2.58.1",
|
101
|
+
"@modern-js/server-core": "2.58.1",
|
102
|
+
"@modern-js/types": "2.58.1",
|
103
|
+
"@modern-js/uni-builder": "2.58.1",
|
104
|
+
"@modern-js/utils": "2.58.1"
|
106
105
|
},
|
107
106
|
"devDependencies": {
|
108
|
-
"@rsbuild/plugin-swc": "1.0.1-beta.
|
107
|
+
"@rsbuild/plugin-swc": "1.0.1-beta.13",
|
109
108
|
"@types/babel__traverse": "7.18.5",
|
110
109
|
"@types/jest": "^29",
|
111
110
|
"@types/node": "^14",
|
@@ -114,8 +113,8 @@
|
|
114
113
|
"tsconfig-paths": "^4.2.0",
|
115
114
|
"typescript": "^5",
|
116
115
|
"webpack": "^5.93.0",
|
117
|
-
"@scripts/build": "2.58.
|
118
|
-
"@scripts/jest-config": "2.58.
|
116
|
+
"@scripts/build": "2.58.1",
|
117
|
+
"@scripts/jest-config": "2.58.1"
|
119
118
|
},
|
120
119
|
"sideEffects": false,
|
121
120
|
"publishConfig": {
|