@modern-js/app-tools 2.57.1-beta.1 → 2.57.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,8 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var dependencies_exports = {};
30
30
  __export(dependencies_exports, {
31
- handleDependencies: () => handleDependencies,
32
- nodeFileTrace: () => import_nft.nodeFileTrace
31
+ handleDependencies: () => handleDependencies
33
32
  });
34
33
  module.exports = __toCommonJS(dependencies_exports);
35
34
  var import_node_path = __toESM(require("node:path"));
@@ -37,7 +36,6 @@ var import_utils = require("@modern-js/utils");
37
36
  var import_pkg_types = require("pkg-types");
38
37
  var import_mlly = require("mlly");
39
38
  var import_utils2 = require("./utils");
40
- var import_nft = require("@vercel/nft");
41
39
  const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = import_utils2.traceFiles, entryFilter, modifyPackageJson, copyWholePackage }) => {
42
40
  const base = "/";
43
41
  const entryFiles = await (0, import_utils2.findEntryFiles)(serverRootDir, entryFilter);
@@ -51,7 +49,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
51
49
  return;
52
50
  }
53
51
  const filePath = await (0, import_utils2.resolveTracedPath)(base, _path);
54
- if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
52
+ if ((0, import_utils2.isSubPath)(serverRootDir, filePath) || (0, import_utils2.isSubPath)(appDir, filePath) && !(0, import_utils2.isSubPath)(currentProjectModules, filePath)) {
55
53
  return;
56
54
  }
57
55
  if (!await (0, import_utils2.isFile)(filePath)) {
@@ -74,7 +72,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
74
72
  const packageJsonPath = match ? import_node_path.default.join(match[0], "package.json") : await (0, import_utils.pkgUp)({
75
73
  cwd: import_node_path.default.dirname(filePath)
76
74
  });
77
- if (packageJsonPath === null || packageJsonPath === void 0 ? void 0 : packageJsonPath.startsWith(dependencySearchRoot)) {
75
+ if (packageJsonPath && (0, import_utils2.isSubPath)(dependencySearchRoot, packageJsonPath)) {
78
76
  const packageJson = await import_utils.fs.readJSON(packageJsonPath);
79
77
  pkgPath = baseDir = import_node_path.default.dirname(packageJsonPath);
80
78
  subpath = import_node_path.default.relative(baseDir, filePath);
@@ -91,7 +89,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
91
89
  path: filePath,
92
90
  parents,
93
91
  isDirectDep: parents.some((parent) => {
94
- return parent.startsWith(appDir) && !parent.startsWith(currentProjectModules);
92
+ return (0, import_utils2.isSubPath)(appDir, parent) && !(0, import_utils2.isSubPath)(currentProjectModules, parent);
95
93
  }),
96
94
  subpath,
97
95
  pkgName,
@@ -226,6 +224,5 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
226
224
  };
227
225
  // Annotate the CommonJS export names for ESM import in node:
228
226
  0 && (module.exports = {
229
- handleDependencies,
230
- nodeFileTrace
227
+ handleDependencies
231
228
  });
@@ -31,6 +31,7 @@ __export(utils_exports, {
31
31
  findEntryFiles: () => findEntryFiles,
32
32
  findPackageParents: () => findPackageParents,
33
33
  isFile: () => isFile,
34
+ isSubPath: () => isSubPath,
34
35
  linkPackage: () => linkPackage,
35
36
  readDirRecursive: () => readDirRecursive,
36
37
  resolveTracedPath: () => resolveTracedPath,
@@ -145,11 +146,19 @@ const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
145
146
  });
146
147
  };
147
148
  const resolveTracedPath = async (base, p) => import_utils.fs.realpath(import_path.default.resolve(base, p));
149
+ const isSubPath = (parentPath, childPath) => {
150
+ if (!parentPath || !childPath) {
151
+ return false;
152
+ }
153
+ const relative = import_path.default.relative(parentPath, childPath);
154
+ return relative && !relative.startsWith("..");
155
+ };
148
156
  // Annotate the CommonJS export names for ESM import in node:
149
157
  0 && (module.exports = {
150
158
  findEntryFiles,
151
159
  findPackageParents,
152
160
  isFile,
161
+ isSubPath,
153
162
  linkPackage,
154
163
  readDirRecursive,
155
164
  resolveTracedPath,
@@ -7,8 +7,7 @@ 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 as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
11
- import { nodeFileTrace } from "@vercel/nft";
10
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive, isSubPath } from "./utils";
12
11
  var handleDependencies = function() {
13
12
  var _ref = _async_to_generator(function(param) {
14
13
  var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, base, entryFiles, fileTrace, currentProjectModules, dependencySearchRoot, 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;
@@ -52,7 +51,7 @@ var handleDependencies = function() {
52
51
  ];
53
52
  case 1:
54
53
  filePath = _state2.sent();
55
- if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
54
+ if (isSubPath(serverRootDir, filePath) || isSubPath(appDir, filePath) && !isSubPath(currentProjectModules, filePath)) {
56
55
  return [
57
56
  2
58
57
  ];
@@ -107,7 +106,7 @@ var handleDependencies = function() {
107
106
  _state2.label = 6;
108
107
  case 6:
109
108
  packageJsonPath = _tmp;
110
- if (!(packageJsonPath === null || packageJsonPath === void 0 ? void 0 : packageJsonPath.startsWith(dependencySearchRoot)))
109
+ if (!(packageJsonPath && isSubPath(dependencySearchRoot, packageJsonPath)))
111
110
  return [
112
111
  3,
113
112
  8
@@ -140,7 +139,7 @@ var handleDependencies = function() {
140
139
  path: filePath,
141
140
  parents,
142
141
  isDirectDep: parents.some(function(parent) {
143
- return parent.startsWith(appDir) && !parent.startsWith(currentProjectModules);
142
+ return isSubPath(appDir, parent) && !isSubPath(currentProjectModules, parent);
144
143
  }),
145
144
  subpath,
146
145
  pkgName: pkgName2,
@@ -604,6 +603,5 @@ var handleDependencies = function() {
604
603
  };
605
604
  }();
606
605
  export {
607
- handleDependencies,
608
- nodeFileTrace
606
+ handleDependencies
609
607
  };
@@ -374,10 +374,18 @@ var resolveTracedPath = function() {
374
374
  return _ref.apply(this, arguments);
375
375
  };
376
376
  }();
377
+ var isSubPath = function(parentPath, childPath) {
378
+ if (!parentPath || !childPath) {
379
+ return false;
380
+ }
381
+ var relative = path.relative(parentPath, childPath);
382
+ return relative && !relative.startsWith("..");
383
+ };
377
384
  export {
378
385
  findEntryFiles,
379
386
  findPackageParents,
380
387
  isFile,
388
+ isSubPath,
381
389
  linkPackage,
382
390
  readDirRecursive,
383
391
  resolveTracedPath,
@@ -2,8 +2,7 @@ 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 as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
6
- import { nodeFileTrace } from "@vercel/nft";
5
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive, isSubPath } from "./utils";
7
6
  const handleDependencies = async ({ appDir, serverRootDir, includeEntries, traceFiles = defaultTraceFiles, entryFilter, modifyPackageJson, copyWholePackage }) => {
8
7
  const base = "/";
9
8
  const entryFiles = await findEntryFiles(serverRootDir, entryFilter);
@@ -17,7 +16,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
17
16
  return;
18
17
  }
19
18
  const filePath = await resolveTracedPath(base, _path);
20
- if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
19
+ if (isSubPath(serverRootDir, filePath) || isSubPath(appDir, filePath) && !isSubPath(currentProjectModules, filePath)) {
21
20
  return;
22
21
  }
23
22
  if (!await isFile(filePath)) {
@@ -40,7 +39,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
40
39
  const packageJsonPath = match ? path.join(match[0], "package.json") : await pkgUp({
41
40
  cwd: path.dirname(filePath)
42
41
  });
43
- if (packageJsonPath === null || packageJsonPath === void 0 ? void 0 : packageJsonPath.startsWith(dependencySearchRoot)) {
42
+ if (packageJsonPath && isSubPath(dependencySearchRoot, packageJsonPath)) {
44
43
  const packageJson = await fse.readJSON(packageJsonPath);
45
44
  pkgPath = baseDir = path.dirname(packageJsonPath);
46
45
  subpath = path.relative(baseDir, filePath);
@@ -57,7 +56,7 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
57
56
  path: filePath,
58
57
  parents,
59
58
  isDirectDep: parents.some((parent) => {
60
- return parent.startsWith(appDir) && !parent.startsWith(currentProjectModules);
59
+ return isSubPath(appDir, parent) && !isSubPath(currentProjectModules, parent);
61
60
  }),
62
61
  subpath,
63
62
  pkgName,
@@ -191,6 +190,5 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
191
190
  await fse.writeJSON(outputPkgPath, finalPkgJson);
192
191
  };
193
192
  export {
194
- handleDependencies,
195
- nodeFileTrace
193
+ handleDependencies
196
194
  };
@@ -105,10 +105,18 @@ const traceFiles = async (entryFiles, serverRootDir, base = "/") => {
105
105
  });
106
106
  };
107
107
  const resolveTracedPath = async (base, p) => fse.realpath(path.resolve(base, p));
108
+ const isSubPath = (parentPath, childPath) => {
109
+ if (!parentPath || !childPath) {
110
+ return false;
111
+ }
112
+ const relative = path.relative(parentPath, childPath);
113
+ return relative && !relative.startsWith("..");
114
+ };
108
115
  export {
109
116
  findEntryFiles,
110
117
  findPackageParents,
111
118
  isFile,
119
+ isSubPath,
112
120
  linkPackage,
113
121
  readDirRecursive,
114
122
  resolveTracedPath,
@@ -1,6 +1,5 @@
1
1
  import type { PackageJson } from 'pkg-types';
2
2
  import { traceFiles as defaultTraceFiles } from './utils';
3
- export { nodeFileTrace } from '@vercel/nft';
4
3
  export declare const handleDependencies: ({ appDir, serverRootDir, includeEntries, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, }: {
5
4
  appDir: string;
6
5
  serverRootDir: string;
@@ -34,4 +34,5 @@ export declare const findEntryFiles: (rootDir: string, entryFilter?: ((filePath:
34
34
  export declare const findPackageParents: (pkg: TracedPackage, version: string, tracedFiles: Record<string, TracedFile>) => string[];
35
35
  export declare const traceFiles: (entryFiles: string[], serverRootDir: string, base?: string) => Promise<import("@vercel/nft").NodeFileTraceResult>;
36
36
  export declare const resolveTracedPath: (base: string, p: string) => Promise<string>;
37
+ export declare const isSubPath: (parentPath: string, childPath: string) => boolean | "";
37
38
  export {};
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.57.1-beta.1",
18
+ "version": "2.57.1",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -87,20 +87,20 @@
87
87
  "mlly": "^1.6.1",
88
88
  "pkg-types": "^1.1.0",
89
89
  "std-env": "^3.7.0",
90
- "@modern-js/plugin": "2.57.0",
91
- "@modern-js/core": "2.57.0",
92
- "@modern-js/plugin-i18n": "2.57.0",
93
- "@modern-js/prod-server": "2.57.0",
94
- "@modern-js/server-core": "2.57.0",
95
- "@modern-js/plugin-data-loader": "2.57.0",
96
- "@modern-js/plugin-lint": "2.57.0",
97
- "@modern-js/utils": "2.57.0",
98
- "@modern-js/node-bundle-require": "2.57.0",
99
- "@modern-js/types": "2.57.0",
100
- "@modern-js/server": "2.57.0",
101
- "@modern-js/server-utils": "2.57.0",
102
- "@modern-js/uni-builder": "2.57.0",
103
- "@modern-js/rsbuild-plugin-esbuild": "2.57.0"
90
+ "@modern-js/core": "2.57.1",
91
+ "@modern-js/plugin": "2.57.1",
92
+ "@modern-js/node-bundle-require": "2.57.1",
93
+ "@modern-js/plugin-data-loader": "2.57.1",
94
+ "@modern-js/plugin-i18n": "2.57.1",
95
+ "@modern-js/plugin-lint": "2.57.1",
96
+ "@modern-js/rsbuild-plugin-esbuild": "2.57.1",
97
+ "@modern-js/server": "2.57.1",
98
+ "@modern-js/prod-server": "2.57.1",
99
+ "@modern-js/server-core": "2.57.1",
100
+ "@modern-js/types": "2.57.1",
101
+ "@modern-js/utils": "2.57.1",
102
+ "@modern-js/server-utils": "2.57.1",
103
+ "@modern-js/uni-builder": "2.57.1"
104
104
  },
105
105
  "devDependencies": {
106
106
  "@rsbuild/plugin-swc": "1.0.1-beta.3",
@@ -112,8 +112,8 @@
112
112
  "tsconfig-paths": "^4.2.0",
113
113
  "typescript": "^5",
114
114
  "webpack": "^5.93.0",
115
- "@scripts/build": "2.57.0",
116
- "@scripts/jest-config": "2.57.0"
115
+ "@scripts/build": "2.57.1",
116
+ "@scripts/jest-config": "2.57.1"
117
117
  },
118
118
  "sideEffects": false,
119
119
  "publishConfig": {