@scriptc/compiler 0.0.4 → 0.0.6
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/backend/cc.d.ts +16 -0
- package/dist/backend/cc.js +88 -0
- package/dist/backend/cc.js.map +1 -1
- package/dist/backend/emission/emit-async.js +2 -2
- package/dist/backend/emission/emit-async.js.map +1 -1
- package/dist/backend/emission/emit-exprs.js +27 -4
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emit-shapes.js +2 -2
- package/dist/backend/emission/emit-shapes.js.map +1 -1
- package/dist/backend/emission/emit-walkers.js +54 -8
- package/dist/backend/emission/emit-walkers.js.map +1 -1
- package/dist/backend/emission/emitter.d.ts +1 -0
- package/dist/backend/emission/emitter.js +108 -0
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/emission/may-throw.js +12 -0
- package/dist/backend/emission/may-throw.js.map +1 -1
- package/dist/backend/llvm/dyn.js +23 -1
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.js +150 -6
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +5 -0
- package/dist/backend/llvm/walkers.js +65 -5
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +25 -0
- package/dist/diagnostics/diagnostic.js +86 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/frontend/lib-exports.d.ts +16 -0
- package/dist/frontend/lib-exports.js +35 -0
- package/dist/frontend/lib-exports.js.map +1 -0
- package/dist/frontend/lowering/lower-assert.js +41 -1
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +2 -2
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +1 -1
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +1 -1
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +7 -0
- package/dist/frontend/lowering/lower-inspect.js +130 -28
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.js +1 -1
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +4 -2
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +107 -0
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +16 -2
- package/dist/frontend/lowering/lowerer.js +64 -15
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.d.ts +3 -0
- package/dist/frontend/npm-static-rewrite.js +677 -0
- package/dist/frontend/npm-static-rewrite.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +8 -1
- package/dist/frontend/npm-static.js +159 -18
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/program.d.ts +6 -0
- package/dist/frontend/program.js +51 -14
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/types.d.ts +68 -6
- package/dist/frontend/types.js +285 -57
- package/dist/frontend/types.js.map +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.js +253 -17
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +50 -4
- package/dist/ir/nodes.js +179 -13
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/validate.js +61 -0
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/profile.d.ts +52 -0
- package/dist/library/profile.js +232 -0
- package/dist/library/profile.js.map +1 -0
- package/package.json +2 -2
- package/surface-manifest.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-static-rewrite.js","sourceRoot":"","sources":["../../src/frontend/npm-static-rewrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,14 @@ export declare function npmStaticActive(): boolean;
|
|
|
3
3
|
export declare function npmStaticPackages(): ReadonlySet<string>;
|
|
4
4
|
export declare function isNpmStaticPackage(name: string | null): boolean;
|
|
5
5
|
/** The opted-in package a path belongs to, or null. Attribution uses the
|
|
6
|
-
* INNERMOST node_modules segment (a nested install is its own package)
|
|
6
|
+
* INNERMOST node_modules segment (a nested install is its own package);
|
|
7
|
+
* paths with NO node_modules segment consult the workspace registry — an
|
|
8
|
+
* opted-in WORKSPACE package's files live at realpaths outside every
|
|
9
|
+
* node_modules (the symlinked-install shape), and they are that package's
|
|
10
|
+
* files for every consumer of this answer: the fallback loop's offender
|
|
11
|
+
* attribution, the checker-error suppression, and the program-source
|
|
12
|
+
* classification (islandJsFile/userFiles) all agree the opt-in claims
|
|
13
|
+
* them. */
|
|
7
14
|
export declare function npmStaticPackageOfPath(path: string): string | null;
|
|
8
15
|
/** Records why a package cannot compile statically this attempt (first
|
|
9
16
|
* reason wins — one line per package in the coverage note). */
|
|
@@ -53,16 +53,24 @@
|
|
|
53
53
|
* whole compiles sequentially per process, and every loadProgram resets
|
|
54
54
|
* the state, so a flagless compile after a flagged one sees a clean
|
|
55
55
|
* slate. */
|
|
56
|
-
import { readFileSync } from "node:fs";
|
|
57
|
-
import {
|
|
56
|
+
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
57
|
+
import { dirname } from "node:path";
|
|
58
|
+
import { rewriteBundlerCjsExports } from "./npm-static-rewrite.js";
|
|
59
|
+
import { npmPackageNameOf, registerWorkspacePackage, workspacePackageOfPath } from "./shared.js";
|
|
58
60
|
let activePackages = new Set();
|
|
59
61
|
/** Offender records of the CURRENT load attempt: packages whose static
|
|
60
62
|
* compilation the preflight had to refuse, with the first reason. The
|
|
61
63
|
* frontend's fallback loop consumes these and rebuilds without them. */
|
|
62
64
|
const offenders = new Map();
|
|
65
|
+
/** Per-load cache of the bundler-CJS export rewrite (npm-static-rewrite.ts):
|
|
66
|
+
* the host probes the same file many times, and the rewrite parses. */
|
|
67
|
+
const rewriteCache = new Map();
|
|
63
68
|
export function setNpmStaticPackages(packages) {
|
|
64
69
|
activePackages = new Set(packages);
|
|
65
70
|
offenders.clear();
|
|
71
|
+
rewriteCache.clear();
|
|
72
|
+
untypedPkgCache.clear();
|
|
73
|
+
realpathProbed.clear();
|
|
66
74
|
}
|
|
67
75
|
export function npmStaticActive() {
|
|
68
76
|
return activePackages.size > 0;
|
|
@@ -74,10 +82,20 @@ export function isNpmStaticPackage(name) {
|
|
|
74
82
|
return name !== null && activePackages.has(name);
|
|
75
83
|
}
|
|
76
84
|
/** The opted-in package a path belongs to, or null. Attribution uses the
|
|
77
|
-
* INNERMOST node_modules segment (a nested install is its own package)
|
|
85
|
+
* INNERMOST node_modules segment (a nested install is its own package);
|
|
86
|
+
* paths with NO node_modules segment consult the workspace registry — an
|
|
87
|
+
* opted-in WORKSPACE package's files live at realpaths outside every
|
|
88
|
+
* node_modules (the symlinked-install shape), and they are that package's
|
|
89
|
+
* files for every consumer of this answer: the fallback loop's offender
|
|
90
|
+
* attribution, the checker-error suppression, and the program-source
|
|
91
|
+
* classification (islandJsFile/userFiles) all agree the opt-in claims
|
|
92
|
+
* them. */
|
|
78
93
|
export function npmStaticPackageOfPath(path) {
|
|
79
94
|
const pkg = npmPackageNameOf(path);
|
|
80
|
-
|
|
95
|
+
if (pkg !== null)
|
|
96
|
+
return activePackages.has(pkg) ? pkg : null;
|
|
97
|
+
const ws = workspacePackageOfPath(path.split("\\").join("/"));
|
|
98
|
+
return ws !== null && activePackages.has(ws) ? ws : null;
|
|
81
99
|
}
|
|
82
100
|
/** Records why a package cannot compile statically this attempt (first
|
|
83
101
|
* reason wins — one line per package in the coverage note). */
|
|
@@ -93,6 +111,22 @@ export function npmStaticOffenders() {
|
|
|
93
111
|
function mangledTypesName(name) {
|
|
94
112
|
return name.startsWith("@") ? name.slice(1).replace("/", "__") : name;
|
|
95
113
|
}
|
|
114
|
+
/** See shadowTargetOf: realpaths an opted-in package's node_modules dir
|
|
115
|
+
* once per load and registers workspace-symlinked installs. */
|
|
116
|
+
const realpathProbed = new Set();
|
|
117
|
+
function registerWorkspaceRealpath(pkg, nmDir) {
|
|
118
|
+
if (realpathProbed.has(nmDir))
|
|
119
|
+
return;
|
|
120
|
+
realpathProbed.add(nmDir);
|
|
121
|
+
try {
|
|
122
|
+
const real = realpathSync(nmDir).split("\\").join("/");
|
|
123
|
+
if (real !== nmDir && !real.includes("/node_modules/"))
|
|
124
|
+
registerWorkspacePackage(pkg, real);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
/* dangling symlink / missing dir — nothing to register */
|
|
128
|
+
}
|
|
129
|
+
}
|
|
96
130
|
/** node_modules path classification for the fs shadow: which opted-in
|
|
97
131
|
* package (if any) the path is inside, and whether it is inside that
|
|
98
132
|
* package's @types twin instead. A path with no node_modules segment can
|
|
@@ -111,8 +145,17 @@ function shadowTargetOf(path) {
|
|
|
111
145
|
const parts = rest.split("/");
|
|
112
146
|
const first = parts[0] ?? "";
|
|
113
147
|
const dirName = first.startsWith("@") ? `${first}/${parts[1] ?? ""}` : first;
|
|
114
|
-
if (activePackages.has(dirName))
|
|
148
|
+
if (activePackages.has(dirName)) {
|
|
149
|
+
/* An opted-in package first seen through a node_modules path may be a
|
|
150
|
+
* WORKSPACE SYMLINK whose realpath escapes node_modules — and the
|
|
151
|
+
* host reads file CONTENT at realpaths, where nothing path-shaped
|
|
152
|
+
* marks the package. The entry-anchored probe in loadProgram misses
|
|
153
|
+
* nested realms (a monorepo driver outside every package realm), so
|
|
154
|
+
* the shadow registers the realpath the moment resolution touches the
|
|
155
|
+
* symlink — always before any content read along it. */
|
|
156
|
+
registerWorkspaceRealpath(dirName, `${norm.slice(0, idx)}/node_modules/${dirName}`);
|
|
115
157
|
return { pkg: dirName, viaTypes: false };
|
|
158
|
+
}
|
|
116
159
|
if (first === "@types") {
|
|
117
160
|
const mangled = parts[1] ?? "";
|
|
118
161
|
for (const pkg of activePackages) {
|
|
@@ -214,6 +257,62 @@ export function npmStaticTransformPkgJsonText(text) {
|
|
|
214
257
|
function isDeclarationFileName(path) {
|
|
215
258
|
return /\.d\.(ts|mts|cts)$/.test(path) || path.endsWith(".d.json.ts");
|
|
216
259
|
}
|
|
260
|
+
function isNodeModulesPathNorm(path) {
|
|
261
|
+
return path.split("\\").join("/").includes("/node_modules/");
|
|
262
|
+
}
|
|
263
|
+
/** Whether the package owning `path` is UNTYPED for the checker: no
|
|
264
|
+
* "types"/"typings" claim, no root .d.ts entry, and no installed @types
|
|
265
|
+
* twin along the walk-up — the packages whose flagless import surface is
|
|
266
|
+
* `any` (see the any-surface stub in the fs shadow). Cached per package
|
|
267
|
+
* directory for the load's lifetime. */
|
|
268
|
+
const untypedPkgCache = new Map();
|
|
269
|
+
function packageIsUntyped(path) {
|
|
270
|
+
const norm = path.split("\\").join("/");
|
|
271
|
+
const idx = norm.lastIndexOf("/node_modules/");
|
|
272
|
+
if (idx === -1)
|
|
273
|
+
return false;
|
|
274
|
+
const rest = norm.slice(idx + "/node_modules/".length);
|
|
275
|
+
const parts = rest.split("/");
|
|
276
|
+
const first = parts[0] ?? "";
|
|
277
|
+
if (first.startsWith("@types"))
|
|
278
|
+
return false; // a twin IS the types
|
|
279
|
+
const dirName = first.startsWith("@") ? `${first}/${parts[1] ?? ""}` : first;
|
|
280
|
+
const pkgDir = `${norm.slice(0, idx)}/node_modules/${dirName}`;
|
|
281
|
+
const hit = untypedPkgCache.get(pkgDir);
|
|
282
|
+
if (hit !== undefined)
|
|
283
|
+
return hit;
|
|
284
|
+
let untyped = true;
|
|
285
|
+
try {
|
|
286
|
+
const pkg = JSON.parse(readFileSync(`${pkgDir}/package.json`, "utf8"));
|
|
287
|
+
if (pkg["types"] !== undefined || pkg["typings"] !== undefined)
|
|
288
|
+
untyped = false;
|
|
289
|
+
if (untyped && typeof pkg["exports"] === "object" && pkg["exports"] !== null) {
|
|
290
|
+
// a "types" condition anywhere inside exports is a claim too
|
|
291
|
+
untyped = !JSON.stringify(pkg["exports"]).includes('"types"');
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
/* no package.json — keep probing */
|
|
296
|
+
}
|
|
297
|
+
if (untyped && existsSync(`${pkgDir}/index.d.ts`))
|
|
298
|
+
untyped = false;
|
|
299
|
+
if (untyped) {
|
|
300
|
+
// the @types twin, hoisted anywhere up the realm chain
|
|
301
|
+
const mangled = mangledTypesName(dirName);
|
|
302
|
+
for (let dir = dirname(pkgDir);;) {
|
|
303
|
+
const parent = dirname(dir);
|
|
304
|
+
if (existsSync(`${dir}/node_modules/@types/${mangled}/package.json`) || existsSync(`${dir}/@types/${mangled}/package.json`)) {
|
|
305
|
+
untyped = false;
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
if (parent === dir)
|
|
309
|
+
break;
|
|
310
|
+
dir = parent;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
untypedPkgCache.set(pkgDir, untyped);
|
|
314
|
+
return untyped;
|
|
315
|
+
}
|
|
217
316
|
/** The virtual-FS shadow loadProgram hands the tsgo host — null when the
|
|
218
317
|
* flag is off, so flagless compiles keep the exact host behavior. */
|
|
219
318
|
export function npmStaticFsShadow() {
|
|
@@ -222,16 +321,56 @@ export function npmStaticFsShadow() {
|
|
|
222
321
|
return {
|
|
223
322
|
readFile: (path) => {
|
|
224
323
|
const target = shadowTargetOf(path);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
324
|
+
/* NON-OPTED node_modules JS: maxNodeModuleJsDepth (set only on
|
|
325
|
+
* --npm-static loads) admits third-party JS the flagless build never
|
|
326
|
+
* types, and an UNTYPED package's inferred surface would then
|
|
327
|
+
* replace the `any` its imports contribute flagless — changing the
|
|
328
|
+
* PROGRAM's own types under a flag that promised to touch only the
|
|
329
|
+
* opted-in packages (the jaro-winkler shape: an @ts-ignore'd import
|
|
330
|
+
* whose result feeds program arithmetic). Serve those files as the
|
|
331
|
+
* any-surface stub instead: the import types exactly what the
|
|
332
|
+
* flagless build typed. Typed packages (own .d.ts or an installed
|
|
333
|
+
* @types twin) resolve types-first and never reach here. */
|
|
334
|
+
if (!target) {
|
|
335
|
+
if ((path.endsWith(".js") || path.endsWith(".cjs")) &&
|
|
336
|
+
isNodeModulesPathNorm(path) &&
|
|
337
|
+
!existsSync(path.replace(/\.(js|cjs)$/, ".d.ts")) && // a sibling .d.ts types this very file
|
|
338
|
+
packageIsUntyped(path)) {
|
|
339
|
+
return "module.exports = (() => { let u; return u; })();\n";
|
|
340
|
+
}
|
|
228
341
|
return undefined;
|
|
229
|
-
try {
|
|
230
|
-
return npmStaticTransformPkgJsonText(readFileSync(path, "utf8"));
|
|
231
342
|
}
|
|
232
|
-
|
|
343
|
+
if (target.viaTypes)
|
|
233
344
|
return undefined;
|
|
345
|
+
if (path.endsWith("/package.json") || path.endsWith("\\package.json")) {
|
|
346
|
+
try {
|
|
347
|
+
return npmStaticTransformPkgJsonText(readFileSync(path, "utf8"));
|
|
348
|
+
}
|
|
349
|
+
catch {
|
|
350
|
+
return undefined;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
// Bundler-emitted CJS files get their export surface respelled in
|
|
354
|
+
// the plain CJS both worlds model (npm-static-rewrite.ts) — the ONE
|
|
355
|
+
// program serves checker and lowering, so the rewrite is the text
|
|
356
|
+
// everywhere downstream (statement walks, the CJS lexer link check,
|
|
357
|
+
// diagnostics rendering; original line offsets survive by
|
|
358
|
+
// construction).
|
|
359
|
+
if (path.endsWith(".js") || path.endsWith(".cjs")) {
|
|
360
|
+
const hit = rewriteCache.get(path);
|
|
361
|
+
if (hit !== undefined)
|
|
362
|
+
return hit ?? undefined;
|
|
363
|
+
let rewritten = null;
|
|
364
|
+
try {
|
|
365
|
+
rewritten = rewriteBundlerCjsExports(readFileSync(path, "utf8"), path);
|
|
366
|
+
}
|
|
367
|
+
catch {
|
|
368
|
+
rewritten = null; // unreadable/unparseable: fall through untouched
|
|
369
|
+
}
|
|
370
|
+
rewriteCache.set(path, rewritten);
|
|
371
|
+
return rewritten ?? undefined;
|
|
234
372
|
}
|
|
373
|
+
return undefined;
|
|
235
374
|
},
|
|
236
375
|
hideFile: (path) => {
|
|
237
376
|
const target = shadowTargetOf(path);
|
|
@@ -251,13 +390,15 @@ export function npmStaticFsShadow() {
|
|
|
251
390
|
* no build-transform markers (a bundled/transpiled dist is not the code
|
|
252
391
|
* the author checked). Best-effort: a package that slips through and
|
|
253
392
|
* fails preflight falls back to the island like any offender. */
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
393
|
+
/* Only a bundler RUNTIME disqualifies now: webpack's module registry has
|
|
394
|
+
* no static story (the graph lives in numbered closures). The tsc/babel
|
|
395
|
+
* __esModule stamp and esbuild's helper preambles used to disqualify too,
|
|
396
|
+
* but the bundler-emitted CJS export rewrite (npm-static-rewrite.ts)
|
|
397
|
+
* types the getter-table shapes and the offender attribution degrades a
|
|
398
|
+
* package whose surface still breaks its consumers — so those bundles are
|
|
399
|
+
* worth ATTEMPTING: eligible when the .d.ts and unminified criteria hold,
|
|
400
|
+
* gracefully per-package-degraded when the attempt fails. */
|
|
401
|
+
const TRANSFORM_MARKERS = ["__webpack_require__"];
|
|
261
402
|
/** Unminified-JS heuristic over an entry source: at least two lines and
|
|
262
403
|
* an average line length under 200 characters (minified dists are one
|
|
263
404
|
* enormous line; readable code averages well under 100). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-static.js","sourceRoot":"","sources":["../../src/frontend/npm-static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAsDY;AAEZ,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEvE,IAAI,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;AAEpD;;wEAEwE;AACxE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,OAAO,IAAI,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;2EAC2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,GAAG,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;+DAC+D;AAC/D,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,MAAc;IACjE,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;0EAC0E;AAC1E,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED;;;;;;6BAM6B;AAC7B,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1E,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;4CAiB4C;AAC5C,MAAM,UAAU,yBAAyB,CAAC,GAA4B;IACpE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,CAAC,CAAU,EAAQ,EAAE;QACrC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,2CAA2C;QAC3C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GACT,OAAO,GAAG,KAAK,QAAQ;oBACrB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;oBAC/B,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAC9D,CAAC,CAAE,GAA+B;wBAClC,CAAC,CAAC,EAAE,CAAC;gBACX,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;wBAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS;QAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;oCAEoC;AACpC,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,yBAAyB,CAAC,GAA8B,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;oBACoB;AACpB,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACxE,CAAC;AAWD;qEACqE;AACrE,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO;QACL,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1F,IAAI,CAAC;gBACH,OAAO,6BAA6B,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;YAChE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;iEAOiE;AAEjE,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,cAAc,EAAE,gCAAgC;IAChD,cAAc;IACd,eAAe,EAAE,oCAAoC;IACrD,oBAAoB;CACrB,CAAC;AAEF;;4DAE4D;AAC5D,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;yDAGyD;AACzD,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,SAAiB,EACjB,OAAsB;IAEtB,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE,CAAC;QAC5C,OAAO,mFAAmF,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,2CAA2C,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,8BAA8B,CAAC;IAC5D,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,qBAAqB,OAAO,iBAAiB,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,+BAA+B,CAAC;IACrE,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,0EAA0E,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"npm-static.js","sourceRoot":"","sources":["../../src/frontend/npm-static.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,12 @@ export declare function orderedImportsOf(program: ts.Program, sf: ts.SourceFile)
|
|
|
132
132
|
stmt: ts.Statement;
|
|
133
133
|
dep: ts.SourceFile | null;
|
|
134
134
|
}[];
|
|
135
|
+
/** The program source file a bare specifier reaches when it names an
|
|
136
|
+
* opted-in --npm-static package (the shipped-JS entry preflight admitted
|
|
137
|
+
* as a module edge), else null. No offender reporting here — preflight
|
|
138
|
+
* already classified the import; this is the lookup the module-order and
|
|
139
|
+
* lowering paths share. */
|
|
140
|
+
export declare function npmStaticDepSf7(program: ts.Program, sf: ts.SourceFile, spec: string): ts.SourceFile | null;
|
|
135
141
|
/** True when `expr` is the `module.exports` property access. */
|
|
136
142
|
export declare function isModuleExportsAccess(expr: ts.Expression): expr is ts.PropertyAccessExpression;
|
|
137
143
|
/** Classifies a statement as a CommonJS EXPORT assignment:
|
package/dist/frontend/program.js
CHANGED
|
@@ -953,7 +953,19 @@ function npmStaticProgramDep(program, packageName, resolvedFile) {
|
|
|
953
953
|
reportNpmStaticOffender(packageName, `its import resolves to '${resolvedFile}', not to runtime JavaScript`);
|
|
954
954
|
return null;
|
|
955
955
|
}
|
|
956
|
-
|
|
956
|
+
let dep = program.getSourceFile(resolvedFile) ?? null;
|
|
957
|
+
if (dep === null) {
|
|
958
|
+
// A workspace-linked package shipping its .ts SOURCE beside the
|
|
959
|
+
// compiled .js: the checker's resolution preferred the source (it
|
|
960
|
+
// outranks the sibling .js under bundler resolution), so the program
|
|
961
|
+
// holds the .ts twin at the same stem — the same module, in its
|
|
962
|
+
// richer spelling.
|
|
963
|
+
for (const ext of [".ts", ".tsx", ".mts", ".cts"]) {
|
|
964
|
+
dep = program.getSourceFile(resolvedFile.replace(/\.(js|mjs|cjs)$/, ext)) ?? null;
|
|
965
|
+
if (dep !== null)
|
|
966
|
+
break;
|
|
967
|
+
}
|
|
968
|
+
}
|
|
957
969
|
if (dep === null) {
|
|
958
970
|
reportNpmStaticOffender(packageName, `its entry '${resolvedFile}' did not join the type-checked program`);
|
|
959
971
|
return null;
|
|
@@ -1607,22 +1619,38 @@ function preflight7(load) {
|
|
|
1607
1619
|
}
|
|
1608
1620
|
}
|
|
1609
1621
|
const isRelative = isRelativeSpecifier(req.spec);
|
|
1622
|
+
let dep = null;
|
|
1610
1623
|
if (!isRelative) {
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
if (
|
|
1620
|
-
|
|
1624
|
+
// --npm-static: a require() of an OPTED-IN package is a
|
|
1625
|
+
// program-module edge exactly like the import-declaration
|
|
1626
|
+
// form above (bundle dists require their workspace siblings —
|
|
1627
|
+
// the same resolution, the same offender discipline on a
|
|
1628
|
+
// miss).
|
|
1629
|
+
const npmReq = !req.spec.startsWith("#") ? resolveNpmImport7(sf.fileName, req.spec) : null;
|
|
1630
|
+
if (npmReq !== null && isNpmStaticPackage(npmReq.packageName)) {
|
|
1631
|
+
dep = npmStaticProgramDep(program, npmReq.packageName, npmReq.typesFile);
|
|
1632
|
+
if (dep === null)
|
|
1633
|
+
continue; // offender recorded — the fallback loop reloads
|
|
1634
|
+
}
|
|
1635
|
+
else {
|
|
1636
|
+
if (canonicalBuiltinModule(req.spec) === null &&
|
|
1637
|
+
!processModuleAliasRequire7(req.spec, req.decl)) {
|
|
1638
|
+
// A binding-less require of a package NOTHING resolves:
|
|
1639
|
+
// Node throws MODULE_NOT_FOUND at the require site — the
|
|
1640
|
+
// lowering compiles exactly that catchable throw (the
|
|
1641
|
+
// optional-dependency try/require pattern), so no fence.
|
|
1642
|
+
// Binding forms keep the fence: their downstream reads
|
|
1643
|
+
// would need the module that never loads.
|
|
1644
|
+
if (req.decl !== null || probeNodeRequireRefusal(sf.fileName, req.spec) === null) {
|
|
1645
|
+
diags.push(unsupportedDiag("SC1010", loc, `the '${req.spec}' module`));
|
|
1646
|
+
}
|
|
1621
1647
|
}
|
|
1648
|
+
continue;
|
|
1622
1649
|
}
|
|
1623
|
-
continue;
|
|
1624
1650
|
}
|
|
1625
|
-
|
|
1651
|
+
else {
|
|
1652
|
+
dep = resolveImport7(program, sf, req.spec);
|
|
1653
|
+
}
|
|
1626
1654
|
if (dep && dep.fileName.endsWith(".json")) {
|
|
1627
1655
|
diags.push(unsupportedDiag("SC1012", loc, "require() of JSON modules"));
|
|
1628
1656
|
continue;
|
|
@@ -1643,6 +1671,15 @@ function preflight7(load) {
|
|
|
1643
1671
|
const spec = requireSpecOf7(call);
|
|
1644
1672
|
const loc = { file: sf.fileName, start: call.getStart(sf), end: call.getEnd() };
|
|
1645
1673
|
if (!isRelativeSpecifier(spec)) {
|
|
1674
|
+
// --npm-static: opted-in packages ride the program-module edge
|
|
1675
|
+
// (the statement-level require branch above).
|
|
1676
|
+
const npmReq = !spec.startsWith("#") ? resolveNpmImport7(sf.fileName, spec) : null;
|
|
1677
|
+
if (npmReq !== null && isNpmStaticPackage(npmReq.packageName)) {
|
|
1678
|
+
const nDep = npmStaticProgramDep(program, npmReq.packageName, npmReq.typesFile);
|
|
1679
|
+
if (nDep !== null)
|
|
1680
|
+
deps.push({ dep: nDep, backAdmissible: () => false });
|
|
1681
|
+
continue;
|
|
1682
|
+
}
|
|
1646
1683
|
if (canonicalBuiltinModule(spec) === null && !processModuleAliasRequire7(spec, null)) {
|
|
1647
1684
|
// Binding-less by construction — same require-site throw
|
|
1648
1685
|
// channel as the statement-level form above.
|
|
@@ -2123,7 +2160,7 @@ export function orderedImportsOf(program, sf) {
|
|
|
2123
2160
|
* as a module edge), else null. No offender reporting here — preflight
|
|
2124
2161
|
* already classified the import; this is the lookup the module-order and
|
|
2125
2162
|
* lowering paths share. */
|
|
2126
|
-
function npmStaticDepSf7(program, sf, spec) {
|
|
2163
|
+
export function npmStaticDepSf7(program, sf, spec) {
|
|
2127
2164
|
if (!npmStaticActive() || isRelativeSpecifier(spec))
|
|
2128
2165
|
return null;
|
|
2129
2166
|
if (spec.startsWith("node:") || spec.startsWith("#"))
|