@modern-js/app-tools 2.54.3 → 2.54.5

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/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": {