@modern-js/app-tools 2.54.2-alpha.3 → 2.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/cjs/commands/build.js +1 -1
  2. package/dist/cjs/commands/deploy.js +2 -1
  3. package/dist/cjs/commands/dev.js +1 -1
  4. package/dist/cjs/commands/serve.js +1 -1
  5. package/dist/cjs/plugins/deploy/dependencies/index.js +17 -26
  6. package/dist/cjs/plugins/deploy/dependencies/utils.js +20 -14
  7. package/dist/cjs/plugins/deploy/platforms/netlify.js +3 -7
  8. package/dist/cjs/plugins/deploy/platforms/node.js +3 -8
  9. package/dist/cjs/plugins/deploy/platforms/vercel.js +3 -7
  10. package/dist/cjs/utils/loadPlugins.js +6 -5
  11. package/dist/esm/commands/build.js +1 -1
  12. package/dist/esm/commands/deploy.js +3 -2
  13. package/dist/esm/commands/dev.js +1 -1
  14. package/dist/esm/commands/serve.js +1 -1
  15. package/dist/esm/plugins/deploy/dependencies/index.js +69 -94
  16. package/dist/esm/plugins/deploy/dependencies/utils.js +39 -19
  17. package/dist/esm/plugins/deploy/platforms/netlify.js +3 -7
  18. package/dist/esm/plugins/deploy/platforms/node.js +3 -8
  19. package/dist/esm/plugins/deploy/platforms/vercel.js +3 -7
  20. package/dist/esm/utils/loadPlugins.js +11 -6
  21. package/dist/esm-node/commands/build.js +1 -1
  22. package/dist/esm-node/commands/deploy.js +2 -1
  23. package/dist/esm-node/commands/dev.js +1 -1
  24. package/dist/esm-node/commands/serve.js +1 -1
  25. package/dist/esm-node/plugins/deploy/dependencies/index.js +18 -27
  26. package/dist/esm-node/plugins/deploy/dependencies/utils.js +21 -15
  27. package/dist/esm-node/plugins/deploy/platforms/netlify.js +3 -7
  28. package/dist/esm-node/plugins/deploy/platforms/node.js +3 -8
  29. package/dist/esm-node/plugins/deploy/platforms/vercel.js +3 -7
  30. package/dist/esm-node/utils/loadPlugins.js +6 -5
  31. package/dist/types/plugins/deploy/dependencies/index.d.ts +1 -11
  32. package/dist/types/plugins/deploy/dependencies/utils.d.ts +1 -7
  33. package/dist/types/utils/loadPlugins.d.ts +2 -2
  34. package/package.json +17 -25
  35. package/dist/cjs/plugins/deploy/exports.js +0 -28
  36. package/dist/esm/plugins/deploy/exports.js +0 -4
  37. package/dist/esm-node/plugins/deploy/exports.js +0 -4
  38. package/dist/js/modern/analyze/constants.js +0 -15
  39. package/dist/js/modern/analyze/generateCode.js +0 -179
  40. package/dist/js/modern/analyze/getBundleEntry.js +0 -75
  41. package/dist/js/modern/analyze/getClientRoutes.js +0 -219
  42. package/dist/js/modern/analyze/getFileSystemEntry.js +0 -74
  43. package/dist/js/modern/analyze/getHtmlTemplate.js +0 -82
  44. package/dist/js/modern/analyze/getServerRoutes.js +0 -192
  45. package/dist/js/modern/analyze/index.js +0 -148
  46. package/dist/js/modern/analyze/isDefaultExportFunction.js +0 -32
  47. package/dist/js/modern/analyze/makeLegalIdentifier.js +0 -16
  48. package/dist/js/modern/analyze/templates.js +0 -88
  49. package/dist/js/modern/analyze/utils.js +0 -92
  50. package/dist/js/modern/commands/build.js +0 -154
  51. package/dist/js/modern/commands/deploy.js +0 -5
  52. package/dist/js/modern/commands/dev.js +0 -95
  53. package/dist/js/modern/commands/index.js +0 -3
  54. package/dist/js/modern/commands/inspect.js +0 -69
  55. package/dist/js/modern/commands/start.js +0 -31
  56. package/dist/js/modern/exports/server.js +0 -1
  57. package/dist/js/modern/hooks.js +0 -21
  58. package/dist/js/modern/index.js +0 -109
  59. package/dist/js/modern/locale/en.js +0 -35
  60. package/dist/js/modern/locale/index.js +0 -9
  61. package/dist/js/modern/locale/zh.js +0 -35
  62. package/dist/js/modern/utils/config.js +0 -78
  63. package/dist/js/modern/utils/createCompiler.js +0 -61
  64. package/dist/js/modern/utils/createServer.js +0 -18
  65. package/dist/js/modern/utils/getSpecifiedEntries.js +0 -36
  66. package/dist/js/modern/utils/language.js +0 -5
  67. package/dist/js/modern/utils/printInstructions.js +0 -11
  68. package/dist/js/modern/utils/routes.js +0 -15
  69. package/dist/js/modern/utils/types.js +0 -0
  70. package/dist/js/node/analyze/constants.js +0 -36
  71. package/dist/js/node/analyze/generateCode.js +0 -208
  72. package/dist/js/node/analyze/getBundleEntry.js +0 -89
  73. package/dist/js/node/analyze/getClientRoutes.js +0 -241
  74. package/dist/js/node/analyze/getFileSystemEntry.js +0 -90
  75. package/dist/js/node/analyze/getHtmlTemplate.js +0 -106
  76. package/dist/js/node/analyze/getServerRoutes.js +0 -208
  77. package/dist/js/node/analyze/index.js +0 -178
  78. package/dist/js/node/analyze/isDefaultExportFunction.js +0 -50
  79. package/dist/js/node/analyze/makeLegalIdentifier.js +0 -24
  80. package/dist/js/node/analyze/templates.js +0 -106
  81. package/dist/js/node/analyze/utils.js +0 -113
  82. package/dist/js/node/commands/build.js +0 -174
  83. package/dist/js/node/commands/deploy.js +0 -14
  84. package/dist/js/node/commands/dev.js +0 -120
  85. package/dist/js/node/commands/index.js +0 -44
  86. package/dist/js/node/commands/inspect.js +0 -98
  87. package/dist/js/node/commands/start.js +0 -47
  88. package/dist/js/node/exports/server.js +0 -13
  89. package/dist/js/node/hooks.js +0 -39
  90. package/dist/js/node/index.js +0 -141
  91. package/dist/js/node/locale/en.js +0 -42
  92. package/dist/js/node/locale/index.js +0 -20
  93. package/dist/js/node/locale/zh.js +0 -42
  94. package/dist/js/node/utils/config.js +0 -103
  95. package/dist/js/node/utils/createCompiler.js +0 -81
  96. package/dist/js/node/utils/createServer.js +0 -35
  97. package/dist/js/node/utils/getSpecifiedEntries.js +0 -46
  98. package/dist/js/node/utils/language.js +0 -13
  99. package/dist/js/node/utils/printInstructions.js +0 -22
  100. package/dist/js/node/utils/routes.js +0 -25
  101. package/dist/js/node/utils/types.js +0 -0
  102. package/dist/types/plugins/deploy/exports.d.ts +0 -1
@@ -35,7 +35,7 @@ const build = async (api, options) => {
35
35
  let resolvedConfig = api.useResolvedConfigContext();
36
36
  const appContext = api.useAppContext();
37
37
  const hookRunners = api.useHookRunners();
38
- await (0, import_loadPlugins.loadServerPlugins)(api, appContext.appDirectory);
38
+ await (0, import_loadPlugins.loadServerPlugins)(api, appContext.appDirectory, appContext.metaName);
39
39
  await (0, import_register.registerCompiler)(appContext.appDirectory, appContext.distDirectory, resolvedConfig === null || resolvedConfig === void 0 ? void 0 : (_resolvedConfig_source = resolvedConfig.source) === null || _resolvedConfig_source === void 0 ? void 0 : _resolvedConfig_source.alias);
40
40
  const { apiOnly } = appContext;
41
41
  if (apiOnly) {
@@ -24,7 +24,8 @@ module.exports = __toCommonJS(deploy_exports);
24
24
  var import_loadPlugins = require("../utils/loadPlugins");
25
25
  const deploy = async (api, options) => {
26
26
  const hookRunners = api.useHookRunners();
27
- await (0, import_loadPlugins.getServerPlugins)(api);
27
+ const { metaName } = api.useAppContext();
28
+ await (0, import_loadPlugins.getServerPlugins)(api, metaName);
28
29
  await hookRunners.beforeDeploy(options);
29
30
  await hookRunners.deploy(options);
30
31
  await hookRunners.afterDeploy(options);
@@ -70,7 +70,7 @@ const dev = async (api, options, devServerOptions = {}) => {
70
70
  throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
71
71
  }
72
72
  await (0, import_routes.generateRoutes)(appContext);
73
- const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory);
73
+ const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory, metaName);
74
74
  const serverOptions = {
75
75
  metaName,
76
76
  dev: {
@@ -50,7 +50,7 @@ const start = async (api) => {
50
50
  }
51
51
  const meta = (0, import_utils.getMeta)(metaName);
52
52
  const serverConfigPath = import_path.default.resolve(distDirectory, import_utils.SERVER_DIR, `${meta}.server`);
53
- const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory);
53
+ const pluginInstances = await (0, import_loadPlugins.loadServerPlugins)(api, appDirectory, metaName);
54
54
  const app = await (0, import_prod_server.createProdServer)({
55
55
  metaName,
56
56
  pwd: distDirectory,
@@ -36,10 +36,20 @@ 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, includeEntries, traceFiles = import_utils2.traceFiles, entryFilter, modifyPackageJson, copyWholePackage }) => {
39
+ const handleDependencies = async (appDir, serverRootDir, include, entryFilter) => {
40
40
  const base = "/";
41
41
  const entryFiles = await (0, import_utils2.findEntryFiles)(serverRootDir, entryFilter);
42
- const fileTrace = await traceFiles(entryFiles.concat(includeEntries), serverRootDir, base);
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);
43
53
  const currentProjectModules = import_node_path.default.join(appDir, "node_modules");
44
54
  const tracedFiles = Object.fromEntries(await Promise.all([
45
55
  ...fileTrace.reasons.entries()
@@ -133,17 +143,9 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
133
143
  }
134
144
  tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
135
145
  }
146
+ tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
136
147
  tracedFile.pkgName = pkgName;
137
148
  tracedFile.pkgVersion = pkgJSON.version;
138
- const shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
139
- if (tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath) {
140
- if (shouldCopyWholePackage) {
141
- const allFiles = await (0, import_utils2.readDirRecursive)(tracedFile.pkgPath);
142
- tracedPackageVersion.files.push(...allFiles);
143
- } else {
144
- tracedPackageVersion.files.push(tracedFile.path);
145
- }
146
- }
147
149
  }
148
150
  const multiVersionPkgs = {};
149
151
  const singleVersionPackages = [];
@@ -161,11 +163,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
161
163
  await Promise.all(singleVersionPackages.map((pkgName) => {
162
164
  const pkg = tracedPackages[pkgName];
163
165
  const version = Object.keys(pkg.versions)[0];
164
- return (0, import_utils2.writePackage)({
165
- pkg,
166
- version,
167
- projectDir: serverRootDir
168
- });
166
+ return (0, import_utils2.writePackage)(pkg, version, serverRootDir);
169
167
  }));
170
168
  const projectPkgJson = await (0, import_pkg_types.readPackageJSON)(serverRootDir).catch(() => ({}));
171
169
  for (const [pkgName, pkgVersions] of Object.entries(multiVersionPkgs)) {
@@ -192,12 +190,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
192
190
  for (const [version, parentPkgs] of versionEntires) {
193
191
  const pkg = tracedPackages[pkgName];
194
192
  const pkgDestPath = `.modernjs/${pkgName}@${version}/node_modules/${pkgName}`;
195
- await (0, import_utils2.writePackage)({
196
- pkg,
197
- version,
198
- projectDir: serverRootDir,
199
- _pkgPath: pkgDestPath
200
- });
193
+ await (0, import_utils2.writePackage)(pkg, version, serverRootDir, pkgDestPath);
201
194
  await (0, import_utils2.linkPackage)(pkgDestPath, `${pkgName}`, serverRootDir);
202
195
  for (const parentPkg of parentPkgs) {
203
196
  const parentPkgName = parentPkg.replace(/@[^@]+$/, "");
@@ -206,7 +199,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
206
199
  }
207
200
  }
208
201
  const outputPkgPath = import_node_path.default.join(serverRootDir, "package.json");
209
- const newPkgJson = {
202
+ await import_utils.fs.writeJSON(outputPkgPath, {
210
203
  name: `${projectPkgJson.name || "modernjs-project"}-prod`,
211
204
  version: projectPkgJson.version || "0.0.0",
212
205
  private: true,
@@ -216,9 +209,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
216
209
  Object.keys(pkg.versions)[0]
217
210
  ])
218
211
  ].sort(([a], [b]) => a.localeCompare(b)))
219
- };
220
- const finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
221
- await import_utils.fs.writeJSON(outputPkgPath, finalPkgJson);
212
+ });
222
213
  };
223
214
  // Annotate the CommonJS export names for ESM import in node:
224
215
  0 && (module.exports = {
@@ -50,8 +50,7 @@ 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 (options) => {
54
- const { pkg, version, projectDir, _pkgPath } = options;
53
+ const writePackage = async (pkg, version, projectDir, _pkgPath) => {
55
54
  const pkgPath = _pkgPath || pkg.name;
56
55
  for (const src of pkg.versions[version].files) {
57
56
  if (src.includes("node_modules")) {
@@ -125,24 +124,31 @@ const findEntryFiles = async (rootDir, entryFilter) => {
125
124
  const findPackageParents = (pkg, version, tracedFiles) => {
126
125
  const versionFiles = pkg.versions[version].files.map((path2) => tracedFiles[path2]);
127
126
  const parentPkgs = [
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
- )))
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)))
138
134
  ];
139
- return parentPkgs.filter((parentPkg) => parentPkg);
135
+ return parentPkgs;
140
136
  };
141
137
  const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
142
138
  return await (0, import_nft.nodeFileTrace)(entryFiles, {
143
139
  base,
144
140
  processCwd: serverRootDir,
145
- cache: /* @__PURE__ */ Object.create(null)
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
+ }
146
152
  });
147
153
  };
148
154
  const resolveTracedPath = async (base, p) => import_utils.fs.realpath(import_path.default.resolve(base, p));
@@ -124,13 +124,9 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
124
124
  if (!needModernServer) {
125
125
  return;
126
126
  }
127
- await (0, import_dependencies.handleDependencies)({
128
- appDir: appDirectory,
129
- serverRootDir: funcsDirectory,
130
- includeEntries: [
131
- require.resolve("@modern-js/prod-server")
132
- ]
133
- });
127
+ await (0, import_dependencies.handleDependencies)(appDirectory, funcsDirectory, [
128
+ "@modern-js/prod-server"
129
+ ]);
134
130
  }
135
131
  };
136
132
  };
@@ -78,14 +78,9 @@ const createNodePreset = (appContext, config) => {
78
78
  const filter = (filePath) => {
79
79
  return !filePath.startsWith(staticDirectory);
80
80
  };
81
- await (0, import_dependencies.handleDependencies)({
82
- appDir: appDirectory,
83
- serverRootDir: outputDirectory,
84
- includeEntries: [
85
- require.resolve("@modern-js/prod-server")
86
- ],
87
- entryFilter: filter
88
- });
81
+ await (0, import_dependencies.handleDependencies)(appDirectory, outputDirectory, [
82
+ "@modern-js/prod-server"
83
+ ], filter);
89
84
  }
90
85
  };
91
86
  };
@@ -136,13 +136,9 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
136
136
  if (!needModernServer) {
137
137
  return;
138
138
  }
139
- await (0, import_dependencies.handleDependencies)({
140
- appDir: appDirectory,
141
- serverRootDir: funcsDirectory,
142
- includeEntries: [
143
- require.resolve("@modern-js/prod-server")
144
- ]
145
- });
139
+ await (0, import_dependencies.handleDependencies)(appDirectory, funcsDirectory, [
140
+ "@modern-js/prod-server"
141
+ ]);
146
142
  }
147
143
  };
148
144
  };
@@ -23,19 +23,20 @@ __export(loadPlugins_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(loadPlugins_exports);
25
25
  var import_prod_server = require("@modern-js/prod-server");
26
- async function getServerPlugins(api) {
26
+ async function getServerPlugins(api, metaName = "modern-js") {
27
27
  const runner = api.useHookRunners();
28
28
  const { plugins } = await runner._internalServerPlugins({
29
29
  plugins: []
30
30
  });
31
+ const filtedPlugins = plugins.filter((plugin) => plugin.name.includes(metaName));
31
32
  api.setAppContext({
32
33
  ...api.useAppContext(),
33
- serverPlugins: plugins
34
+ serverPlugins: filtedPlugins
34
35
  });
35
- return plugins;
36
+ return filtedPlugins;
36
37
  }
37
- async function loadServerPlugins(api, appDirectory) {
38
- const plugins = await getServerPlugins(api);
38
+ async function loadServerPlugins(api, appDirectory, metaName) {
39
+ const plugins = await getServerPlugins(api, metaName);
39
40
  const instances = (0, import_prod_server.loadServerPlugins)(plugins, appDirectory);
40
41
  return instances;
41
42
  }
@@ -22,7 +22,7 @@ var build = function() {
22
22
  hookRunners = api.useHookRunners();
23
23
  return [
24
24
  4,
25
- loadServerPlugins(api, appContext.appDirectory)
25
+ loadServerPlugins(api, appContext.appDirectory, appContext.metaName)
26
26
  ];
27
27
  case 1:
28
28
  _state.sent();
@@ -3,14 +3,15 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { getServerPlugins } from "../utils/loadPlugins";
4
4
  var deploy = function() {
5
5
  var _ref = _async_to_generator(function(api, options) {
6
- var hookRunners;
6
+ var hookRunners, metaName;
7
7
  return _ts_generator(this, function(_state) {
8
8
  switch (_state.label) {
9
9
  case 0:
10
10
  hookRunners = api.useHookRunners();
11
+ metaName = api.useAppContext().metaName;
11
12
  return [
12
13
  4,
13
- getServerPlugins(api)
14
+ getServerPlugins(api, metaName)
14
15
  ];
15
16
  case 1:
16
17
  _state.sent();
@@ -68,7 +68,7 @@ var dev = function() {
68
68
  _state.sent();
69
69
  return [
70
70
  4,
71
- loadServerPlugins(api, appDirectory)
71
+ loadServerPlugins(api, appDirectory, metaName)
72
72
  ];
73
73
  case 5:
74
74
  pluginInstances = _state.sent();
@@ -31,7 +31,7 @@ var start = function() {
31
31
  serverConfigPath = path.resolve(distDirectory, SERVER_DIR, "".concat(meta, ".server"));
32
32
  return [
33
33
  4,
34
- loadServerPlugins(api, appDirectory)
34
+ loadServerPlugins(api, appDirectory, metaName)
35
35
  ];
36
36
  case 2:
37
37
  pluginInstances = _state.sent();
@@ -3,18 +3,17 @@ 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 from "node:path";
6
+ import path, { isAbsolute } 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 as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
10
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles, findPackageParents, resolveTracedPath } from "./utils";
11
11
  var handleDependencies = function() {
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;
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;
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;
18
17
  base = "/";
19
18
  return [
20
19
  4,
@@ -22,6 +21,16 @@ var handleDependencies = function() {
22
21
  ];
23
22
  case 1:
24
23
  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
+ });
25
34
  return [
26
35
  4,
27
36
  traceFiles(entryFiles.concat(includeEntries), serverRootDir, base)
@@ -33,12 +42,12 @@ var handleDependencies = function() {
33
42
  return [
34
43
  4,
35
44
  Promise.all(_to_consumable_array(fileTrace.reasons.entries()).map(function() {
36
- var _ref2 = _async_to_generator(function(param2) {
45
+ var _ref2 = _async_to_generator(function(param) {
37
46
  var _param, _path, reasons, filePath, baseDir, pkgName2, subpath, pkgPath, parsed, MODERN_UTILS_PATH, MODERN_UTILS_PATH_REGEX, match, packageJsonPath, _tmp, packageJson, parents, tracedFile2;
38
47
  return _ts_generator(this, function(_state2) {
39
48
  switch (_state2.label) {
40
49
  case 0:
41
- _param = _sliced_to_array(param2, 2), _path = _param[0], reasons = _param[1];
50
+ _param = _sliced_to_array(param, 2), _path = _param[0], reasons = _param[1];
42
51
  if (reasons.ignored) {
43
52
  return [
44
53
  2
@@ -171,9 +180,9 @@ var handleDependencies = function() {
171
180
  case 4:
172
181
  _state.trys.push([
173
182
  4,
174
- 11,
175
- 12,
176
- 13
183
+ 9,
184
+ 10,
185
+ 11
177
186
  ]);
178
187
  _iterator = Object.values(tracedFiles)[Symbol.iterator]();
179
188
  _state.label = 5;
@@ -181,7 +190,7 @@ var handleDependencies = function() {
181
190
  if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
182
191
  return [
183
192
  3,
184
- 10
193
+ 8
185
194
  ];
186
195
  tracedFile = _step.value;
187
196
  pkgName = tracedFile.pkgName;
@@ -221,53 +230,30 @@ var handleDependencies = function() {
221
230
  }
222
231
  tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
223
232
  }
233
+ tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
224
234
  tracedFile.pkgName = pkgName;
225
235
  tracedFile.pkgVersion = pkgJSON.version;
226
- shouldCopyWholePackage = copyWholePackage === null || copyWholePackage === void 0 ? void 0 : copyWholePackage(pkgName);
227
- if (!(tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath))
228
- return [
229
- 3,
230
- 9
231
- ];
232
- if (!shouldCopyWholePackage)
233
- return [
234
- 3,
235
- 8
236
- ];
237
- return [
238
- 4,
239
- readDirRecursive(tracedFile.pkgPath)
240
- ];
236
+ _state.label = 7;
241
237
  case 7:
242
- allFiles = _state.sent();
243
- (_tracedPackageVersion_files = tracedPackageVersion.files).push.apply(_tracedPackageVersion_files, _to_consumable_array(allFiles));
244
- return [
245
- 3,
246
- 9
247
- ];
248
- case 8:
249
- tracedPackageVersion.files.push(tracedFile.path);
250
- _state.label = 9;
251
- case 9:
252
238
  _iteratorNormalCompletion = true;
253
239
  return [
254
240
  3,
255
241
  5
256
242
  ];
257
- case 10:
243
+ case 8:
258
244
  return [
259
245
  3,
260
- 13
246
+ 11
261
247
  ];
262
- case 11:
248
+ case 9:
263
249
  err = _state.sent();
264
250
  _didIteratorError = true;
265
251
  _iteratorError = err;
266
252
  return [
267
253
  3,
268
- 13
254
+ 11
269
255
  ];
270
- case 12:
256
+ case 10:
271
257
  try {
272
258
  if (!_iteratorNormalCompletion && _iterator.return != null) {
273
259
  _iterator.return();
@@ -280,7 +266,7 @@ var handleDependencies = function() {
280
266
  return [
281
267
  7
282
268
  ];
283
- case 13:
269
+ case 11:
284
270
  multiVersionPkgs = {};
285
271
  singleVersionPackages = [];
286
272
  _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
@@ -333,14 +319,10 @@ var handleDependencies = function() {
333
319
  Promise.all(singleVersionPackages.map(function(pkgName2) {
334
320
  var pkg = tracedPackages[pkgName2];
335
321
  var version2 = Object.keys(pkg.versions)[0];
336
- return writePackage({
337
- pkg,
338
- version: version2,
339
- projectDir: serverRootDir
340
- });
322
+ return writePackage(pkg, version2, serverRootDir);
341
323
  }))
342
324
  ];
343
- case 14:
325
+ case 12:
344
326
  _state.sent();
345
327
  return [
346
328
  4,
@@ -348,16 +330,16 @@ var handleDependencies = function() {
348
330
  return {};
349
331
  })
350
332
  ];
351
- case 15:
333
+ case 13:
352
334
  projectPkgJson = _state.sent();
353
335
  _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
354
- _state.label = 16;
355
- case 16:
336
+ _state.label = 14;
337
+ case 14:
356
338
  _state.trys.push([
357
- 16,
358
- 21,
359
- 22,
360
- 23
339
+ 14,
340
+ 19,
341
+ 20,
342
+ 21
361
343
  ]);
362
344
  _loop = function() {
363
345
  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;
@@ -365,8 +347,8 @@ var handleDependencies = function() {
365
347
  switch (_state2.label) {
366
348
  case 0:
367
349
  _step_value = _sliced_to_array(_step3.value, 2), pkgName2 = _step_value[0], pkgVersions = _step_value[1];
368
- versionEntires = Object.entries(pkgVersions).sort(function(param2, param1) {
369
- 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];
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];
370
352
  var _tracedPackages_pkgName_versions_v1, _tracedPackages_pkgName_versions, _tracedPackages_pkgName, _tracedPackages_pkgName_versions_v2, _tracedPackages_pkgName_versions1, _tracedPackages_pkgName1;
371
353
  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;
372
354
  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;
@@ -408,12 +390,7 @@ var handleDependencies = function() {
408
390
  pkgDestPath = ".modernjs/".concat(pkgName2, "@").concat(version2, "/node_modules/").concat(pkgName2);
409
391
  return [
410
392
  4,
411
- writePackage({
412
- pkg,
413
- version: version2,
414
- projectDir: serverRootDir,
415
- _pkgPath: pkgDestPath
416
- })
393
+ writePackage(pkg, version2, serverRootDir, pkgDestPath)
417
394
  ];
418
395
  case 3:
419
396
  _state2.sent();
@@ -521,40 +498,40 @@ var handleDependencies = function() {
521
498
  });
522
499
  };
523
500
  _iterator3 = Object.entries(multiVersionPkgs)[Symbol.iterator]();
524
- _state.label = 17;
525
- case 17:
501
+ _state.label = 15;
502
+ case 15:
526
503
  if (!!(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done))
527
504
  return [
528
505
  3,
529
- 20
506
+ 18
530
507
  ];
531
508
  return [
532
509
  5,
533
510
  _ts_values(_loop())
534
511
  ];
535
- case 18:
512
+ case 16:
536
513
  _state.sent();
537
- _state.label = 19;
538
- case 19:
514
+ _state.label = 17;
515
+ case 17:
539
516
  _iteratorNormalCompletion3 = true;
540
517
  return [
541
518
  3,
542
- 17
519
+ 15
543
520
  ];
544
- case 20:
521
+ case 18:
545
522
  return [
546
523
  3,
547
- 23
524
+ 21
548
525
  ];
549
- case 21:
526
+ case 19:
550
527
  err = _state.sent();
551
528
  _didIteratorError3 = true;
552
529
  _iteratorError3 = err;
553
530
  return [
554
531
  3,
555
- 23
532
+ 21
556
533
  ];
557
- case 22:
534
+ case 20:
558
535
  try {
559
536
  if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
560
537
  _iterator3.return();
@@ -567,28 +544,26 @@ var handleDependencies = function() {
567
544
  return [
568
545
  7
569
546
  ];
570
- case 23:
547
+ case 21:
571
548
  outputPkgPath = path.join(serverRootDir, "package.json");
572
- newPkgJson = {
573
- name: "".concat(projectPkgJson.name || "modernjs-project", "-prod"),
574
- version: projectPkgJson.version || "0.0.0",
575
- private: true,
576
- dependencies: Object.fromEntries(_to_consumable_array(Object.values(tracedPackages).map(function(pkg) {
577
- return [
578
- pkg.name,
579
- Object.keys(pkg.versions)[0]
580
- ];
581
- })).sort(function(param2, param1) {
582
- var _param = _sliced_to_array(param2, 1), a = _param[0], _param1 = _sliced_to_array(param1, 1), b = _param1[0];
583
- return a.localeCompare(b);
584
- }))
585
- };
586
- finalPkgJson = (modifyPackageJson === null || modifyPackageJson === void 0 ? void 0 : modifyPackageJson(newPkgJson)) || newPkgJson;
587
549
  return [
588
550
  4,
589
- fse.writeJSON(outputPkgPath, finalPkgJson)
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
565
  ];
591
- case 24:
566
+ case 22:
592
567
  _state.sent();
593
568
  return [
594
569
  2
@@ -596,7 +571,7 @@ var handleDependencies = function() {
596
571
  }
597
572
  });
598
573
  });
599
- return function handleDependencies2(_) {
574
+ return function handleDependencies2(appDir, serverRootDir, include, entryFilter) {
600
575
  return _ref.apply(this, arguments);
601
576
  };
602
577
  }();