@modern-js/app-tools 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/dist/js/modern/analyze/index.js +2 -2
- package/dist/js/modern/analyze/templates.js +9 -4
- package/dist/js/modern/analyze/utils.js +1 -1
- package/dist/js/node/analyze/index.js +2 -2
- package/dist/js/node/analyze/templates.js +9 -4
- package/dist/js/node/analyze/utils.js +1 -1
- package/dist/js/treeshaking/analyze/index.js +3 -3
- package/dist/js/treeshaking/analyze/templates.js +9 -4
- package/dist/js/treeshaking/analyze/utils.js +1 -1
- package/package.json +22 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# @modern-js/app-tools
|
|
2
2
|
|
|
3
|
+
## 2.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 39988b2: feat: advance the timing of static resource loading
|
|
8
|
+
feat: 将嵌套路由下静态资源加载时机提前
|
|
9
|
+
- Updated dependencies [39988b2]
|
|
10
|
+
- @modern-js/types@2.0.2
|
|
11
|
+
- @modern-js/new-action@2.0.2
|
|
12
|
+
- @modern-js/builder-shared@2.0.2
|
|
13
|
+
- @modern-js/builder-webpack-provider@2.0.2
|
|
14
|
+
- @modern-js/core@2.0.2
|
|
15
|
+
- @modern-js/plugin-data-loader@2.0.2
|
|
16
|
+
- @modern-js/prod-server@2.0.2
|
|
17
|
+
- @modern-js/server@2.0.2
|
|
18
|
+
- @modern-js/utils@2.0.2
|
|
19
|
+
- @modern-js/builder@2.0.2
|
|
20
|
+
- @modern-js/builder-plugin-esbuild@2.0.2
|
|
21
|
+
- @modern-js/builder-plugin-node-polyfill@2.0.2
|
|
22
|
+
- @modern-js/plugin-i18n@2.0.2
|
|
23
|
+
- @modern-js/plugin-lint@2.0.2
|
|
24
|
+
- @modern-js/node-bundle-require@2.0.2
|
|
25
|
+
- @modern-js/plugin@2.0.2
|
|
26
|
+
- @modern-js/upgrade@2.0.2
|
|
27
|
+
|
|
28
|
+
## 2.0.1
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- @modern-js/builder@2.0.1
|
|
33
|
+
- @modern-js/builder-shared@2.0.1
|
|
34
|
+
- @modern-js/builder-webpack-provider@2.0.1
|
|
35
|
+
- @modern-js/builder-plugin-esbuild@2.0.1
|
|
36
|
+
- @modern-js/builder-plugin-node-polyfill@2.0.1
|
|
37
|
+
- @modern-js/core@2.0.1
|
|
38
|
+
- @modern-js/plugin-data-loader@2.0.1
|
|
39
|
+
- @modern-js/plugin-i18n@2.0.1
|
|
40
|
+
- @modern-js/plugin-lint@2.0.1
|
|
41
|
+
- @modern-js/new-action@2.0.1
|
|
42
|
+
- @modern-js/prod-server@2.0.1
|
|
43
|
+
- @modern-js/server@2.0.1
|
|
44
|
+
- @modern-js/node-bundle-require@2.0.1
|
|
45
|
+
- @modern-js/plugin@2.0.1
|
|
46
|
+
- @modern-js/types@2.0.1
|
|
47
|
+
- @modern-js/upgrade@2.0.1
|
|
48
|
+
- @modern-js/utils@2.0.1
|
|
49
|
+
|
|
3
50
|
## 2.0.0
|
|
4
51
|
|
|
5
52
|
### Major Changes
|
|
@@ -217,7 +217,7 @@ var analyze_default = () => ({
|
|
|
217
217
|
modifyEntryImports(_0) {
|
|
218
218
|
return __async(this, arguments, function* ({ entrypoint, imports }) {
|
|
219
219
|
const appContext = api.useAppContext();
|
|
220
|
-
const { srcDirectory } = appContext;
|
|
220
|
+
const { srcDirectory, internalSrcAlias } = appContext;
|
|
221
221
|
const { fileSystemRoutes, nestedRoutesEntry } = entrypoint;
|
|
222
222
|
if (fileSystemRoutes && nestedRoutesEntry) {
|
|
223
223
|
const rootLayoutPath = path.join(nestedRoutesEntry, "layout");
|
|
@@ -239,7 +239,7 @@ var analyze_default = () => ({
|
|
|
239
239
|
const generateLayoutPath = replaceWithAlias(
|
|
240
240
|
srcDirectory,
|
|
241
241
|
rootLayoutFile,
|
|
242
|
-
|
|
242
|
+
internalSrcAlias
|
|
243
243
|
);
|
|
244
244
|
if (hasAppConfig) {
|
|
245
245
|
imports.push({
|
|
@@ -236,6 +236,7 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
236
236
|
let error;
|
|
237
237
|
let loader;
|
|
238
238
|
let component = "";
|
|
239
|
+
let lazyImport = null;
|
|
239
240
|
if (route.type === "nested") {
|
|
240
241
|
if (route.loading) {
|
|
241
242
|
loadings.push(route.loading);
|
|
@@ -256,15 +257,19 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
256
257
|
rootLayoutCode = `import RootLayout from '${route._component}'`;
|
|
257
258
|
component = `RootLayout`;
|
|
258
259
|
} else if (ssrMode === "string") {
|
|
259
|
-
|
|
260
|
+
lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
|
|
261
|
+
component = `loadable(${lazyImport})`;
|
|
260
262
|
} else {
|
|
261
|
-
|
|
263
|
+
lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
|
|
264
|
+
component = `lazy(${lazyImport})`;
|
|
262
265
|
}
|
|
263
266
|
}
|
|
264
267
|
} else if (route._component) {
|
|
265
|
-
|
|
268
|
+
lazyImport = `() => import('${route._component}')`;
|
|
269
|
+
component = `loadable(${lazyImport})`;
|
|
266
270
|
}
|
|
267
271
|
const finalRoute = __spreadProps(__spreadValues({}, route), {
|
|
272
|
+
lazyImport,
|
|
268
273
|
loading,
|
|
269
274
|
loader,
|
|
270
275
|
error,
|
|
@@ -281,7 +286,7 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
281
286
|
for (const route of routes) {
|
|
282
287
|
if ("type" in route) {
|
|
283
288
|
const newRoute = traverseRouteTree(route);
|
|
284
|
-
routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(lazy.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"')},`;
|
|
289
|
+
routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(\(\)[^,]+)",/g, "$1,").replace(/"(lazy\(.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"')},`;
|
|
285
290
|
} else {
|
|
286
291
|
const component = `loadable(() => import('${route._component}'))`;
|
|
287
292
|
const finalRoute = __spreadProps(__spreadValues({}, route), {
|
|
@@ -107,7 +107,7 @@ const isPageComponentFile = (filePath) => {
|
|
|
107
107
|
};
|
|
108
108
|
const isNestedRouteComponent = (nestedRouteEntries, absoluteFilePath) => {
|
|
109
109
|
const reg = new RegExp(
|
|
110
|
-
`(${NESTED_ROUTE.LAYOUT_FILE}|${NESTED_ROUTE.PAGE_FILE}
|
|
110
|
+
`(${NESTED_ROUTE.LAYOUT_FILE}|${NESTED_ROUTE.PAGE_FILE})\\.tsx?$`
|
|
111
111
|
);
|
|
112
112
|
return nestedRouteEntries.some((nestedRoutesEntry) => {
|
|
113
113
|
if (absoluteFilePath.includes(nestedRoutesEntry) && reg.test(absoluteFilePath)) {
|
|
@@ -234,7 +234,7 @@ var analyze_default = () => ({
|
|
|
234
234
|
modifyEntryImports(_0) {
|
|
235
235
|
return __async(this, arguments, function* ({ entrypoint, imports }) {
|
|
236
236
|
const appContext = api.useAppContext();
|
|
237
|
-
const { srcDirectory } = appContext;
|
|
237
|
+
const { srcDirectory, internalSrcAlias } = appContext;
|
|
238
238
|
const { fileSystemRoutes, nestedRoutesEntry } = entrypoint;
|
|
239
239
|
if (fileSystemRoutes && nestedRoutesEntry) {
|
|
240
240
|
const rootLayoutPath = path.join(nestedRoutesEntry, "layout");
|
|
@@ -256,7 +256,7 @@ var analyze_default = () => ({
|
|
|
256
256
|
const generateLayoutPath = (0, import_utils2.replaceWithAlias)(
|
|
257
257
|
srcDirectory,
|
|
258
258
|
rootLayoutFile,
|
|
259
|
-
|
|
259
|
+
internalSrcAlias
|
|
260
260
|
);
|
|
261
261
|
if (hasAppConfig) {
|
|
262
262
|
imports.push({
|
|
@@ -266,6 +266,7 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
266
266
|
let error;
|
|
267
267
|
let loader;
|
|
268
268
|
let component = "";
|
|
269
|
+
let lazyImport = null;
|
|
269
270
|
if (route.type === "nested") {
|
|
270
271
|
if (route.loading) {
|
|
271
272
|
loadings.push(route.loading);
|
|
@@ -286,15 +287,19 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
286
287
|
rootLayoutCode = `import RootLayout from '${route._component}'`;
|
|
287
288
|
component = `RootLayout`;
|
|
288
289
|
} else if (ssrMode === "string") {
|
|
289
|
-
|
|
290
|
+
lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
|
|
291
|
+
component = `loadable(${lazyImport})`;
|
|
290
292
|
} else {
|
|
291
|
-
|
|
293
|
+
lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
|
|
294
|
+
component = `lazy(${lazyImport})`;
|
|
292
295
|
}
|
|
293
296
|
}
|
|
294
297
|
} else if (route._component) {
|
|
295
|
-
|
|
298
|
+
lazyImport = `() => import('${route._component}')`;
|
|
299
|
+
component = `loadable(${lazyImport})`;
|
|
296
300
|
}
|
|
297
301
|
const finalRoute = __spreadProps(__spreadValues({}, route), {
|
|
302
|
+
lazyImport,
|
|
298
303
|
loading,
|
|
299
304
|
loader,
|
|
300
305
|
error,
|
|
@@ -311,7 +316,7 @@ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
|
|
|
311
316
|
for (const route of routes) {
|
|
312
317
|
if ("type" in route) {
|
|
313
318
|
const newRoute = traverseRouteTree(route);
|
|
314
|
-
routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(lazy.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"')},`;
|
|
319
|
+
routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(\(\)[^,]+)",/g, "$1,").replace(/"(lazy\(.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"')},`;
|
|
315
320
|
} else {
|
|
316
321
|
const component = `loadable(() => import('${route._component}'))`;
|
|
317
322
|
const finalRoute = __spreadProps(__spreadValues({}, route), {
|
|
@@ -136,7 +136,7 @@ const isPageComponentFile = (filePath) => {
|
|
|
136
136
|
};
|
|
137
137
|
const isNestedRouteComponent = (nestedRouteEntries, absoluteFilePath) => {
|
|
138
138
|
const reg = new RegExp(
|
|
139
|
-
`(${import_constants.NESTED_ROUTE.LAYOUT_FILE}|${import_constants.NESTED_ROUTE.PAGE_FILE}
|
|
139
|
+
`(${import_constants.NESTED_ROUTE.LAYOUT_FILE}|${import_constants.NESTED_ROUTE.PAGE_FILE})\\.tsx?$`
|
|
140
140
|
);
|
|
141
141
|
return nestedRouteEntries.some((nestedRoutesEntry) => {
|
|
142
142
|
if (absoluteFilePath.includes(nestedRoutesEntry) && reg.test(absoluteFilePath)) {
|
|
@@ -536,12 +536,12 @@ var analyze_default = function() {
|
|
|
536
536
|
modifyEntryImports: function modifyEntryImports(param) {
|
|
537
537
|
var entrypoint = param.entrypoint, imports = param.imports;
|
|
538
538
|
return _asyncToGenerator(function() {
|
|
539
|
-
var appContext, srcDirectory, fileSystemRoutes, nestedRoutesEntry, rootLayoutPath, rootLayoutFile, rootLayoutBuffer, rootLayout, ref, moduleExports, hasAppConfig, generateLayoutPath, hasAppInit;
|
|
539
|
+
var appContext, srcDirectory, internalSrcAlias, fileSystemRoutes, nestedRoutesEntry, rootLayoutPath, rootLayoutFile, rootLayoutBuffer, rootLayout, ref, moduleExports, hasAppConfig, generateLayoutPath, hasAppInit;
|
|
540
540
|
return __generator(this, function(_state) {
|
|
541
541
|
switch(_state.label){
|
|
542
542
|
case 0:
|
|
543
543
|
appContext = api.useAppContext();
|
|
544
|
-
srcDirectory = appContext.srcDirectory;
|
|
544
|
+
srcDirectory = appContext.srcDirectory, internalSrcAlias = appContext.internalSrcAlias;
|
|
545
545
|
fileSystemRoutes = entrypoint.fileSystemRoutes, nestedRoutesEntry = entrypoint.nestedRoutesEntry;
|
|
546
546
|
if (!(fileSystemRoutes && nestedRoutesEntry)) return [
|
|
547
547
|
3,
|
|
@@ -582,7 +582,7 @@ var analyze_default = function() {
|
|
|
582
582
|
hasAppConfig = moduleExports.some(function(e) {
|
|
583
583
|
return e.n === APP_CONFIG_NAME;
|
|
584
584
|
});
|
|
585
|
-
generateLayoutPath = replaceWithAlias(srcDirectory, rootLayoutFile,
|
|
585
|
+
generateLayoutPath = replaceWithAlias(srcDirectory, rootLayoutFile, internalSrcAlias);
|
|
586
586
|
if (hasAppConfig) {
|
|
587
587
|
imports.push({
|
|
588
588
|
value: generateLayoutPath,
|
|
@@ -283,6 +283,7 @@ var fileSystemRoutes = function() {
|
|
|
283
283
|
var error;
|
|
284
284
|
var loader;
|
|
285
285
|
var component = "";
|
|
286
|
+
var lazyImport = null;
|
|
286
287
|
if (route.type === "nested") {
|
|
287
288
|
if (route.loading) {
|
|
288
289
|
loadings.push(route.loading);
|
|
@@ -303,15 +304,19 @@ var fileSystemRoutes = function() {
|
|
|
303
304
|
rootLayoutCode = "import RootLayout from '".concat(route._component, "'");
|
|
304
305
|
component = "RootLayout";
|
|
305
306
|
} else if (ssrMode === "string") {
|
|
306
|
-
|
|
307
|
+
lazyImport = '() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(componentLoaderPath).concat(route._component, "')");
|
|
308
|
+
component = "loadable(".concat(lazyImport, ")");
|
|
307
309
|
} else {
|
|
308
|
-
|
|
310
|
+
lazyImport = '() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(componentLoaderPath).concat(route._component, "')");
|
|
311
|
+
component = "lazy(".concat(lazyImport, ")");
|
|
309
312
|
}
|
|
310
313
|
}
|
|
311
314
|
} else if (route._component) {
|
|
312
|
-
|
|
315
|
+
lazyImport = "() => import('".concat(route._component, "')");
|
|
316
|
+
component = "loadable(".concat(lazyImport, ")");
|
|
313
317
|
}
|
|
314
318
|
var finalRoute = _objectSpreadProps(_objectSpread({}, route), {
|
|
319
|
+
lazyImport: lazyImport,
|
|
315
320
|
loading: loading,
|
|
316
321
|
loader: loader,
|
|
317
322
|
error: error,
|
|
@@ -329,7 +334,7 @@ var fileSystemRoutes = function() {
|
|
|
329
334
|
route = _step.value;
|
|
330
335
|
if ("type" in route) {
|
|
331
336
|
newRoute = traverseRouteTree(route);
|
|
332
|
-
routeComponentsCode += "".concat(JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(lazy.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"'), ",");
|
|
337
|
+
routeComponentsCode += "".concat(JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(\(\)[^,]+)",/g, "$1,").replace(/"(lazy\(.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"'), ",");
|
|
333
338
|
} else {
|
|
334
339
|
component = "loadable(() => import('".concat(route._component, "'))");
|
|
335
340
|
finalRoute = _objectSpreadProps(_objectSpread({}, route), {
|
|
@@ -287,7 +287,7 @@ var isPageComponentFile = function(filePath) {
|
|
|
287
287
|
return false;
|
|
288
288
|
};
|
|
289
289
|
var isNestedRouteComponent = function(nestedRouteEntries, absoluteFilePath) {
|
|
290
|
-
var reg = new RegExp("(".concat(NESTED_ROUTE.LAYOUT_FILE, "|").concat(NESTED_ROUTE.PAGE_FILE, "
|
|
290
|
+
var reg = new RegExp("(".concat(NESTED_ROUTE.LAYOUT_FILE, "|").concat(NESTED_ROUTE.PAGE_FILE, ")\\.tsx?$"));
|
|
291
291
|
return nestedRouteEntries.some(function(nestedRoutesEntry) {
|
|
292
292
|
if (absoluteFilePath.includes(nestedRoutesEntry) && reg.test(absoluteFilePath)) {
|
|
293
293
|
return true;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.0.
|
|
14
|
+
"version": "2.0.2",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -65,23 +65,23 @@
|
|
|
65
65
|
"@babel/types": "^7.18.0",
|
|
66
66
|
"es-module-lexer": "^1.1.0",
|
|
67
67
|
"esbuild": "0.15.7",
|
|
68
|
-
"@modern-js/builder": "2.0.
|
|
69
|
-
"@modern-js/builder-plugin-
|
|
70
|
-
"@modern-js/builder-plugin-
|
|
71
|
-
"@modern-js/builder-shared": "2.0.
|
|
72
|
-
"@modern-js/builder-webpack-provider": "2.0.
|
|
73
|
-
"@modern-js/core": "2.0.
|
|
74
|
-
"@modern-js/new-action": "2.0.
|
|
75
|
-
"@modern-js/node-bundle-require": "2.0.
|
|
76
|
-
"@modern-js/plugin": "2.0.
|
|
77
|
-
"@modern-js/plugin-data-loader": "2.0.
|
|
78
|
-
"@modern-js/plugin-i18n": "2.0.
|
|
79
|
-
"@modern-js/plugin-lint": "2.0.
|
|
80
|
-
"@modern-js/prod-server": "2.0.
|
|
81
|
-
"@modern-js/server": "2.0.
|
|
82
|
-
"@modern-js/types": "2.0.
|
|
83
|
-
"@modern-js/upgrade": "2.0.
|
|
84
|
-
"@modern-js/utils": "2.0.
|
|
68
|
+
"@modern-js/builder": "2.0.2",
|
|
69
|
+
"@modern-js/builder-plugin-esbuild": "2.0.2",
|
|
70
|
+
"@modern-js/builder-plugin-node-polyfill": "2.0.2",
|
|
71
|
+
"@modern-js/builder-shared": "2.0.2",
|
|
72
|
+
"@modern-js/builder-webpack-provider": "2.0.2",
|
|
73
|
+
"@modern-js/core": "2.0.2",
|
|
74
|
+
"@modern-js/new-action": "2.0.2",
|
|
75
|
+
"@modern-js/node-bundle-require": "2.0.2",
|
|
76
|
+
"@modern-js/plugin": "2.0.2",
|
|
77
|
+
"@modern-js/plugin-data-loader": "2.0.2",
|
|
78
|
+
"@modern-js/plugin-i18n": "2.0.2",
|
|
79
|
+
"@modern-js/plugin-lint": "2.0.2",
|
|
80
|
+
"@modern-js/prod-server": "2.0.2",
|
|
81
|
+
"@modern-js/server": "2.0.2",
|
|
82
|
+
"@modern-js/types": "2.0.2",
|
|
83
|
+
"@modern-js/upgrade": "2.0.2",
|
|
84
|
+
"@modern-js/utils": "2.0.2"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@types/babel__traverse": "^7.14.2",
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
"jest": "^27",
|
|
91
91
|
"typescript": "^4",
|
|
92
92
|
"webpack": "^5.75.0",
|
|
93
|
-
"@modern-js/builder-plugin-swc": "2.0.
|
|
94
|
-
"@modern-js/server-core": "2.0.
|
|
95
|
-
"@scripts/jest-config": "2.0.
|
|
96
|
-
"@scripts/build": "2.0.
|
|
93
|
+
"@modern-js/builder-plugin-swc": "2.0.2",
|
|
94
|
+
"@modern-js/server-core": "2.0.2",
|
|
95
|
+
"@scripts/jest-config": "2.0.2",
|
|
96
|
+
"@scripts/build": "2.0.2"
|
|
97
97
|
},
|
|
98
98
|
"sideEffects": false,
|
|
99
99
|
"publishConfig": {
|