@modern-js/app-tools 2.54.3 → 2.54.5

Sign up to get free protection for your applications and to get access to all the features.
package/dist/cjs/index.js CHANGED
@@ -147,7 +147,7 @@ const appTools = (options = {
147
147
  },
148
148
  async beforeRestart() {
149
149
  (0, import_utils.cleanRequireCache)([
150
- require.resolve("./analyze")
150
+ require.resolve("./plugins/analyze")
151
151
  ]);
152
152
  },
153
153
  async modifyFileSystemRoutes({ entrypoint, routes }) {
@@ -36,20 +36,10 @@ var import_utils = require("@modern-js/utils");
36
36
  var import_pkg_types = require("pkg-types");
37
37
  var import_mlly = require("mlly");
38
38
  var import_utils2 = require("./utils");
39
- const handleDependencies = async (appDir, serverRootDir, include, entryFilter) => {
39
+ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = import_utils2.traceFiles, entryFilter, modifyPackageJson, copyWholePackage }) => {
40
40
  const base = "/";
41
41
  const entryFiles = await (0, import_utils2.findEntryFiles)(serverRootDir, entryFilter);
42
- const includeEntries = include.map((item) => {
43
- if ((0, import_node_path.isAbsolute)(item)) {
44
- return item;
45
- }
46
- try {
47
- return require.resolve(item);
48
- } catch (error) {
49
- }
50
- return item;
51
- });
52
- const fileTrace = await (0, import_utils2.traceFiles)(entryFiles.concat(includeEntries), serverRootDir, base);
42
+ const fileTrace = await traceFiles(entryFiles.concat(includeEntries), serverRootDir, base);
53
43
  const currentProjectModules = import_node_path.default.join(appDir, "node_modules");
54
44
  const tracedFiles = Object.fromEntries(await Promise.all([
55
45
  ...fileTrace.reasons.entries()
@@ -143,9 +133,18 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
143
133
  }
144
134
  tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
145
135
  }
146
- tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
147
136
  tracedFile.pkgName = pkgName;
148
137
  tracedFile.pkgVersion = pkgJSON.version;
138
+ const shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
139
+ if (tracedFile.path.startsWith(tracedFile.pkgPath) && // Merged package files are based on the version, not on paths, to handle some boundary cases
140
+ tracedPackageVersion.pkgJSON.version === tracedFile.pkgVersion) {
141
+ if (shouldCopyWholePackage) {
142
+ const allFiles = await (0, import_utils2.readDirRecursive)(tracedFile.pkgPath);
143
+ tracedPackageVersion.files.push(...allFiles);
144
+ } else {
145
+ tracedPackageVersion.files.push(tracedFile.path);
146
+ }
147
+ }
149
148
  }
150
149
  const multiVersionPkgs = {};
151
150
  const singleVersionPackages = [];
@@ -163,7 +162,11 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
163
162
  await Promise.all(singleVersionPackages.map((pkgName) => {
164
163
  const pkg = tracedPackages[pkgName];
165
164
  const version = Object.keys(pkg.versions)[0];
166
- return (0, import_utils2.writePackage)(pkg, version, serverRootDir);
165
+ return (0, import_utils2.writePackage)({
166
+ pkg,
167
+ version,
168
+ projectDir: serverRootDir
169
+ });
167
170
  }));
168
171
  const projectPkgJson = await (0, import_pkg_types.readPackageJSON)(serverRootDir).catch(() => ({}));
169
172
  for (const [pkgName, pkgVersions] of Object.entries(multiVersionPkgs)) {
@@ -190,7 +193,12 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
190
193
  for (const [version, parentPkgs] of versionEntires) {
191
194
  const pkg = tracedPackages[pkgName];
192
195
  const pkgDestPath = `.modernjs/${pkgName}@${version}/node_modules/${pkgName}`;
193
- await (0, import_utils2.writePackage)(pkg, version, serverRootDir, pkgDestPath);
196
+ await (0, import_utils2.writePackage)({
197
+ pkg,
198
+ version,
199
+ projectDir: serverRootDir,
200
+ _pkgPath: pkgDestPath
201
+ });
194
202
  await (0, import_utils2.linkPackage)(pkgDestPath, `${pkgName}`, serverRootDir);
195
203
  for (const parentPkg of parentPkgs) {
196
204
  const parentPkgName = parentPkg.replace(/@[^@]+$/, "");
@@ -199,7 +207,7 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
199
207
  }
200
208
  }
201
209
  const outputPkgPath = import_node_path.default.join(serverRootDir, "package.json");
202
- await import_utils.fs.writeJSON(outputPkgPath, {
210
+ const newPkgJson = {
203
211
  name: `${projectPkgJson.name || "modernjs-project"}-prod`,
204
212
  version: projectPkgJson.version || "0.0.0",
205
213
  private: true,
@@ -209,7 +217,9 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
209
217
  Object.keys(pkg.versions)[0]
210
218
  ])
211
219
  ].sort(([a], [b]) => a.localeCompare(b)))
212
- });
220
+ };
221
+ const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
222
+ await import_utils.fs.writeJSON(outputPkgPath, finalPkgJson);
213
223
  };
214
224
  // Annotate the CommonJS export names for ESM import in node:
215
225
  0 && (module.exports = {
@@ -50,7 +50,8 @@ function applyPublicCondition(pkg) {
50
50
  pkg.exports = pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig1 = pkg.publishConfig) === null || _pkg_publishConfig1 === void 0 ? void 0 : _pkg_publishConfig1.exports;
51
51
  }
52
52
  }
53
- const writePackage = async (pkg, version, projectDir, _pkgPath) => {
53
+ const writePackage = async (options) => {
54
+ const { pkg, version, projectDir, _pkgPath } = options;
54
55
  const pkgPath = _pkgPath || pkg.name;
55
56
  for (const src of pkg.versions[version].files) {
56
57
  if (src.includes("node_modules")) {
@@ -124,31 +125,23 @@ const findEntryFiles = async (rootDir, entryFilter) => {
124
125
  const findPackageParents = (pkg, version, tracedFiles) => {
125
126
  const versionFiles = pkg.versions[version].files.map((path2) => tracedFiles[path2]);
126
127
  const parentPkgs = [
127
- ...new Set(versionFiles.flatMap((file) => file.parents.map((parentPath) => {
128
- const parentFile = tracedFiles[parentPath];
129
- if (!parentFile || parentFile.pkgName === pkg.name) {
130
- return null;
131
- }
132
- return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
133
- }).filter(Boolean)))
128
+ ...new Set(versionFiles.flatMap((file) => (
129
+ // Because it supports copyWholePackage configuration, not all files exist.
130
+ file === null || file === void 0 ? void 0 : file.parents.map((parentPath) => {
131
+ const parentFile = tracedFiles[parentPath];
132
+ if (!parentFile || parentFile.pkgName === pkg.name) {
133
+ return null;
134
+ }
135
+ return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
136
+ }).filter(Boolean)
137
+ )))
134
138
  ];
135
- return parentPkgs;
139
+ return parentPkgs.filter((parentPkg) => parentPkg);
136
140
  };
137
141
  const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
138
142
  return await (0, import_nft.nodeFileTrace)(entryFiles, {
139
143
  base,
140
- processCwd: serverRootDir,
141
- resolve: async (id, parent, job, isCjs) => {
142
- if (id.startsWith("@modern-js/prod-server")) {
143
- return require.resolve(id, {
144
- paths: [
145
- require.resolve("@modern-js/app-tools")
146
- ]
147
- });
148
- } else {
149
- return (0, import_nft.resolve)(id, parent, job, isCjs);
150
- }
151
- }
144
+ processCwd: serverRootDir
152
145
  });
153
146
  };
154
147
  const resolveTracedPath = async (base, p) => import_utils.fs.realpath(import_path.default.resolve(base, p));
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var exports_exports = {};
20
+ __export(exports_exports, {
21
+ handleDependencies: () => import_dependencies.handleDependencies
22
+ });
23
+ module.exports = __toCommonJS(exports_exports);
24
+ var import_dependencies = require("./dependencies");
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ handleDependencies
28
+ });
@@ -126,9 +126,13 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
126
126
  if (!needModernServer) {
127
127
  return;
128
128
  }
129
- await (0, import_dependencies.handleDependencies)(appDirectory, funcsDirectory, [
130
- "@modern-js/prod-server"
131
- ]);
129
+ await (0, import_dependencies.handleDependencies)({
130
+ appDir: appDirectory,
131
+ serverRootDir: funcsDirectory,
132
+ includeEntries: [
133
+ require.resolve("@modern-js/prod-server")
134
+ ]
135
+ });
132
136
  }
133
137
  };
134
138
  };
@@ -80,9 +80,14 @@ const createNodePreset = (appContext, config) => {
80
80
  const filter = (filePath) => {
81
81
  return !filePath.startsWith(staticDirectory);
82
82
  };
83
- await (0, import_dependencies.handleDependencies)(appDirectory, outputDirectory, [
84
- "@modern-js/prod-server"
85
- ], filter);
83
+ await (0, import_dependencies.handleDependencies)({
84
+ appDir: appDirectory,
85
+ serverRootDir: outputDirectory,
86
+ includeEntries: [
87
+ require.resolve("@modern-js/prod-server")
88
+ ],
89
+ entryFilter: filter
90
+ });
86
91
  }
87
92
  };
88
93
  };
@@ -138,9 +138,13 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
138
138
  if (!needModernServer) {
139
139
  return;
140
140
  }
141
- await (0, import_dependencies.handleDependencies)(appDirectory, funcsDirectory, [
142
- "@modern-js/prod-server"
143
- ]);
141
+ await (0, import_dependencies.handleDependencies)({
142
+ appDir: appDirectory,
143
+ serverRootDir: funcsDirectory,
144
+ includeEntries: [
145
+ require.resolve("@modern-js/prod-server")
146
+ ]
147
+ });
144
148
  }
145
149
  };
146
150
  };
package/dist/esm/index.js CHANGED
@@ -219,7 +219,7 @@ var appTools = function() {
219
219
  return _async_to_generator(function() {
220
220
  return _ts_generator(this, function(_state) {
221
221
  cleanRequireCache([
222
- require.resolve("./analyze")
222
+ require.resolve("./plugins/analyze")
223
223
  ]);
224
224
  return [
225
225
  2
@@ -3,17 +3,18 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
3
3
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import { _ as _ts_values } from "@swc/helpers/_/_ts_values";
6
- import path, { isAbsolute } from "node:path";
6
+ import path from "node:path";
7
7
  import { fs as fse, pkgUp, semver } from "@modern-js/utils";
8
8
  import { readPackageJSON } from "pkg-types";
9
9
  import { parseNodeModulePath } from "mlly";
10
- import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles, findPackageParents, resolveTracedPath } from "./utils";
10
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
11
11
  var handleDependencies = function() {
12
- var _ref = _async_to_generator(function(appDir, serverRootDir, include, entryFilter) {
13
- var base, entryFiles, includeEntries, fileTrace, currentProjectModules, tracedFiles, _, tracedPackages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, tracedFile, pkgName, tracedPackage, pkgJSON, tracedPackageVersion, 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;
12
+ var _ref = _async_to_generator(function(param) {
13
+ var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, base, entryFiles, fileTrace, currentProjectModules, 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;
14
14
  return _ts_generator(this, function(_state) {
15
15
  switch (_state.label) {
16
16
  case 0:
17
+ 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;
17
18
  base = "/";
18
19
  return [
19
20
  4,
@@ -21,16 +22,6 @@ var handleDependencies = function() {
21
22
  ];
22
23
  case 1:
23
24
  entryFiles = _state.sent();
24
- includeEntries = include.map(function(item) {
25
- if (isAbsolute(item)) {
26
- return item;
27
- }
28
- try {
29
- return require.resolve(item);
30
- } catch (error) {
31
- }
32
- return item;
33
- });
34
25
  return [
35
26
  4,
36
27
  traceFiles(entryFiles.concat(includeEntries), serverRootDir, base)
@@ -42,12 +33,12 @@ var handleDependencies = function() {
42
33
  return [
43
34
  4,
44
35
  Promise.all(_to_consumable_array(fileTrace.reasons.entries()).map(function() {
45
- var _ref2 = _async_to_generator(function(param) {
36
+ var _ref2 = _async_to_generator(function(param2) {
46
37
  var _param, _path, reasons, filePath, baseDir, pkgName2, subpath, pkgPath, parsed, MODERN_UTILS_PATH, MODERN_UTILS_PATH_REGEX, match, packageJsonPath, _tmp, packageJson, parents, tracedFile2;
47
38
  return _ts_generator(this, function(_state2) {
48
39
  switch (_state2.label) {
49
40
  case 0:
50
- _param = _sliced_to_array(param, 2), _path = _param[0], reasons = _param[1];
41
+ _param = _sliced_to_array(param2, 2), _path = _param[0], reasons = _param[1];
51
42
  if (reasons.ignored) {
52
43
  return [
53
44
  2
@@ -180,9 +171,9 @@ var handleDependencies = function() {
180
171
  case 4:
181
172
  _state.trys.push([
182
173
  4,
183
- 9,
184
- 10,
185
- 11
174
+ 11,
175
+ 12,
176
+ 13
186
177
  ]);
187
178
  _iterator = Object.values(tracedFiles)[Symbol.iterator]();
188
179
  _state.label = 5;
@@ -190,7 +181,7 @@ var handleDependencies = function() {
190
181
  if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
191
182
  return [
192
183
  3,
193
- 8
184
+ 10
194
185
  ];
195
186
  tracedFile = _step.value;
196
187
  pkgName = tracedFile.pkgName;
@@ -230,30 +221,54 @@ var handleDependencies = function() {
230
221
  }
231
222
  tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
232
223
  }
233
- tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
234
224
  tracedFile.pkgName = pkgName;
235
225
  tracedFile.pkgVersion = pkgJSON.version;
236
- _state.label = 7;
226
+ shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
227
+ if (!(tracedFile.path.startsWith(tracedFile.pkgPath) && // Merged package files are based on the version, not on paths, to handle some boundary cases
228
+ tracedPackageVersion.pkgJSON.version === tracedFile.pkgVersion))
229
+ return [
230
+ 3,
231
+ 9
232
+ ];
233
+ if (!shouldCopyWholePackage)
234
+ return [
235
+ 3,
236
+ 8
237
+ ];
238
+ return [
239
+ 4,
240
+ readDirRecursive(tracedFile.pkgPath)
241
+ ];
237
242
  case 7:
243
+ allFiles = _state.sent();
244
+ (_tracedPackageVersion_files = tracedPackageVersion.files).push.apply(_tracedPackageVersion_files, _to_consumable_array(allFiles));
245
+ return [
246
+ 3,
247
+ 9
248
+ ];
249
+ case 8:
250
+ tracedPackageVersion.files.push(tracedFile.path);
251
+ _state.label = 9;
252
+ case 9:
238
253
  _iteratorNormalCompletion = true;
239
254
  return [
240
255
  3,
241
256
  5
242
257
  ];
243
- case 8:
258
+ case 10:
244
259
  return [
245
260
  3,
246
- 11
261
+ 13
247
262
  ];
248
- case 9:
263
+ case 11:
249
264
  err = _state.sent();
250
265
  _didIteratorError = true;
251
266
  _iteratorError = err;
252
267
  return [
253
268
  3,
254
- 11
269
+ 13
255
270
  ];
256
- case 10:
271
+ case 12:
257
272
  try {
258
273
  if (!_iteratorNormalCompletion && _iterator.return != null) {
259
274
  _iterator.return();
@@ -266,7 +281,7 @@ var handleDependencies = function() {
266
281
  return [
267
282
  7
268
283
  ];
269
- case 11:
284
+ case 13:
270
285
  multiVersionPkgs = {};
271
286
  singleVersionPackages = [];
272
287
  _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
@@ -319,10 +334,14 @@ var handleDependencies = function() {
319
334
  Promise.all(singleVersionPackages.map(function(pkgName2) {
320
335
  var pkg = tracedPackages[pkgName2];
321
336
  var version2 = Object.keys(pkg.versions)[0];
322
- return writePackage(pkg, version2, serverRootDir);
337
+ return writePackage({
338
+ pkg,
339
+ version: version2,
340
+ projectDir: serverRootDir
341
+ });
323
342
  }))
324
343
  ];
325
- case 12:
344
+ case 14:
326
345
  _state.sent();
327
346
  return [
328
347
  4,
@@ -330,16 +349,16 @@ var handleDependencies = function() {
330
349
  return {};
331
350
  })
332
351
  ];
333
- case 13:
352
+ case 15:
334
353
  projectPkgJson = _state.sent();
335
354
  _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
336
- _state.label = 14;
337
- case 14:
355
+ _state.label = 16;
356
+ case 16:
338
357
  _state.trys.push([
339
- 14,
340
- 19,
341
- 20,
342
- 21
358
+ 16,
359
+ 21,
360
+ 22,
361
+ 23
343
362
  ]);
344
363
  _loop = function() {
345
364
  var _step_value, pkgName2, pkgVersions, versionEntires, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, _step_value1, version2, parentPkgs, pkg, pkgDestPath, _iteratorNormalCompletion12, _didIteratorError12, _iteratorError12, _iterator12, _step12, parentPkg, parentPkgName, err2, err2;
@@ -347,8 +366,8 @@ var handleDependencies = function() {
347
366
  switch (_state2.label) {
348
367
  case 0:
349
368
  _step_value = _sliced_to_array(_step3.value, 2), pkgName2 = _step_value[0], pkgVersions = _step_value[1];
350
- versionEntires = Object.entries(pkgVersions).sort(function(param, param1) {
351
- var _param = _sliced_to_array(param, 2), v1 = _param[0], p1 = _param[1], _param1 = _sliced_to_array(param1, 2), v2 = _param1[0], p2 = _param1[1];
369
+ versionEntires = Object.entries(pkgVersions).sort(function(param2, param1) {
370
+ var _param = _sliced_to_array(param2, 2), v1 = _param[0], p1 = _param[1], _param1 = _sliced_to_array(param1, 2), v2 = _param1[0], p2 = _param1[1];
352
371
  var _tracedPackages_pkgName_versions_v1, _tracedPackages_pkgName_versions, _tracedPackages_pkgName, _tracedPackages_pkgName_versions_v2, _tracedPackages_pkgName_versions1, _tracedPackages_pkgName1;
353
372
  var shouldHoist1 = (_tracedPackages_pkgName = tracedPackages[pkgName2]) === null || _tracedPackages_pkgName === void 0 ? void 0 : (_tracedPackages_pkgName_versions = _tracedPackages_pkgName.versions) === null || _tracedPackages_pkgName_versions === void 0 ? void 0 : (_tracedPackages_pkgName_versions_v1 = _tracedPackages_pkgName_versions[v1]) === null || _tracedPackages_pkgName_versions_v1 === void 0 ? void 0 : _tracedPackages_pkgName_versions_v1.isDirectDep;
354
373
  var shouldHoist2 = (_tracedPackages_pkgName1 = tracedPackages[pkgName2]) === null || _tracedPackages_pkgName1 === void 0 ? void 0 : (_tracedPackages_pkgName_versions1 = _tracedPackages_pkgName1.versions) === null || _tracedPackages_pkgName_versions1 === void 0 ? void 0 : (_tracedPackages_pkgName_versions_v2 = _tracedPackages_pkgName_versions1[v2]) === null || _tracedPackages_pkgName_versions_v2 === void 0 ? void 0 : _tracedPackages_pkgName_versions_v2.isDirectDep;
@@ -390,7 +409,12 @@ var handleDependencies = function() {
390
409
  pkgDestPath = ".modernjs/".concat(pkgName2, "@").concat(version2, "/node_modules/").concat(pkgName2);
391
410
  return [
392
411
  4,
393
- writePackage(pkg, version2, serverRootDir, pkgDestPath)
412
+ writePackage({
413
+ pkg,
414
+ version: version2,
415
+ projectDir: serverRootDir,
416
+ _pkgPath: pkgDestPath
417
+ })
394
418
  ];
395
419
  case 3:
396
420
  _state2.sent();
@@ -498,40 +522,40 @@ var handleDependencies = function() {
498
522
  });
499
523
  };
500
524
  _iterator3 = Object.entries(multiVersionPkgs)[Symbol.iterator]();
501
- _state.label = 15;
502
- case 15:
525
+ _state.label = 17;
526
+ case 17:
503
527
  if (!!(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done))
504
528
  return [
505
529
  3,
506
- 18
530
+ 20
507
531
  ];
508
532
  return [
509
533
  5,
510
534
  _ts_values(_loop())
511
535
  ];
512
- case 16:
536
+ case 18:
513
537
  _state.sent();
514
- _state.label = 17;
515
- case 17:
538
+ _state.label = 19;
539
+ case 19:
516
540
  _iteratorNormalCompletion3 = true;
517
541
  return [
518
542
  3,
519
- 15
543
+ 17
520
544
  ];
521
- case 18:
545
+ case 20:
522
546
  return [
523
547
  3,
524
- 21
548
+ 23
525
549
  ];
526
- case 19:
550
+ case 21:
527
551
  err = _state.sent();
528
552
  _didIteratorError3 = true;
529
553
  _iteratorError3 = err;
530
554
  return [
531
555
  3,
532
- 21
556
+ 23
533
557
  ];
534
- case 20:
558
+ case 22:
535
559
  try {
536
560
  if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
537
561
  _iterator3.return();
@@ -544,26 +568,28 @@ var handleDependencies = function() {
544
568
  return [
545
569
  7
546
570
  ];
547
- case 21:
571
+ case 23:
548
572
  outputPkgPath = path.join(serverRootDir, "package.json");
573
+ newPkgJson = {
574
+ name: "".concat(projectPkgJson.name || "modernjs-project", "-prod"),
575
+ version: projectPkgJson.version || "0.0.0",
576
+ private: true,
577
+ dependencies: Object.fromEntries(_to_consumable_array(Object.values(tracedPackages).map(function(pkg) {
578
+ return [
579
+ pkg.name,
580
+ Object.keys(pkg.versions)[0]
581
+ ];
582
+ })).sort(function(param2, param1) {
583
+ var _param = _sliced_to_array(param2, 1), a = _param[0], _param1 = _sliced_to_array(param1, 1), b = _param1[0];
584
+ return a.localeCompare(b);
585
+ }))
586
+ };
587
+ finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
549
588
  return [
550
589
  4,
551
- fse.writeJSON(outputPkgPath, {
552
- name: "".concat(projectPkgJson.name || "modernjs-project", "-prod"),
553
- version: projectPkgJson.version || "0.0.0",
554
- private: true,
555
- dependencies: Object.fromEntries(_to_consumable_array(Object.values(tracedPackages).map(function(pkg) {
556
- return [
557
- pkg.name,
558
- Object.keys(pkg.versions)[0]
559
- ];
560
- })).sort(function(param, param1) {
561
- var _param = _sliced_to_array(param, 1), a = _param[0], _param1 = _sliced_to_array(param1, 1), b = _param1[0];
562
- return a.localeCompare(b);
563
- }))
564
- })
590
+ fse.writeJSON(outputPkgPath, finalPkgJson)
565
591
  ];
566
- case 22:
592
+ case 24:
567
593
  _state.sent();
568
594
  return [
569
595
  2
@@ -571,7 +597,7 @@ var handleDependencies = function() {
571
597
  }
572
598
  });
573
599
  });
574
- return function handleDependencies2(appDir, serverRootDir, include, entryFilter) {
600
+ return function handleDependencies2(_) {
575
601
  return _ref.apply(this, arguments);
576
602
  };
577
603
  }();
@@ -5,7 +5,7 @@ import path from "path";
5
5
  import os from "node:os";
6
6
  import { fs as fse } from "@modern-js/utils";
7
7
  import { parseNodeModulePath } from "mlly";
8
- import { nodeFileTrace, resolve } from "@vercel/nft";
8
+ import { nodeFileTrace } from "@vercel/nft";
9
9
  function applyPublicCondition(pkg) {
10
10
  var _pkg_publishConfig;
11
11
  if (pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig = pkg.publishConfig) === null || _pkg_publishConfig === void 0 ? void 0 : _pkg_publishConfig.exports) {
@@ -14,11 +14,12 @@ function applyPublicCondition(pkg) {
14
14
  }
15
15
  }
16
16
  var writePackage = function() {
17
- var _ref = _async_to_generator(function(pkg, version, projectDir, _pkgPath) {
18
- var pkgPath, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, src, subpath, dest, dirname, subpath1, dest1, dirname1, err, pkgJSON, packageJsonPath;
17
+ var _ref = _async_to_generator(function(options) {
18
+ var pkg, version, projectDir, _pkgPath, pkgPath, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, src, subpath, dest, dirname, subpath1, dest1, dirname1, err, pkgJSON, packageJsonPath;
19
19
  return _ts_generator(this, function(_state) {
20
20
  switch (_state.label) {
21
21
  case 0:
22
+ pkg = options.pkg, version = options.version, projectDir = options.projectDir, _pkgPath = options._pkgPath;
22
23
  pkgPath = _pkgPath || pkg.name;
23
24
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
24
25
  _state.label = 1;
@@ -133,7 +134,7 @@ var writePackage = function() {
133
134
  }
134
135
  });
135
136
  });
136
- return function writePackage2(pkg, version, projectDir, _pkgPath) {
137
+ return function writePackage2(options) {
137
138
  return _ref.apply(this, arguments);
138
139
  };
139
140
  }();
@@ -318,15 +319,20 @@ var findPackageParents = function(pkg, version, tracedFiles) {
318
319
  return tracedFiles[path2];
319
320
  });
320
321
  var parentPkgs = _to_consumable_array(new Set(versionFiles.flatMap(function(file) {
321
- return file.parents.map(function(parentPath) {
322
- var parentFile = tracedFiles[parentPath];
323
- if (!parentFile || parentFile.pkgName === pkg.name) {
324
- return null;
325
- }
326
- return "".concat(parentFile.pkgName, "@").concat(parentFile.pkgVersion);
327
- }).filter(Boolean);
322
+ return (
323
+ // Because it supports copyWholePackage configuration, not all files exist.
324
+ file === null || file === void 0 ? void 0 : file.parents.map(function(parentPath) {
325
+ var parentFile = tracedFiles[parentPath];
326
+ if (!parentFile || parentFile.pkgName === pkg.name) {
327
+ return null;
328
+ }
329
+ return "".concat(parentFile.pkgName, "@").concat(parentFile.pkgVersion);
330
+ }).filter(Boolean)
331
+ );
328
332
  })));
329
- return parentPkgs;
333
+ return parentPkgs.filter(function(parentPkg) {
334
+ return parentPkg;
335
+ });
330
336
  };
331
337
  var traceFiles = function() {
332
338
  var _ref = _async_to_generator(function(entryFiles, serverRootDir) {
@@ -340,34 +346,7 @@ var traceFiles = function() {
340
346
  4,
341
347
  nodeFileTrace(entryFiles, {
342
348
  base,
343
- processCwd: serverRootDir,
344
- resolve: function() {
345
- var _ref2 = _async_to_generator(function(id, parent, job, isCjs) {
346
- return _ts_generator(this, function(_state2) {
347
- if (id.startsWith("@modern-js/prod-server")) {
348
- return [
349
- 2,
350
- require.resolve(id, {
351
- paths: [
352
- require.resolve("@modern-js/app-tools")
353
- ]
354
- })
355
- ];
356
- } else {
357
- return [
358
- 2,
359
- resolve(id, parent, job, isCjs)
360
- ];
361
- }
362
- return [
363
- 2
364
- ];
365
- });
366
- });
367
- return function(id, parent, job, isCjs) {
368
- return _ref2.apply(this, arguments);
369
- };
370
- }()
349
+ processCwd: serverRootDir
371
350
  })
372
351
  ];
373
352
  case 1:
@@ -0,0 +1,4 @@
1
+ import { handleDependencies } from "./dependencies";
2
+ export {
3
+ handleDependencies
4
+ };
@@ -275,9 +275,13 @@ var createNetlifyPreset = function(appContext, modernConfig, needModernServer) {
275
275
  }
276
276
  return [
277
277
  4,
278
- handleDependencies(appDirectory, funcsDirectory, [
279
- "@modern-js/prod-server"
280
- ])
278
+ handleDependencies({
279
+ appDir: appDirectory,
280
+ serverRootDir: funcsDirectory,
281
+ includeEntries: [
282
+ require.resolve("@modern-js/prod-server")
283
+ ]
284
+ })
281
285
  ];
282
286
  case 3:
283
287
  _state.sent();
@@ -108,9 +108,14 @@ var createNodePreset = function(appContext, config) {
108
108
  };
109
109
  return [
110
110
  4,
111
- handleDependencies(appDirectory, outputDirectory, [
112
- "@modern-js/prod-server"
113
- ], filter)
111
+ handleDependencies({
112
+ appDir: appDirectory,
113
+ serverRootDir: outputDirectory,
114
+ includeEntries: [
115
+ require.resolve("@modern-js/prod-server")
116
+ ],
117
+ entryFilter: filter
118
+ })
114
119
  ];
115
120
  case 1:
116
121
  _state.sent();
@@ -209,9 +209,13 @@ var createVercelPreset = function(appContext, modernConfig, needModernServer) {
209
209
  }
210
210
  return [
211
211
  4,
212
- handleDependencies(appDirectory, funcsDirectory, [
213
- "@modern-js/prod-server"
214
- ])
212
+ handleDependencies({
213
+ appDir: appDirectory,
214
+ serverRootDir: funcsDirectory,
215
+ includeEntries: [
216
+ require.resolve("@modern-js/prod-server")
217
+ ]
218
+ })
215
219
  ];
216
220
  case 1:
217
221
  _state.sent();
@@ -110,7 +110,7 @@ const appTools = (options = {
110
110
  },
111
111
  async beforeRestart() {
112
112
  cleanRequireCache([
113
- require.resolve("./analyze")
113
+ require.resolve("./plugins/analyze")
114
114
  ]);
115
115
  },
116
116
  async modifyFileSystemRoutes({ entrypoint, routes }) {
@@ -1,21 +1,11 @@
1
- import path, { isAbsolute } from "node:path";
1
+ import path from "node:path";
2
2
  import { fs as fse, pkgUp, semver } from "@modern-js/utils";
3
3
  import { readPackageJSON } from "pkg-types";
4
4
  import { parseNodeModulePath } from "mlly";
5
- import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles, findPackageParents, resolveTracedPath } from "./utils";
6
- const handleDependencies = async (appDir, serverRootDir, include, entryFilter) => {
5
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
6
+ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = defaultTraceFiles, entryFilter, modifyPackageJson, copyWholePackage }) => {
7
7
  const base = "/";
8
8
  const entryFiles = await findEntryFiles(serverRootDir, entryFilter);
9
- const includeEntries = include.map((item) => {
10
- if (isAbsolute(item)) {
11
- return item;
12
- }
13
- try {
14
- return require.resolve(item);
15
- } catch (error) {
16
- }
17
- return item;
18
- });
19
9
  const fileTrace = await traceFiles(entryFiles.concat(includeEntries), serverRootDir, base);
20
10
  const currentProjectModules = path.join(appDir, "node_modules");
21
11
  const tracedFiles = Object.fromEntries(await Promise.all([
@@ -110,9 +100,18 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
110
100
  }
111
101
  tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
112
102
  }
113
- tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
114
103
  tracedFile.pkgName = pkgName;
115
104
  tracedFile.pkgVersion = pkgJSON.version;
105
+ const shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
106
+ if (tracedFile.path.startsWith(tracedFile.pkgPath) && // Merged package files are based on the version, not on paths, to handle some boundary cases
107
+ tracedPackageVersion.pkgJSON.version === tracedFile.pkgVersion) {
108
+ if (shouldCopyWholePackage) {
109
+ const allFiles = await readDirRecursive(tracedFile.pkgPath);
110
+ tracedPackageVersion.files.push(...allFiles);
111
+ } else {
112
+ tracedPackageVersion.files.push(tracedFile.path);
113
+ }
114
+ }
116
115
  }
117
116
  const multiVersionPkgs = {};
118
117
  const singleVersionPackages = [];
@@ -130,7 +129,11 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
130
129
  await Promise.all(singleVersionPackages.map((pkgName) => {
131
130
  const pkg = tracedPackages[pkgName];
132
131
  const version = Object.keys(pkg.versions)[0];
133
- return writePackage(pkg, version, serverRootDir);
132
+ return writePackage({
133
+ pkg,
134
+ version,
135
+ projectDir: serverRootDir
136
+ });
134
137
  }));
135
138
  const projectPkgJson = await readPackageJSON(serverRootDir).catch(() => ({}));
136
139
  for (const [pkgName, pkgVersions] of Object.entries(multiVersionPkgs)) {
@@ -157,7 +160,12 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
157
160
  for (const [version, parentPkgs] of versionEntires) {
158
161
  const pkg = tracedPackages[pkgName];
159
162
  const pkgDestPath = `.modernjs/${pkgName}@${version}/node_modules/${pkgName}`;
160
- await writePackage(pkg, version, serverRootDir, pkgDestPath);
163
+ await writePackage({
164
+ pkg,
165
+ version,
166
+ projectDir: serverRootDir,
167
+ _pkgPath: pkgDestPath
168
+ });
161
169
  await linkPackage(pkgDestPath, `${pkgName}`, serverRootDir);
162
170
  for (const parentPkg of parentPkgs) {
163
171
  const parentPkgName = parentPkg.replace(/@[^@]+$/, "");
@@ -166,7 +174,7 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
166
174
  }
167
175
  }
168
176
  const outputPkgPath = path.join(serverRootDir, "package.json");
169
- await fse.writeJSON(outputPkgPath, {
177
+ const newPkgJson = {
170
178
  name: `${projectPkgJson.name || "modernjs-project"}-prod`,
171
179
  version: projectPkgJson.version || "0.0.0",
172
180
  private: true,
@@ -176,7 +184,9 @@ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) =
176
184
  Object.keys(pkg.versions)[0]
177
185
  ])
178
186
  ].sort(([a], [b]) => a.localeCompare(b)))
179
- });
187
+ };
188
+ const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
189
+ await fse.writeJSON(outputPkgPath, finalPkgJson);
180
190
  };
181
191
  export {
182
192
  handleDependencies
@@ -2,7 +2,7 @@ import path from "path";
2
2
  import os from "node:os";
3
3
  import { fs as fse } from "@modern-js/utils";
4
4
  import { parseNodeModulePath } from "mlly";
5
- import { nodeFileTrace, resolve } from "@vercel/nft";
5
+ import { nodeFileTrace } from "@vercel/nft";
6
6
  function applyPublicCondition(pkg) {
7
7
  var _pkg_publishConfig;
8
8
  if (pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig = pkg.publishConfig) === null || _pkg_publishConfig === void 0 ? void 0 : _pkg_publishConfig.exports) {
@@ -10,7 +10,8 @@ function applyPublicCondition(pkg) {
10
10
  pkg.exports = pkg === null || pkg === void 0 ? void 0 : (_pkg_publishConfig1 = pkg.publishConfig) === null || _pkg_publishConfig1 === void 0 ? void 0 : _pkg_publishConfig1.exports;
11
11
  }
12
12
  }
13
- const writePackage = async (pkg, version, projectDir, _pkgPath) => {
13
+ const writePackage = async (options) => {
14
+ const { pkg, version, projectDir, _pkgPath } = options;
14
15
  const pkgPath = _pkgPath || pkg.name;
15
16
  for (const src of pkg.versions[version].files) {
16
17
  if (src.includes("node_modules")) {
@@ -84,31 +85,23 @@ const findEntryFiles = async (rootDir, entryFilter) => {
84
85
  const findPackageParents = (pkg, version, tracedFiles) => {
85
86
  const versionFiles = pkg.versions[version].files.map((path2) => tracedFiles[path2]);
86
87
  const parentPkgs = [
87
- ...new Set(versionFiles.flatMap((file) => file.parents.map((parentPath) => {
88
- const parentFile = tracedFiles[parentPath];
89
- if (!parentFile || parentFile.pkgName === pkg.name) {
90
- return null;
91
- }
92
- return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
93
- }).filter(Boolean)))
88
+ ...new Set(versionFiles.flatMap((file) => (
89
+ // Because it supports copyWholePackage configuration, not all files exist.
90
+ file === null || file === void 0 ? void 0 : file.parents.map((parentPath) => {
91
+ const parentFile = tracedFiles[parentPath];
92
+ if (!parentFile || parentFile.pkgName === pkg.name) {
93
+ return null;
94
+ }
95
+ return `${parentFile.pkgName}@${parentFile.pkgVersion}`;
96
+ }).filter(Boolean)
97
+ )))
94
98
  ];
95
- return parentPkgs;
99
+ return parentPkgs.filter((parentPkg) => parentPkg);
96
100
  };
97
101
  const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
98
102
  return await nodeFileTrace(entryFiles, {
99
103
  base,
100
- processCwd: serverRootDir,
101
- resolve: async (id, parent, job, isCjs) => {
102
- if (id.startsWith("@modern-js/prod-server")) {
103
- return require.resolve(id, {
104
- paths: [
105
- require.resolve("@modern-js/app-tools")
106
- ]
107
- });
108
- } else {
109
- return resolve(id, parent, job, isCjs);
110
- }
111
- }
104
+ processCwd: serverRootDir
112
105
  });
113
106
  };
114
107
  const resolveTracedPath = async (base, p) => fse.realpath(path.resolve(base, p));
@@ -0,0 +1,4 @@
1
+ import { handleDependencies } from "./dependencies";
2
+ export {
3
+ handleDependencies
4
+ };
@@ -93,9 +93,13 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
93
93
  if (!needModernServer) {
94
94
  return;
95
95
  }
96
- await handleDependencies(appDirectory, funcsDirectory, [
97
- "@modern-js/prod-server"
98
- ]);
96
+ await handleDependencies({
97
+ appDir: appDirectory,
98
+ serverRootDir: funcsDirectory,
99
+ includeEntries: [
100
+ require.resolve("@modern-js/prod-server")
101
+ ]
102
+ });
99
103
  }
100
104
  };
101
105
  };
@@ -47,9 +47,14 @@ const createNodePreset = (appContext, config) => {
47
47
  const filter = (filePath) => {
48
48
  return !filePath.startsWith(staticDirectory);
49
49
  };
50
- await handleDependencies(appDirectory, outputDirectory, [
51
- "@modern-js/prod-server"
52
- ], filter);
50
+ await handleDependencies({
51
+ appDir: appDirectory,
52
+ serverRootDir: outputDirectory,
53
+ includeEntries: [
54
+ require.resolve("@modern-js/prod-server")
55
+ ],
56
+ entryFilter: filter
57
+ });
53
58
  }
54
59
  };
55
60
  };
@@ -105,9 +105,13 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
105
105
  if (!needModernServer) {
106
106
  return;
107
107
  }
108
- await handleDependencies(appDirectory, funcsDirectory, [
109
- "@modern-js/prod-server"
110
- ]);
108
+ await handleDependencies({
109
+ appDir: appDirectory,
110
+ serverRootDir: funcsDirectory,
111
+ includeEntries: [
112
+ require.resolve("@modern-js/prod-server")
113
+ ]
114
+ });
111
115
  }
112
116
  };
113
117
  };
@@ -1 +1,11 @@
1
- export declare const handleDependencies: (appDir: string, serverRootDir: string, include: string[], entryFilter?: ((filePath: string) => boolean) | undefined) => Promise<void>;
1
+ import type { PackageJson } from 'pkg-types';
2
+ import { traceFiles as defaultTraceFiles } from './utils';
3
+ export declare const handleDependencies: ({ appDir, serverRootDir, includeEntries, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, }: {
4
+ appDir: string;
5
+ serverRootDir: string;
6
+ includeEntries: string[];
7
+ traceFiles?: ((entryFiles: string[], serverRootDir: string, base?: string) => Promise<import("@vercel/nft").NodeFileTraceResult>) | undefined;
8
+ entryFilter?: ((filePath: string) => boolean) | undefined;
9
+ modifyPackageJson?: ((pkgJson: PackageJson) => PackageJson) | undefined;
10
+ copyWholePackage?: ((pkgName: string) => boolean) | undefined;
11
+ }) => Promise<void>;
@@ -17,7 +17,13 @@ export type TracedFile = {
17
17
  pkgName: string;
18
18
  pkgVersion?: string;
19
19
  };
20
- export declare const writePackage: (pkg: TracedPackage, version: string, projectDir: string, _pkgPath?: string) => Promise<void>;
20
+ interface WritePackageOptions {
21
+ pkg: TracedPackage;
22
+ version: string;
23
+ projectDir: string;
24
+ _pkgPath?: string;
25
+ }
26
+ export declare const writePackage: (options: WritePackageOptions) => Promise<void>;
21
27
  export declare const linkPackage: (from: string, to: string, projectRootDir: string) => Promise<void>;
22
28
  interface ReadDirOptions {
23
29
  filter?: (filePath: string) => boolean;
@@ -0,0 +1 @@
1
+ export { handleDependencies } from './dependencies';
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.54.3",
18
+ "version": "2.54.5",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -43,6 +43,11 @@
43
43
  "types": "./dist/types/exports/server.d.ts",
44
44
  "jsnext:source": "./src/exports/server.ts",
45
45
  "default": "./dist/cjs/exports/server.js"
46
+ },
47
+ "./deploy": {
48
+ "types": "./dist/types/plugins/deploy/exports.d.ts",
49
+ "jsnext:source": "./src/plugins/deploy/exports.ts",
50
+ "default": "./dist/cjs/plugins/deploy/exports.js"
46
51
  }
47
52
  },
48
53
  "engines": {
@@ -58,6 +63,9 @@
58
63
  ],
59
64
  "server": [
60
65
  "./dist/types/exports/server.d.ts"
66
+ ],
67
+ "deploy": [
68
+ "./dist/types/plugins/deploy/exports.d.ts"
61
69
  ]
62
70
  }
63
71
  },
@@ -69,9 +77,9 @@
69
77
  "@babel/parser": "^7.22.15",
70
78
  "@babel/traverse": "^7.23.2",
71
79
  "@babel/types": "^7.23.0",
72
- "@rsbuild/plugin-node-polyfill": "0.7.9",
73
- "@rsbuild/shared": "0.7.9",
74
- "@rsbuild/core": "0.7.9",
80
+ "@rsbuild/plugin-node-polyfill": "0.7.10",
81
+ "@rsbuild/shared": "0.7.10",
82
+ "@rsbuild/core": "0.7.10",
75
83
  "@swc/helpers": "0.5.3",
76
84
  "@vercel/nft": "^0.26.4",
77
85
  "es-module-lexer": "^1.1.0",
@@ -80,23 +88,23 @@
80
88
  "mlly": "^1.6.1",
81
89
  "pkg-types": "^1.1.0",
82
90
  "std-env": "^3.7.0",
83
- "@modern-js/core": "2.54.3",
84
- "@modern-js/node-bundle-require": "2.54.3",
85
- "@modern-js/plugin-i18n": "2.54.3",
86
- "@modern-js/plugin-data-loader": "2.54.3",
87
- "@modern-js/plugin": "2.54.3",
88
- "@modern-js/plugin-lint": "2.54.3",
89
- "@modern-js/prod-server": "2.54.3",
90
- "@modern-js/rsbuild-plugin-esbuild": "2.54.3",
91
- "@modern-js/server": "2.54.3",
92
- "@modern-js/types": "2.54.3",
93
- "@modern-js/server-core": "2.54.3",
94
- "@modern-js/uni-builder": "2.54.3",
95
- "@modern-js/server-utils": "2.54.3",
96
- "@modern-js/utils": "2.54.3"
91
+ "@modern-js/core": "2.54.5",
92
+ "@modern-js/node-bundle-require": "2.54.5",
93
+ "@modern-js/plugin-data-loader": "2.54.5",
94
+ "@modern-js/plugin-i18n": "2.54.5",
95
+ "@modern-js/plugin": "2.54.5",
96
+ "@modern-js/prod-server": "2.54.5",
97
+ "@modern-js/rsbuild-plugin-esbuild": "2.54.5",
98
+ "@modern-js/plugin-lint": "2.54.5",
99
+ "@modern-js/server": "2.54.5",
100
+ "@modern-js/server-core": "2.54.5",
101
+ "@modern-js/server-utils": "2.54.5",
102
+ "@modern-js/types": "2.54.5",
103
+ "@modern-js/uni-builder": "2.54.5",
104
+ "@modern-js/utils": "2.54.5"
97
105
  },
98
106
  "devDependencies": {
99
- "@rsbuild/plugin-swc": "0.7.9",
107
+ "@rsbuild/plugin-swc": "0.7.10",
100
108
  "@types/babel__traverse": "7.18.5",
101
109
  "@types/jest": "^29",
102
110
  "@types/node": "^14",
@@ -105,8 +113,8 @@
105
113
  "tsconfig-paths": "^4.2.0",
106
114
  "typescript": "^5",
107
115
  "webpack": "^5.92.0",
108
- "@scripts/jest-config": "2.54.3",
109
- "@scripts/build": "2.54.3"
116
+ "@scripts/build": "2.54.5",
117
+ "@scripts/jest-config": "2.54.5"
110
118
  },
111
119
  "sideEffects": false,
112
120
  "publishConfig": {