@thomas.f/prnext 0.1.18-alpha → 0.1.19-alpha
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/README.md +2 -0
- package/build/actions.mjs +26 -14
- package/build/app.mjs +46 -25
- package/build/compiler.mjs +5 -4
- package/build/config.mjs +4 -2
- package/build/dev-css-assets.mjs +173 -0
- package/build/dev-css-update.mjs +14 -12
- package/build/dev-lazy-build.mjs +77 -0
- package/build/dynamic.mjs +13 -6
- package/build/incremental.mjs +112 -18
- package/build/index.mjs +32 -3
- package/build/lazy-dynamic-imports.mjs +137 -0
- package/build/migrate.mjs +4 -4
- package/build/migration-audit.mjs +19 -31
- package/build/migration-imports.mjs +245 -0
- package/build/migration-scenarios-runner.mjs +73 -0
- package/build/migration-scenarios.mjs +72 -0
- package/build/native-discovery.mjs +65 -5
- package/build/native-packages.mjs +2 -0
- package/build/npm-packages.mjs +1 -0
- package/build/production-builder.mjs +1 -1
- package/build/standalone.mjs +21 -3
- package/build/webpack-graph.mjs +13 -3
- package/cli.mjs +10 -1
- package/compat/app-dynamic.cjs +12 -1
- package/compat/cache-handlers.cjs +3 -1
- package/compat/flight-delta.cjs +3 -1
- package/compat/index.d.ts +1 -1
- package/compat/link.cjs +2 -2
- package/docs/ai/compatibility.md +77 -0
- package/docs/ai/routing.md +11 -0
- package/docs/ai/troubleshooting.md +79 -0
- package/package.json +21 -9
- package/runtime/app-client.mjs +119 -42
- package/runtime/atomic-file.mjs +27 -0
- package/runtime/cache-components-rsc.mjs +3 -1
- package/runtime/dev-client.mjs +7 -2
- package/runtime/dev-file-changes.mjs +123 -8
- package/runtime/dev-lazy-imports.mjs +121 -0
- package/runtime/dev-lazy-staging.mjs +14 -0
- package/runtime/dev-style-retention.mjs +15 -0
- package/runtime/development.mjs +60 -19
- package/runtime/flight-delta.mjs +28 -4
- package/runtime/fs.mjs +15 -8
- package/runtime/lazy-import-client.mjs +38 -0
- package/vendor/nft/LICENSE +7 -0
- package/vendor/nft/README.md +16 -0
- package/vendor/nft/out/analyze.d.ts +8 -0
- package/vendor/nft/out/analyze.js +1216 -0
- package/vendor/nft/out/analyze.js.map +1 -0
- package/vendor/nft/out/cli.d.ts +2 -0
- package/vendor/nft/out/cli.js +94 -0
- package/vendor/nft/out/cli.js.map +1 -0
- package/vendor/nft/out/fs.d.ts +22 -0
- package/vendor/nft/out/fs.js +106 -0
- package/vendor/nft/out/fs.js.map +1 -0
- package/vendor/nft/out/index.d.ts +4 -0
- package/vendor/nft/out/index.js +25 -0
- package/vendor/nft/out/index.js.map +1 -0
- package/vendor/nft/out/node-file-trace.d.ts +41 -0
- package/vendor/nft/out/node-file-trace.js +380 -0
- package/vendor/nft/out/node-file-trace.js.map +1 -0
- package/vendor/nft/out/resolve-dependency.d.ts +6 -0
- package/vendor/nft/out/resolve-dependency.js +427 -0
- package/vendor/nft/out/resolve-dependency.js.map +1 -0
- package/vendor/nft/out/types.d.ts +66 -0
- package/vendor/nft/out/types.js +2 -0
- package/vendor/nft/out/types.js.map +1 -0
- package/vendor/nft/out/utils/ast-helpers.js +49 -0
- package/vendor/nft/out/utils/ast-helpers.js.map +1 -0
- package/vendor/nft/out/utils/binary-locators.js +88 -0
- package/vendor/nft/out/utils/binary-locators.js.map +1 -0
- package/vendor/nft/out/utils/get-package-base.js +30 -0
- package/vendor/nft/out/utils/get-package-base.js.map +1 -0
- package/vendor/nft/out/utils/interop-require.js +24 -0
- package/vendor/nft/out/utils/interop-require.js.map +1 -0
- package/vendor/nft/out/utils/node-version.js +10 -0
- package/vendor/nft/out/utils/node-version.js.map +1 -0
- package/vendor/nft/out/utils/sharedlib-emit.js +33 -0
- package/vendor/nft/out/utils/sharedlib-emit.js.map +1 -0
- package/vendor/nft/out/utils/special-cases.js +347 -0
- package/vendor/nft/out/utils/special-cases.js.map +1 -0
- package/vendor/nft/out/utils/static-eval.js +579 -0
- package/vendor/nft/out/utils/static-eval.js.map +1 -0
- package/vendor/nft/out/utils/types.js +2 -0
- package/vendor/nft/out/utils/types.js.map +1 -0
- package/vendor/nft/out/utils/wrappers.js +659 -0
- package/vendor/nft/out/utils/wrappers.js.map +1 -0
- package/vendor/nft/package.json +4 -0
- package/vendor/nft/upstream.json +51 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotFoundError = void 0;
|
|
4
|
+
exports.default = resolveDependency;
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const module_1 = require("module");
|
|
7
|
+
const node_version_1 = require("./utils/node-version");
|
|
8
|
+
// node resolver
|
|
9
|
+
// custom implementation to emit only needed package.json files for resolver
|
|
10
|
+
// (package.json files are emitted as they are hit)
|
|
11
|
+
async function resolveDependency(specifier, parent, job, cjsResolve = true) {
|
|
12
|
+
let resolved;
|
|
13
|
+
if ((0, path_1.isAbsolute)(specifier) ||
|
|
14
|
+
specifier === '.' ||
|
|
15
|
+
specifier === '..' ||
|
|
16
|
+
specifier.startsWith('./') ||
|
|
17
|
+
specifier.startsWith('../')) {
|
|
18
|
+
const trailingSlash = specifier.endsWith('/');
|
|
19
|
+
resolved = await resolvePath((0, path_1.resolve)(parent, '..', specifier) + (trailingSlash ? '/' : ''), parent, job);
|
|
20
|
+
}
|
|
21
|
+
else if (specifier[0] === '#') {
|
|
22
|
+
resolved = await packageImportsResolve(specifier, parent, job, cjsResolve);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
resolved = await resolvePackage(specifier, parent, job, cjsResolve);
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(resolved)) {
|
|
28
|
+
return Promise.all(resolved.map((resolved) => job.realpath(resolved, parent)));
|
|
29
|
+
}
|
|
30
|
+
else if (resolved.startsWith('node:')) {
|
|
31
|
+
return resolved;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return job.realpath(resolved, parent);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function resolvePath(path, parent, job) {
|
|
38
|
+
const result = (await resolveFile(path, parent, job)) ||
|
|
39
|
+
(await resolveDir(path, parent, job));
|
|
40
|
+
if (!result) {
|
|
41
|
+
throw new NotFoundError(path, parent);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
async function resolveFile(path, parent, job) {
|
|
46
|
+
if (path.endsWith('/'))
|
|
47
|
+
return undefined;
|
|
48
|
+
path = await job.realpath(path, parent);
|
|
49
|
+
if (await job.isFile(path))
|
|
50
|
+
return path;
|
|
51
|
+
if (job.ts &&
|
|
52
|
+
path.startsWith(job.base) &&
|
|
53
|
+
path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 &&
|
|
54
|
+
(await job.isFile(path + '.ts')))
|
|
55
|
+
return path + '.ts';
|
|
56
|
+
if (job.ts &&
|
|
57
|
+
path.startsWith(job.base) &&
|
|
58
|
+
path.slice(job.base.length).indexOf(path_1.sep + 'node_modules' + path_1.sep) === -1 &&
|
|
59
|
+
(await job.isFile(path + '.tsx')))
|
|
60
|
+
return path + '.tsx';
|
|
61
|
+
if (await job.isFile(path + '.js'))
|
|
62
|
+
return path + '.js';
|
|
63
|
+
if (await job.isFile(path + '.json'))
|
|
64
|
+
return path + '.json';
|
|
65
|
+
if (await job.isFile(path + '.node'))
|
|
66
|
+
return path + '.node';
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
async function resolveDir(path, parent, job) {
|
|
70
|
+
if (path.endsWith('/'))
|
|
71
|
+
path = path.slice(0, -1);
|
|
72
|
+
if (!(await job.isDir(path)))
|
|
73
|
+
return;
|
|
74
|
+
const pkgCfg = await getPkgCfg(path, job);
|
|
75
|
+
if (pkgCfg && typeof pkgCfg.main === 'string') {
|
|
76
|
+
const resolved = (await resolveFile((0, path_1.resolve)(path, pkgCfg.main), parent, job)) ||
|
|
77
|
+
(await resolveFile((0, path_1.resolve)(path, pkgCfg.main, 'index'), parent, job));
|
|
78
|
+
if (resolved) {
|
|
79
|
+
await job.emitFile(path + path_1.sep + 'package.json', 'resolve', parent);
|
|
80
|
+
return resolved;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return resolveFile((0, path_1.resolve)(path, 'index'), parent, job);
|
|
84
|
+
}
|
|
85
|
+
class NotFoundError extends Error {
|
|
86
|
+
code;
|
|
87
|
+
constructor(specifier, parent) {
|
|
88
|
+
super("Cannot find module '" + specifier + "' loaded from " + parent);
|
|
89
|
+
this.code = 'MODULE_NOT_FOUND';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.NotFoundError = NotFoundError;
|
|
93
|
+
const nodeBuiltins = new Set(module_1.builtinModules);
|
|
94
|
+
const nodeSupportsModuleSync = (0, node_version_1.getNodeMajorVersion)() >= 22;
|
|
95
|
+
function getPkgName(name) {
|
|
96
|
+
const segments = name.split('/');
|
|
97
|
+
if (name[0] === '@' && segments.length > 1)
|
|
98
|
+
return segments.length > 1 ? segments.slice(0, 2).join('/') : null;
|
|
99
|
+
return segments.length ? segments[0] : null;
|
|
100
|
+
}
|
|
101
|
+
async function getPkgCfg(pkgPath, job) {
|
|
102
|
+
const pjsonSource = await job.readFile(pkgPath + path_1.sep + 'package.json');
|
|
103
|
+
if (pjsonSource) {
|
|
104
|
+
try {
|
|
105
|
+
return JSON.parse(pjsonSource.toString());
|
|
106
|
+
}
|
|
107
|
+
catch (e) { }
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
function getExportsTarget(exports, conditions, cjsResolve, moduleSyncAutoSelectable) {
|
|
112
|
+
if (typeof exports === 'string') {
|
|
113
|
+
return exports;
|
|
114
|
+
}
|
|
115
|
+
else if (exports === null) {
|
|
116
|
+
return exports;
|
|
117
|
+
}
|
|
118
|
+
else if (Array.isArray(exports)) {
|
|
119
|
+
for (const item of exports) {
|
|
120
|
+
const target = getExportsTarget(item, conditions, cjsResolve, moduleSyncAutoSelectable);
|
|
121
|
+
if (target === null ||
|
|
122
|
+
(typeof target === 'string' && target.startsWith('./')))
|
|
123
|
+
return target;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else if (typeof exports === 'object') {
|
|
127
|
+
for (const condition of Object.keys(exports)) {
|
|
128
|
+
if (condition === 'default' ||
|
|
129
|
+
(condition === 'require' && cjsResolve) ||
|
|
130
|
+
(condition === 'import' && !cjsResolve) ||
|
|
131
|
+
(condition === 'module-sync' && moduleSyncAutoSelectable) ||
|
|
132
|
+
conditions.includes(condition)) {
|
|
133
|
+
const target = getExportsTarget(exports[condition], conditions, cjsResolve, moduleSyncAutoSelectable);
|
|
134
|
+
if (target !== undefined)
|
|
135
|
+
return target;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
function patternKeyCompare(a, b) {
|
|
142
|
+
const aPatternIndex = a.indexOf('*');
|
|
143
|
+
const bPatternIndex = b.indexOf('*');
|
|
144
|
+
const aBaseLength = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
|
|
145
|
+
const bBaseLength = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
|
|
146
|
+
if (aBaseLength > bBaseLength)
|
|
147
|
+
return -1;
|
|
148
|
+
if (bBaseLength > aBaseLength)
|
|
149
|
+
return 1;
|
|
150
|
+
if (aPatternIndex === -1)
|
|
151
|
+
return 1;
|
|
152
|
+
if (bPatternIndex === -1)
|
|
153
|
+
return -1;
|
|
154
|
+
if (a.length > b.length)
|
|
155
|
+
return -1;
|
|
156
|
+
if (b.length > a.length)
|
|
157
|
+
return 1;
|
|
158
|
+
return 0;
|
|
159
|
+
}
|
|
160
|
+
function getPatternMatch(pattern, subpath) {
|
|
161
|
+
const patternIndex = pattern.indexOf('*');
|
|
162
|
+
if (patternIndex === -1 || pattern.lastIndexOf('*') !== patternIndex) {
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
const patternBase = pattern.slice(0, patternIndex);
|
|
166
|
+
if (!subpath.startsWith(patternBase))
|
|
167
|
+
return undefined;
|
|
168
|
+
const patternTrailer = pattern.slice(patternIndex + 1);
|
|
169
|
+
if (subpath.length < pattern.length ||
|
|
170
|
+
(patternTrailer && !subpath.endsWith(patternTrailer))) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
return subpath.slice(patternIndex, subpath.length - patternTrailer.length);
|
|
174
|
+
}
|
|
175
|
+
function addExportsTargetPath(paths, pkgPath, target, wildcardReplacement) {
|
|
176
|
+
if (typeof target !== 'string' || !target.startsWith('./'))
|
|
177
|
+
return;
|
|
178
|
+
const targetPath = wildcardReplacement
|
|
179
|
+
? target.slice(1).replace(/\*/g, wildcardReplacement)
|
|
180
|
+
: target.slice(1);
|
|
181
|
+
const path = pkgPath + targetPath;
|
|
182
|
+
if (!paths.includes(path)) {
|
|
183
|
+
paths.push(path);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
async function validateAndResolvePaths(paths, parent, job, cjsResolve) {
|
|
187
|
+
const validatedPaths = [];
|
|
188
|
+
for (const path of paths) {
|
|
189
|
+
if (cjsResolve) {
|
|
190
|
+
const resolved = (await resolveFile(path, parent, job)) ||
|
|
191
|
+
(await resolveDir(path, parent, job));
|
|
192
|
+
if (!resolved)
|
|
193
|
+
throw new NotFoundError(path, parent);
|
|
194
|
+
validatedPaths.push(resolved);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
if (!(await job.isFile(path)))
|
|
198
|
+
throw new NotFoundError(path, parent);
|
|
199
|
+
validatedPaths.push(path);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return validatedPaths;
|
|
203
|
+
}
|
|
204
|
+
async function resolveExportsImports(pkgPath, obj, subpath, job, isImports, cjsResolve, parent) {
|
|
205
|
+
let matchObj;
|
|
206
|
+
if (isImports) {
|
|
207
|
+
if (!(typeof obj === 'object' && !Array.isArray(obj) && obj !== null))
|
|
208
|
+
return undefined;
|
|
209
|
+
matchObj = obj;
|
|
210
|
+
}
|
|
211
|
+
else if (typeof obj === 'string' ||
|
|
212
|
+
Array.isArray(obj) ||
|
|
213
|
+
obj === null ||
|
|
214
|
+
(typeof obj === 'object' &&
|
|
215
|
+
Object.keys(obj).length &&
|
|
216
|
+
Object.keys(obj)[0][0] !== '.')) {
|
|
217
|
+
matchObj = { '.': obj };
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
matchObj = obj;
|
|
221
|
+
}
|
|
222
|
+
if (subpath in matchObj) {
|
|
223
|
+
const target = getExportsTarget(matchObj[subpath], job.conditions, cjsResolve, nodeSupportsModuleSync);
|
|
224
|
+
if (typeof target === 'string' && target.startsWith('./')) {
|
|
225
|
+
const resolvedPath = pkgPath + target.slice(1);
|
|
226
|
+
const paths = [resolvedPath];
|
|
227
|
+
const exportsForSubpath = matchObj[subpath];
|
|
228
|
+
if (typeof exportsForSubpath === 'object' &&
|
|
229
|
+
exportsForSubpath !== null &&
|
|
230
|
+
!Array.isArray(exportsForSubpath) &&
|
|
231
|
+
'module-sync' in exportsForSubpath &&
|
|
232
|
+
(nodeSupportsModuleSync || job.moduleSyncCatchall)) {
|
|
233
|
+
const moduleSyncTarget = getExportsTarget(exportsForSubpath['module-sync'], job.conditions, cjsResolve, true);
|
|
234
|
+
addExportsTargetPath(paths, pkgPath, moduleSyncTarget);
|
|
235
|
+
const fallbackCondition = cjsResolve && 'require' in exportsForSubpath
|
|
236
|
+
? 'require'
|
|
237
|
+
: !cjsResolve && 'import' in exportsForSubpath
|
|
238
|
+
? 'import'
|
|
239
|
+
: 'default';
|
|
240
|
+
const fallbackTarget = getExportsTarget(exportsForSubpath[fallbackCondition], job.conditions, cjsResolve, false);
|
|
241
|
+
addExportsTargetPath(paths, pkgPath, fallbackTarget);
|
|
242
|
+
}
|
|
243
|
+
return await validateAndResolvePaths(paths, parent, job, cjsResolve);
|
|
244
|
+
}
|
|
245
|
+
else if (isImports && typeof target === 'string') {
|
|
246
|
+
// The imports field additionally allows external dependencies as well
|
|
247
|
+
const resolved = await resolveDependency(target, parent, job, cjsResolve);
|
|
248
|
+
return Array.isArray(resolved) ? resolved : [resolved];
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
for (const match of Object.keys(matchObj).sort(patternKeyCompare)) {
|
|
252
|
+
const wildcardReplacement = getPatternMatch(match, subpath);
|
|
253
|
+
if (wildcardReplacement !== undefined) {
|
|
254
|
+
const target = getExportsTarget(matchObj[match], job.conditions, cjsResolve, nodeSupportsModuleSync);
|
|
255
|
+
if (typeof target === 'string' && target.startsWith('./')) {
|
|
256
|
+
const resolvedPath = pkgPath + target.slice(1).replace(/\*/g, wildcardReplacement);
|
|
257
|
+
const paths = [resolvedPath];
|
|
258
|
+
const exportsForSubpath = matchObj[match];
|
|
259
|
+
if (job.moduleSyncCatchall &&
|
|
260
|
+
typeof exportsForSubpath === 'object' &&
|
|
261
|
+
exportsForSubpath !== null &&
|
|
262
|
+
!Array.isArray(exportsForSubpath) &&
|
|
263
|
+
'module-sync' in exportsForSubpath) {
|
|
264
|
+
const moduleSyncTarget = getExportsTarget(exportsForSubpath['module-sync'], job.conditions, cjsResolve, true);
|
|
265
|
+
addExportsTargetPath(paths, pkgPath, moduleSyncTarget, wildcardReplacement);
|
|
266
|
+
const fallbackCondition = cjsResolve && 'require' in exportsForSubpath
|
|
267
|
+
? 'require'
|
|
268
|
+
: !cjsResolve && 'import' in exportsForSubpath
|
|
269
|
+
? 'import'
|
|
270
|
+
: 'default';
|
|
271
|
+
const fallbackTarget = getExportsTarget(exportsForSubpath[fallbackCondition], job.conditions, cjsResolve, false);
|
|
272
|
+
addExportsTargetPath(paths, pkgPath, fallbackTarget, wildcardReplacement);
|
|
273
|
+
}
|
|
274
|
+
return await validateAndResolvePaths(paths, parent, job, cjsResolve);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (!match.endsWith('/'))
|
|
278
|
+
continue;
|
|
279
|
+
if (subpath.startsWith(match)) {
|
|
280
|
+
const target = getExportsTarget(matchObj[match], job.conditions, cjsResolve, nodeSupportsModuleSync);
|
|
281
|
+
if (typeof target === 'string' &&
|
|
282
|
+
target.endsWith('/') &&
|
|
283
|
+
target.startsWith('./')) {
|
|
284
|
+
const resolvedPath = pkgPath + target.slice(1) + subpath.slice(match.length);
|
|
285
|
+
return await validateAndResolvePaths([resolvedPath], parent, job, cjsResolve);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
291
|
+
async function resolveRemappings(pkgPath, pkgCfg, parent, job) {
|
|
292
|
+
if (job.conditions?.includes('browser')) {
|
|
293
|
+
const { browser: pkgBrowser } = pkgCfg;
|
|
294
|
+
if (!pkgBrowser) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
if (typeof pkgBrowser === 'object') {
|
|
298
|
+
for (const [key, value] of Object.entries(pkgBrowser)) {
|
|
299
|
+
if (typeof value !== 'string') {
|
|
300
|
+
/**
|
|
301
|
+
* `false` can be used to specify that a file is not meant to be included.
|
|
302
|
+
* Downstream processing is expected to handle this case, and it should remain in the mapping result
|
|
303
|
+
*/
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
if (!key.startsWith('./') || !value.startsWith('./')) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
const keyResolved = await resolveFile(pkgPath + path_1.sep + key, parent, job);
|
|
310
|
+
const valueResolved = await resolveFile(pkgPath + path_1.sep + value, parent, job);
|
|
311
|
+
if (keyResolved && valueResolved) {
|
|
312
|
+
job.addRemapping(keyResolved, valueResolved);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
async function packageImportsResolve(name, parent, job, cjsResolve) {
|
|
319
|
+
if (name !== '#' && !name.startsWith('#/') && job.conditions) {
|
|
320
|
+
const pjsonBoundary = await job.getPjsonBoundary(parent);
|
|
321
|
+
if (pjsonBoundary) {
|
|
322
|
+
const pkgCfg = await getPkgCfg(pjsonBoundary, job);
|
|
323
|
+
const { imports: pkgImports } = pkgCfg || {};
|
|
324
|
+
if (pkgCfg && pkgImports !== null && pkgImports !== undefined) {
|
|
325
|
+
const importsResolved = await resolveExportsImports(pjsonBoundary, pkgImports, name, job, true, cjsResolve, parent);
|
|
326
|
+
if (importsResolved) {
|
|
327
|
+
await job.emitFile(pjsonBoundary + path_1.sep + 'package.json', 'resolve', parent);
|
|
328
|
+
return importsResolved;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
throw new NotFoundError(name, parent);
|
|
334
|
+
}
|
|
335
|
+
async function resolvePackage(name, parent, job, cjsResolve) {
|
|
336
|
+
let packageParent = parent;
|
|
337
|
+
if (nodeBuiltins.has(name))
|
|
338
|
+
return 'node:' + name;
|
|
339
|
+
if (name.startsWith('node:'))
|
|
340
|
+
return name;
|
|
341
|
+
const pkgName = getPkgName(name) || '';
|
|
342
|
+
// package own name resolution
|
|
343
|
+
let selfResolved;
|
|
344
|
+
if (job.conditions) {
|
|
345
|
+
const pjsonBoundary = await job.getPjsonBoundary(parent);
|
|
346
|
+
if (pjsonBoundary) {
|
|
347
|
+
const pkgCfg = await getPkgCfg(pjsonBoundary, job);
|
|
348
|
+
const { exports: pkgExports } = pkgCfg || {};
|
|
349
|
+
if (pkgCfg &&
|
|
350
|
+
pkgCfg.name &&
|
|
351
|
+
pkgCfg.name === pkgName &&
|
|
352
|
+
pkgExports !== null &&
|
|
353
|
+
pkgExports !== undefined) {
|
|
354
|
+
selfResolved = await resolveExportsImports(pjsonBoundary, pkgExports, '.' + name.slice(pkgName.length), job, false, cjsResolve, parent);
|
|
355
|
+
if (selfResolved)
|
|
356
|
+
await job.emitFile(pjsonBoundary + path_1.sep + 'package.json', 'resolve', parent);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
let separatorIndex;
|
|
361
|
+
const rootSeparatorIndex = packageParent.indexOf(path_1.sep);
|
|
362
|
+
while ((separatorIndex = packageParent.lastIndexOf(path_1.sep)) > rootSeparatorIndex) {
|
|
363
|
+
packageParent = packageParent.slice(0, separatorIndex);
|
|
364
|
+
const nodeModulesDir = packageParent + path_1.sep + 'node_modules';
|
|
365
|
+
const stat = await job.stat(nodeModulesDir);
|
|
366
|
+
if (!stat || !stat.isDirectory())
|
|
367
|
+
continue;
|
|
368
|
+
const pkgCfg = await getPkgCfg(nodeModulesDir + path_1.sep + pkgName, job);
|
|
369
|
+
const { exports: pkgExports } = pkgCfg || {};
|
|
370
|
+
if (pkgCfg) {
|
|
371
|
+
await resolveRemappings(nodeModulesDir + path_1.sep + pkgName, pkgCfg, parent, job);
|
|
372
|
+
}
|
|
373
|
+
if (job.conditions &&
|
|
374
|
+
pkgExports !== undefined &&
|
|
375
|
+
pkgExports !== null &&
|
|
376
|
+
!selfResolved) {
|
|
377
|
+
let legacyResolved;
|
|
378
|
+
if (!job.exportsOnly)
|
|
379
|
+
legacyResolved =
|
|
380
|
+
(await resolveFile(nodeModulesDir + path_1.sep + name, parent, job)) ||
|
|
381
|
+
(await resolveDir(nodeModulesDir + path_1.sep + name, parent, job));
|
|
382
|
+
const resolved = await resolveExportsImports(nodeModulesDir + path_1.sep + pkgName, pkgExports, '.' + name.slice(pkgName.length), job, false, cjsResolve, parent);
|
|
383
|
+
if (resolved) {
|
|
384
|
+
await job.emitFile(nodeModulesDir + path_1.sep + pkgName + path_1.sep + 'package.json', 'resolve', parent);
|
|
385
|
+
if (legacyResolved && !resolved.includes(legacyResolved))
|
|
386
|
+
return [...resolved, legacyResolved];
|
|
387
|
+
return resolved;
|
|
388
|
+
}
|
|
389
|
+
if (legacyResolved)
|
|
390
|
+
return legacyResolved;
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
const resolved = (await resolveFile(nodeModulesDir + path_1.sep + name, parent, job)) ||
|
|
394
|
+
(await resolveDir(nodeModulesDir + path_1.sep + name, parent, job));
|
|
395
|
+
if (resolved) {
|
|
396
|
+
if (selfResolved) {
|
|
397
|
+
if (Array.isArray(selfResolved)) {
|
|
398
|
+
if (!selfResolved.includes(resolved))
|
|
399
|
+
return [resolved, ...selfResolved];
|
|
400
|
+
return selfResolved;
|
|
401
|
+
}
|
|
402
|
+
else if (selfResolved !== resolved) {
|
|
403
|
+
return [resolved, selfResolved];
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
return resolved;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (selfResolved)
|
|
411
|
+
return selfResolved;
|
|
412
|
+
if (Object.hasOwnProperty.call(job.paths, name)) {
|
|
413
|
+
return job.paths[name];
|
|
414
|
+
}
|
|
415
|
+
for (const path of Object.keys(job.paths)) {
|
|
416
|
+
if (path.endsWith('/') && name.startsWith(path)) {
|
|
417
|
+
const pathTarget = job.paths[path] + name.slice(path.length);
|
|
418
|
+
const resolved = (await resolveFile(pathTarget, parent, job)) ||
|
|
419
|
+
(await resolveDir(pathTarget, parent, job));
|
|
420
|
+
if (!resolved) {
|
|
421
|
+
throw new NotFoundError(name, parent);
|
|
422
|
+
}
|
|
423
|
+
return resolved;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
throw new NotFoundError(name, parent);
|
|
427
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-dependency.js","sourceRoot":"","sources":["../src/resolve-dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Job } from './node-file-trace';
|
|
2
|
+
export interface Stats {
|
|
3
|
+
isFile(): boolean;
|
|
4
|
+
isDirectory(): boolean;
|
|
5
|
+
isBlockDevice(): boolean;
|
|
6
|
+
isCharacterDevice(): boolean;
|
|
7
|
+
isSymbolicLink(): boolean;
|
|
8
|
+
isFIFO(): boolean;
|
|
9
|
+
isSocket(): boolean;
|
|
10
|
+
dev: number;
|
|
11
|
+
ino: number;
|
|
12
|
+
mode: number;
|
|
13
|
+
nlink: number;
|
|
14
|
+
uid: number;
|
|
15
|
+
gid: number;
|
|
16
|
+
rdev: number;
|
|
17
|
+
size: number;
|
|
18
|
+
blksize: number;
|
|
19
|
+
blocks: number;
|
|
20
|
+
atimeMs: number;
|
|
21
|
+
mtimeMs: number;
|
|
22
|
+
ctimeMs: number;
|
|
23
|
+
birthtimeMs: number;
|
|
24
|
+
atime: Date;
|
|
25
|
+
mtime: Date;
|
|
26
|
+
ctime: Date;
|
|
27
|
+
birthtime: Date;
|
|
28
|
+
}
|
|
29
|
+
export interface NodeFileTraceOptions {
|
|
30
|
+
base?: string;
|
|
31
|
+
processCwd?: string;
|
|
32
|
+
exports?: string[];
|
|
33
|
+
conditions?: string[];
|
|
34
|
+
exportsOnly?: boolean;
|
|
35
|
+
moduleSyncCatchall?: boolean;
|
|
36
|
+
ignore?: string | string[] | ((path: string) => boolean);
|
|
37
|
+
analysis?: boolean | {
|
|
38
|
+
emitGlobs?: boolean;
|
|
39
|
+
computeFileReferences?: boolean;
|
|
40
|
+
evaluatePureExpressions?: boolean;
|
|
41
|
+
};
|
|
42
|
+
cache?: any;
|
|
43
|
+
paths?: Record<string, string>;
|
|
44
|
+
ts?: boolean;
|
|
45
|
+
log?: boolean;
|
|
46
|
+
mixedModules?: boolean;
|
|
47
|
+
readFile?: (path: string) => Promise<Buffer | string | null>;
|
|
48
|
+
stat?: (path: string) => Promise<Stats | null>;
|
|
49
|
+
readlink?: (path: string) => Promise<string | null>;
|
|
50
|
+
resolve?: (id: string, parent: string, job: Job, cjsResolve: boolean) => Promise<string | string[]>;
|
|
51
|
+
fileIOConcurrency?: number;
|
|
52
|
+
depth?: number;
|
|
53
|
+
}
|
|
54
|
+
export type NodeFileTraceReasonType = 'initial' | 'resolve' | 'dependency' | 'asset' | 'sharedlib';
|
|
55
|
+
export interface NodeFileTraceReasons extends Map<string, {
|
|
56
|
+
type: NodeFileTraceReasonType[];
|
|
57
|
+
ignored: boolean;
|
|
58
|
+
parents: Set<string>;
|
|
59
|
+
}> {
|
|
60
|
+
}
|
|
61
|
+
export interface NodeFileTraceResult {
|
|
62
|
+
fileList: Set<string>;
|
|
63
|
+
esmFileList: Set<string>;
|
|
64
|
+
reasons: NodeFileTraceReasons;
|
|
65
|
+
warnings: Set<Error>;
|
|
66
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isIdentifierRead = isIdentifierRead;
|
|
4
|
+
exports.isVarLoop = isVarLoop;
|
|
5
|
+
exports.isLoop = isLoop;
|
|
6
|
+
function isIdentifierRead(node, parent) {
|
|
7
|
+
switch (parent.type) {
|
|
8
|
+
case 'ObjectPattern':
|
|
9
|
+
case 'ArrayPattern':
|
|
10
|
+
// Note: default values not currently supported
|
|
11
|
+
return false;
|
|
12
|
+
// disregard `bar` in `bar = thing()`
|
|
13
|
+
case 'AssignmentExpression':
|
|
14
|
+
return parent.right === node;
|
|
15
|
+
case 'MemberExpression':
|
|
16
|
+
return parent.computed || node === parent.object;
|
|
17
|
+
// disregard the `bar` in `{ bar: foo }`
|
|
18
|
+
case 'Property':
|
|
19
|
+
return node === parent.value;
|
|
20
|
+
// disregard the `bar` in `class Foo { bar () {...} }`
|
|
21
|
+
case 'MethodDefinition':
|
|
22
|
+
return false;
|
|
23
|
+
// disregard the `bar` in var bar = asdf
|
|
24
|
+
case 'VariableDeclarator':
|
|
25
|
+
return parent.id !== node;
|
|
26
|
+
// disregard the `bar` in `export { foo as bar }`
|
|
27
|
+
case 'ExportSpecifier':
|
|
28
|
+
return false;
|
|
29
|
+
// disregard the `bar` in `function (bar) {}`
|
|
30
|
+
case 'FunctionExpression':
|
|
31
|
+
case 'FunctionDeclaration':
|
|
32
|
+
case 'ArrowFunctionExpression':
|
|
33
|
+
return false;
|
|
34
|
+
default:
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function isVarLoop(node) {
|
|
39
|
+
return (node.type === 'ForStatement' ||
|
|
40
|
+
node.type === 'ForInStatement' ||
|
|
41
|
+
node.type === 'ForOfStatement');
|
|
42
|
+
}
|
|
43
|
+
function isLoop(node) {
|
|
44
|
+
return (node.type === 'ForStatement' ||
|
|
45
|
+
node.type === 'ForInStatement' ||
|
|
46
|
+
node.type === 'ForOfStatement' ||
|
|
47
|
+
node.type === 'WhileStatement' ||
|
|
48
|
+
node.type === 'DoWhileStatement');
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../src/utils/ast-helpers.ts"],"names":[],"mappings":";;AAEA,4CA+BC;AAED,8BAMC;AAED,wBAQC;AAjDD,SAAgB,gBAAgB,CAAC,IAAU,EAAE,MAAY;IACvD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc;YACjB,+CAA+C;YAC/C,OAAO,KAAK,CAAC;QACf,qCAAqC;QACrC,KAAK,sBAAsB;YACzB,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QAC/B,KAAK,kBAAkB;YACrB,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC;QACnD,wCAAwC;QACxC,KAAK,UAAU;YACb,OAAO,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;QAC/B,sDAAsD;QACtD,KAAK,kBAAkB;YACrB,OAAO,KAAK,CAAC;QACf,wCAAwC;QACxC,KAAK,oBAAoB;YACvB,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;QAC5B,iDAAiD;QACjD,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC;QACf,6CAA6C;QAC7C,KAAK,oBAAoB,CAAC;QAC1B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,yBAAyB;YAC5B,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,cAAc;QAC5B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,MAAM,CAAC,IAAU;IAC/B,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,cAAc;QAC5B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,IAAI,KAAK,kBAAkB,CACjC,CAAC;AACJ,CAAC"}
|