@modern-js/app-tools 2.25.2 → 2.26.1-alpha.0

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,47 @@
1
1
  # @modern-js/app-tools
2
2
 
3
+ ## 2.26.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 05480f1: fix: @modern-js/server-core should be a dependencies of @modern-js/app-tools
8
+ fix: @modern-js/server-core 应该是 @modern-js/app-tools 的 dependencies
9
+ - fbcac63: perf(cli): improve upgrade command load performance
10
+
11
+ perf(cli): 优化 upgrade 命令加载性能
12
+
13
+ - Updated dependencies [150ddb1]
14
+ - Updated dependencies [786c195]
15
+ - Updated dependencies [e26b05e]
16
+ - Updated dependencies [b36ece4]
17
+ - Updated dependencies [e26b05e]
18
+ - Updated dependencies [15ad760]
19
+ - Updated dependencies [fac4ee0]
20
+ - Updated dependencies [786c195]
21
+ - Updated dependencies [ad7139b]
22
+ - Updated dependencies [cdf5b6b]
23
+ - Updated dependencies [786c195]
24
+ - Updated dependencies [fbcac63]
25
+ - @modern-js/builder-webpack-provider@2.26.0
26
+ - @modern-js/builder-rspack-provider@2.26.0
27
+ - @modern-js/builder-shared@2.26.0
28
+ - @modern-js/builder@2.26.0
29
+ - @modern-js/upgrade@2.26.0
30
+ - @modern-js/builder-plugin-esbuild@2.26.0
31
+ - @modern-js/builder-plugin-node-polyfill@2.26.0
32
+ - @modern-js/core@2.26.0
33
+ - @modern-js/server@2.26.0
34
+ - @modern-js/new-action@2.26.0
35
+ - @modern-js/plugin-data-loader@2.26.0
36
+ - @modern-js/plugin-i18n@2.26.0
37
+ - @modern-js/plugin-lint@2.26.0
38
+ - @modern-js/server-core@2.26.0
39
+ - @modern-js/prod-server@2.26.0
40
+ - @modern-js/node-bundle-require@2.26.0
41
+ - @modern-js/plugin@2.26.0
42
+ - @modern-js/types@2.26.0
43
+ - @modern-js/utils@2.26.0
44
+
3
45
  ## 2.25.2
4
46
 
5
47
  ### Patch Changes
@@ -119,18 +119,6 @@ class RouterPlugin {
119
119
  const manifest = {
120
120
  routeAssets
121
121
  };
122
- const injectedContent = `
123
- ;(function(){
124
- window.${_constants.ROUTE_MANIFEST} = ${JSON.stringify(manifest, (k, v) => {
125
- if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
126
- return v.map((item) => {
127
- return item.replace(publicPath, "");
128
- });
129
- }
130
- return v;
131
- })};
132
- })();
133
- `;
134
122
  const entrypointsArray = Array.from(compilation.entrypoints.entries());
135
123
  const entryChunkIds = entrypointsArray.map((entrypoint) => entrypoint[0]);
136
124
  const entryChunks = [
@@ -150,6 +138,27 @@ class RouterPlugin {
150
138
  if (!asset) {
151
139
  continue;
152
140
  }
141
+ const relatedAssets = {};
142
+ Object.keys(routeAssets).forEach((routeId) => {
143
+ if (routeId.startsWith(`${chunkId}_`)) {
144
+ relatedAssets[routeId] = routeAssets[routeId];
145
+ }
146
+ });
147
+ const manifest2 = {
148
+ routeAssets: relatedAssets
149
+ };
150
+ const injectedContent = `
151
+ ;(function(){
152
+ window.${_constants.ROUTE_MANIFEST} = ${JSON.stringify(manifest2, (k, v) => {
153
+ if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
154
+ return v.map((item) => {
155
+ return item.replace(publicPath, "");
156
+ });
157
+ }
158
+ return v;
159
+ })};
160
+ })();
161
+ `;
153
162
  const { source } = asset.sourceAndMap();
154
163
  const map = chunkToSourceMap.get(chunkId);
155
164
  const newContent = `${injectedContent}${source.toString()}`;
package/dist/cjs/index.js CHANGED
@@ -43,7 +43,6 @@ const _generateWatchFiles = require("./utils/generateWatchFiles");
43
43
  const _core = require("@modern-js/core");
44
44
  _export_star._(require("./defineConfig"), exports);
45
45
  _export_star._(require("./types"), exports);
46
- const upgradeModel = _utils.Import.lazy("@modern-js/upgrade", require);
47
46
  const devCommand = async (program, api) => {
48
47
  const runner = api.useHookRunners();
49
48
  const devToolMetas = await runner.registerDev();
@@ -162,7 +161,8 @@ const appTools = (options = {
162
161
  const { inspect } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./commands/inspect")));
163
162
  inspect(api, options2);
164
163
  });
165
- upgradeModel.defineCommand(program.command("upgrade").option("-c --config <config>", _locale.i18n.t(_locale.localeKeys.command.shared.config)));
164
+ const { defineCommand } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/upgrade")));
165
+ defineCommand(program.command("upgrade").option("-c --config <config>", _locale.i18n.t(_locale.localeKeys.command.shared.config)));
166
166
  },
167
167
  async prepare() {
168
168
  const command = (0, _utils.getCommand)();
@@ -98,8 +98,43 @@ export var RouterPlugin = /* @__PURE__ */ function() {
98
98
  name: PLUGIN_NAME,
99
99
  stage: Compilation.PROCESS_ASSETS_STAGE_REPORT
100
100
  }, /* @__PURE__ */ _async_to_generator(function() {
101
- var stats, publicPath, _stats_chunks, chunks, namedChunkGroups, routeAssets, prevManifestAsset, prevManifestStr, prevManifest, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, chunkGroup, assets, referenceCssAssets, manifest, injectedContent, entrypointsArray, entryChunkIds, entryChunks, entryChunkFiles, entryChunkFileIds, i, file, chunkId, asset, source, map, newContent, newSource;
101
+ var _loop, stats, publicPath, _stats_chunks, chunks, namedChunkGroups, routeAssets, prevManifestAsset, prevManifestStr, prevManifest, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, chunkGroup, assets, referenceCssAssets, manifest, entrypointsArray, entryChunkIds, entryChunks, entryChunkFiles, entryChunkFileIds, i;
102
102
  return _ts_generator(this, function(_state) {
103
+ _loop = function(i2) {
104
+ var file = entryChunkFiles[i2];
105
+ var chunkId = entryChunkFileIds[i2];
106
+ var asset = compilation.assets[file];
107
+ if (!asset) {
108
+ return "continue";
109
+ }
110
+ var relatedAssets = {};
111
+ Object.keys(routeAssets).forEach(function(routeId) {
112
+ if (routeId.startsWith("".concat(chunkId, "_"))) {
113
+ relatedAssets[routeId] = routeAssets[routeId];
114
+ }
115
+ });
116
+ var manifest2 = {
117
+ routeAssets: relatedAssets
118
+ };
119
+ var injectedContent = "\n ;(function(){\n window.".concat(ROUTE_MANIFEST, " = ").concat(JSON.stringify(manifest2, function(k, v) {
120
+ if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
121
+ return v.map(function(item) {
122
+ return item.replace(publicPath, "");
123
+ });
124
+ }
125
+ return v;
126
+ }), ";\n })();\n ");
127
+ var source = asset.sourceAndMap().source;
128
+ var map = chunkToSourceMap.get(chunkId);
129
+ var newContent = "".concat(injectedContent).concat(source.toString());
130
+ var newSource = new SourceMapSource(newContent, file, map, source.toString(), map);
131
+ compilation.updateAsset(
132
+ file,
133
+ newSource,
134
+ // FIXME: The arguments third of updatgeAsset is a optional function in webpack.
135
+ void 0
136
+ );
137
+ };
103
138
  stats = compilation.getStats().toJson({
104
139
  all: false,
105
140
  publicPath: true,
@@ -124,12 +159,12 @@ export var RouterPlugin = /* @__PURE__ */ function() {
124
159
  try {
125
160
  for (_iterator = Object.entries(namedChunkGroups)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
126
161
  _step_value = _sliced_to_array(_step.value, 2), name = _step_value[0], chunkGroup = _step_value[1];
127
- assets = chunkGroup.assets.map(function(asset2) {
128
- var filename = asset2.name;
162
+ assets = chunkGroup.assets.map(function(asset) {
163
+ var filename = asset.name;
129
164
  return publicPath ? normalizePath(publicPath) + filename : filename;
130
165
  });
131
- referenceCssAssets = assets.filter(function(asset2) {
132
- return /\.css$/.test(asset2);
166
+ referenceCssAssets = assets.filter(function(asset) {
167
+ return /\.css$/.test(asset);
133
168
  });
134
169
  routeAssets[name] = {
135
170
  chunkIds: chunkGroup.chunks,
@@ -137,11 +172,11 @@ export var RouterPlugin = /* @__PURE__ */ function() {
137
172
  referenceCssAssets: referenceCssAssets
138
173
  };
139
174
  if (prevManifest.routeAssets[name]) {
140
- mergeWith(routeAssets[name], prevManifest.routeAssets[name], function(obj, source2) {
175
+ mergeWith(routeAssets[name], prevManifest.routeAssets[name], function(obj, source) {
141
176
  if (Array.isArray(obj)) {
142
- return obj.concat(source2);
177
+ return obj.concat(source);
143
178
  }
144
- return Object.assign(source2, obj);
179
+ return Object.assign(source, obj);
145
180
  });
146
181
  }
147
182
  }
@@ -162,14 +197,6 @@ export var RouterPlugin = /* @__PURE__ */ function() {
162
197
  manifest = {
163
198
  routeAssets: routeAssets
164
199
  };
165
- injectedContent = "\n ;(function(){\n window.".concat(ROUTE_MANIFEST, " = ").concat(JSON.stringify(manifest, function(k, v) {
166
- if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
167
- return v.map(function(item) {
168
- return item.replace(publicPath, "");
169
- });
170
- }
171
- return v;
172
- }), ";\n })();\n ");
173
200
  entrypointsArray = Array.from(compilation.entrypoints.entries());
174
201
  entryChunkIds = entrypointsArray.map(function(entrypoint) {
175
202
  return entrypoint[0];
@@ -188,24 +215,8 @@ export var RouterPlugin = /* @__PURE__ */ function() {
188
215
  entryChunkFileIds = entryChunks.map(function(chunk) {
189
216
  return chunk.id;
190
217
  });
191
- for (i = 0; i <= entryChunkFiles.length - 1; i++) {
192
- file = entryChunkFiles[i];
193
- chunkId = entryChunkFileIds[i];
194
- asset = compilation.assets[file];
195
- if (!asset) {
196
- continue;
197
- }
198
- source = asset.sourceAndMap().source;
199
- map = chunkToSourceMap.get(chunkId);
200
- newContent = "".concat(injectedContent).concat(source.toString());
201
- newSource = new SourceMapSource(newContent, file, map, source.toString(), map);
202
- compilation.updateAsset(
203
- file,
204
- newSource,
205
- // FIXME: The arguments third of updatgeAsset is a optional function in webpack.
206
- void 0
207
- );
208
- }
218
+ for (i = 0; i <= entryChunkFiles.length - 1; i++)
219
+ _loop(i);
209
220
  if (prevManifestAsset) {
210
221
  compilation.updateAsset(
211
222
  ROUTE_MANIFEST_FILE,
package/dist/esm/index.js CHANGED
@@ -4,7 +4,7 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import path from "path";
6
6
  import { lintPlugin } from "@modern-js/plugin-lint";
7
- import { cleanRequireCache, emptyDir, Import, getCommand, getArgv } from "@modern-js/utils";
7
+ import { cleanRequireCache, emptyDir, getCommand, getArgv } from "@modern-js/utils";
8
8
  import { castArray } from "@modern-js/utils/lodash";
9
9
  import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
10
10
  import analyzePlugin from "./analyze";
@@ -16,7 +16,6 @@ import { generateWatchFiles } from "./utils/generateWatchFiles";
16
16
  export { mergeConfig } from "@modern-js/core";
17
17
  export * from "./defineConfig";
18
18
  export * from "./types";
19
- var upgradeModel = Import.lazy("@modern-js/upgrade", require);
20
19
  export var devCommand = function() {
21
20
  var _ref = _async_to_generator(function(program, api) {
22
21
  var runner, devToolMetas, devProgram, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, meta, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, subCmd;
@@ -325,6 +324,7 @@ export var appTools = function() {
325
324
  commands: function commands(param) {
326
325
  var program = param.program;
327
326
  return _async_to_generator(function() {
327
+ var defineCommand;
328
328
  return _ts_generator(this, function(_state) {
329
329
  switch (_state.label) {
330
330
  case 0:
@@ -464,7 +464,13 @@ export var appTools = function() {
464
464
  return _ref.apply(this, arguments);
465
465
  };
466
466
  }());
467
- upgradeModel.defineCommand(program.command("upgrade").option("-c --config <config>", i18n.t(localeKeys.command.shared.config)));
467
+ return [
468
+ 4,
469
+ import("@modern-js/upgrade")
470
+ ];
471
+ case 3:
472
+ defineCommand = _state.sent().defineCommand;
473
+ defineCommand(program.command("upgrade").option("-c --config <config>", i18n.t(localeKeys.command.shared.config)));
468
474
  return [
469
475
  2
470
476
  ];
@@ -109,18 +109,6 @@ export class RouterPlugin {
109
109
  const manifest = {
110
110
  routeAssets
111
111
  };
112
- const injectedContent = `
113
- ;(function(){
114
- window.${ROUTE_MANIFEST} = ${JSON.stringify(manifest, (k, v) => {
115
- if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
116
- return v.map((item) => {
117
- return item.replace(publicPath, "");
118
- });
119
- }
120
- return v;
121
- })};
122
- })();
123
- `;
124
112
  const entrypointsArray = Array.from(compilation.entrypoints.entries());
125
113
  const entryChunkIds = entrypointsArray.map((entrypoint) => entrypoint[0]);
126
114
  const entryChunks = [
@@ -140,6 +128,27 @@ export class RouterPlugin {
140
128
  if (!asset) {
141
129
  continue;
142
130
  }
131
+ const relatedAssets = {};
132
+ Object.keys(routeAssets).forEach((routeId) => {
133
+ if (routeId.startsWith(`${chunkId}_`)) {
134
+ relatedAssets[routeId] = routeAssets[routeId];
135
+ }
136
+ });
137
+ const manifest2 = {
138
+ routeAssets: relatedAssets
139
+ };
140
+ const injectedContent = `
141
+ ;(function(){
142
+ window.${ROUTE_MANIFEST} = ${JSON.stringify(manifest2, (k, v) => {
143
+ if ((k === "assets" || k === "referenceCssAssets") && Array.isArray(v)) {
144
+ return v.map((item) => {
145
+ return item.replace(publicPath, "");
146
+ });
147
+ }
148
+ return v;
149
+ })};
150
+ })();
151
+ `;
143
152
  const { source } = asset.sourceAndMap();
144
153
  const map = chunkToSourceMap.get(chunkId);
145
154
  const newContent = `${injectedContent}${source.toString()}`;
@@ -1,6 +1,6 @@
1
1
  import path from "path";
2
2
  import { lintPlugin } from "@modern-js/plugin-lint";
3
- import { cleanRequireCache, emptyDir, Import, getCommand, getArgv } from "@modern-js/utils";
3
+ import { cleanRequireCache, emptyDir, getCommand, getArgv } from "@modern-js/utils";
4
4
  import { castArray } from "@modern-js/utils/lodash";
5
5
  import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
6
6
  import analyzePlugin from "./analyze";
@@ -12,7 +12,6 @@ import { generateWatchFiles } from "./utils/generateWatchFiles";
12
12
  export { mergeConfig } from "@modern-js/core";
13
13
  export * from "./defineConfig";
14
14
  export * from "./types";
15
- const upgradeModel = Import.lazy("@modern-js/upgrade", require);
16
15
  export const devCommand = async (program, api) => {
17
16
  const runner = api.useHookRunners();
18
17
  const devToolMetas = await runner.registerDev();
@@ -131,7 +130,8 @@ export const appTools = (options = {
131
130
  const { inspect } = await import("./commands/inspect");
132
131
  inspect(api, options2);
133
132
  });
134
- upgradeModel.defineCommand(program.command("upgrade").option("-c --config <config>", i18n.t(localeKeys.command.shared.config)));
133
+ const { defineCommand } = await import("@modern-js/upgrade");
134
+ defineCommand(program.command("upgrade").option("-c --config <config>", i18n.t(localeKeys.command.shared.config)));
135
135
  },
136
136
  async prepare() {
137
137
  const command = getCommand();
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.25.2",
18
+ "version": "2.26.1-alpha.0",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -73,23 +73,24 @@
73
73
  "esbuild": "0.17.19",
74
74
  "rspack-plugin-virtual-module": "0.1.0",
75
75
  "@swc/helpers": "0.5.1",
76
- "@modern-js/builder": "2.25.2",
77
- "@modern-js/builder-plugin-esbuild": "2.25.2",
78
- "@modern-js/builder-plugin-node-polyfill": "2.25.2",
79
- "@modern-js/builder-shared": "2.25.2",
80
- "@modern-js/builder-webpack-provider": "2.25.2",
81
- "@modern-js/core": "2.25.2",
82
- "@modern-js/new-action": "2.25.2",
83
- "@modern-js/node-bundle-require": "2.25.2",
84
- "@modern-js/plugin": "2.25.2",
85
- "@modern-js/plugin-data-loader": "2.25.2",
86
- "@modern-js/plugin-i18n": "2.25.2",
87
- "@modern-js/plugin-lint": "2.25.2",
88
- "@modern-js/prod-server": "2.25.2",
89
- "@modern-js/server": "2.25.2",
90
- "@modern-js/types": "2.25.2",
91
- "@modern-js/upgrade": "2.25.2",
92
- "@modern-js/utils": "2.25.2"
76
+ "@modern-js/builder": "2.26.0",
77
+ "@modern-js/builder-plugin-node-polyfill": "2.26.0",
78
+ "@modern-js/builder-plugin-esbuild": "2.26.0",
79
+ "@modern-js/core": "2.26.0",
80
+ "@modern-js/builder-shared": "2.26.0",
81
+ "@modern-js/builder-webpack-provider": "2.26.0",
82
+ "@modern-js/new-action": "2.26.0",
83
+ "@modern-js/node-bundle-require": "2.26.0",
84
+ "@modern-js/plugin": "2.26.0",
85
+ "@modern-js/plugin-lint": "2.26.0",
86
+ "@modern-js/prod-server": "2.26.0",
87
+ "@modern-js/plugin-i18n": "2.26.0",
88
+ "@modern-js/server": "2.26.0",
89
+ "@modern-js/types": "2.26.0",
90
+ "@modern-js/utils": "2.26.0",
91
+ "@modern-js/server-core": "2.26.0",
92
+ "@modern-js/upgrade": "2.26.0",
93
+ "@modern-js/plugin-data-loader": "2.26.0"
93
94
  },
94
95
  "devDependencies": {
95
96
  "@types/babel__traverse": "^7.14.2",
@@ -98,14 +99,13 @@
98
99
  "jest": "^29",
99
100
  "typescript": "^5",
100
101
  "webpack": "^5.88.1",
101
- "@modern-js/builder-plugin-swc": "2.25.2",
102
- "@modern-js/builder-rspack-provider": "2.25.2",
103
- "@modern-js/server-core": "2.25.2",
104
- "@scripts/jest-config": "2.25.2",
105
- "@scripts/build": "2.25.2"
102
+ "@modern-js/builder-rspack-provider": "2.26.0",
103
+ "@modern-js/builder-plugin-swc": "2.26.0",
104
+ "@scripts/build": "2.26.0",
105
+ "@scripts/jest-config": "2.26.0"
106
106
  },
107
107
  "peerDependencies": {
108
- "@modern-js/builder-rspack-provider": "^2.25.2"
108
+ "@modern-js/builder-rspack-provider": "^2.26.0"
109
109
  },
110
110
  "peerDependenciesMeta": {
111
111
  "@modern-js/builder-rspack-provider": {