@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 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
- "@_modern_js_src"
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
- component = `loadable(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
260
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
261
+ component = `loadable(${lazyImport})`;
260
262
  } else {
261
- component = `lazy(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
263
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
264
+ component = `lazy(${lazyImport})`;
262
265
  }
263
266
  }
264
267
  } else if (route._component) {
265
- component = `loadable(() => import('${route._component}'))`;
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}})\\.tsx?$`
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
- "@_modern_js_src"
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
- component = `loadable(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
290
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
291
+ component = `loadable(${lazyImport})`;
290
292
  } else {
291
- component = `lazy(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
293
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}')`;
294
+ component = `lazy(${lazyImport})`;
292
295
  }
293
296
  }
294
297
  } else if (route._component) {
295
- component = `loadable(() => import('${route._component}'))`;
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}})\\.tsx?$`
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, "@_modern_js_src");
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
- component = 'loadable(() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(componentLoaderPath).concat(route._component, "'))");
307
+ lazyImport = '() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(componentLoaderPath).concat(route._component, "')");
308
+ component = "loadable(".concat(lazyImport, ")");
307
309
  } else {
308
- component = 'lazy(() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(componentLoaderPath).concat(route._component, "'))");
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
- component = "loadable(() => import('".concat(route._component, "'))");
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, "})\\.tsx?$"));
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.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.0",
69
- "@modern-js/builder-plugin-node-polyfill": "2.0.0",
70
- "@modern-js/builder-plugin-esbuild": "2.0.0",
71
- "@modern-js/builder-shared": "2.0.0",
72
- "@modern-js/builder-webpack-provider": "2.0.0",
73
- "@modern-js/core": "2.0.0",
74
- "@modern-js/new-action": "2.0.0",
75
- "@modern-js/node-bundle-require": "2.0.0",
76
- "@modern-js/plugin": "2.0.0",
77
- "@modern-js/plugin-data-loader": "2.0.0",
78
- "@modern-js/plugin-i18n": "2.0.0",
79
- "@modern-js/plugin-lint": "2.0.0",
80
- "@modern-js/prod-server": "2.0.0",
81
- "@modern-js/server": "2.0.0",
82
- "@modern-js/types": "2.0.0",
83
- "@modern-js/upgrade": "2.0.0",
84
- "@modern-js/utils": "2.0.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.0",
94
- "@modern-js/server-core": "2.0.0",
95
- "@scripts/jest-config": "2.0.0",
96
- "@scripts/build": "2.0.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": {