@scriptc/compiler 0.0.0 → 0.0.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.
- package/LICENSE +202 -0
- package/ambient/package.json +3 -0
- package/ambient/scriptc-node-fallback.d.ts +3001 -0
- package/ambient/scriptc-overrides.d.ts +95 -0
- package/ambient/scriptc.d.ts +74 -0
- package/dist/backend/cc.d.ts +169 -0
- package/dist/backend/cc.js +897 -0
- package/dist/backend/cc.js.map +1 -0
- package/dist/backend/emission/emit-async.d.ts +145 -0
- package/dist/backend/emission/emit-async.js +996 -0
- package/dist/backend/emission/emit-async.js.map +1 -0
- package/dist/backend/emission/emit-exprs.d.ts +3 -0
- package/dist/backend/emission/emit-exprs.js +5949 -0
- package/dist/backend/emission/emit-exprs.js.map +1 -0
- package/dist/backend/emission/emit-island.d.ts +45 -0
- package/dist/backend/emission/emit-island.js +271 -0
- package/dist/backend/emission/emit-island.js.map +1 -0
- package/dist/backend/emission/emit-shapes.d.ts +142 -0
- package/dist/backend/emission/emit-shapes.js +575 -0
- package/dist/backend/emission/emit-shapes.js.map +1 -0
- package/dist/backend/emission/emit-stmts.d.ts +78 -0
- package/dist/backend/emission/emit-stmts.js +960 -0
- package/dist/backend/emission/emit-stmts.js.map +1 -0
- package/dist/backend/emission/emit-types.d.ts +65 -0
- package/dist/backend/emission/emit-types.js +652 -0
- package/dist/backend/emission/emit-types.js.map +1 -0
- package/dist/backend/emission/emit-walkers.d.ts +154 -0
- package/dist/backend/emission/emit-walkers.js +1587 -0
- package/dist/backend/emission/emit-walkers.js.map +1 -0
- package/dist/backend/emission/emitter.d.ts +452 -0
- package/dist/backend/emission/emitter.js +1249 -0
- package/dist/backend/emission/emitter.js.map +1 -0
- package/dist/backend/emission/may-throw.d.ts +15 -0
- package/dist/backend/emission/may-throw.js +250 -0
- package/dist/backend/emission/may-throw.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +21 -0
- package/dist/backend/llvm/blocks.js +68 -0
- package/dist/backend/llvm/blocks.js.map +1 -0
- package/dist/backend/llvm/classes.d.ts +84 -0
- package/dist/backend/llvm/classes.js +438 -0
- package/dist/backend/llvm/classes.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +123 -0
- package/dist/backend/llvm/dyn.js +2624 -0
- package/dist/backend/llvm/dyn.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +3 -0
- package/dist/backend/llvm/emitter.js +10102 -0
- package/dist/backend/llvm/emitter.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +78 -0
- package/dist/backend/llvm/shapes.js +754 -0
- package/dist/backend/llvm/shapes.js.map +1 -0
- package/dist/backend/llvm/unsupported.d.ts +6 -0
- package/dist/backend/llvm/unsupported.js +12 -0
- package/dist/backend/llvm/unsupported.js.map +1 -0
- package/dist/backend/llvm/walkers.d.ts +58 -0
- package/dist/backend/llvm/walkers.js +793 -0
- package/dist/backend/llvm/walkers.js.map +1 -0
- package/dist/backend/mangle.d.ts +124 -0
- package/dist/backend/mangle.js +232 -0
- package/dist/backend/mangle.js.map +1 -0
- package/dist/coverage/report.d.ts +65 -0
- package/dist/coverage/report.js +238 -0
- package/dist/coverage/report.js.map +1 -0
- package/dist/diagnostics/diagnostic.d.ts +140 -0
- package/dist/diagnostics/diagnostic.js +458 -0
- package/dist/diagnostics/diagnostic.js.map +1 -0
- package/dist/diagnostics/render.d.ts +11 -0
- package/dist/diagnostics/render.js +58 -0
- package/dist/diagnostics/render.js.map +1 -0
- package/dist/frontend/cjs-lexer.d.ts +20 -0
- package/dist/frontend/cjs-lexer.js +813 -0
- package/dist/frontend/cjs-lexer.js.map +1 -0
- package/dist/frontend/lowering/http2-constants.d.ts +1 -0
- package/dist/frontend/lowering/http2-constants.js +251 -0
- package/dist/frontend/lowering/http2-constants.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.d.ts +6 -0
- package/dist/frontend/lowering/lib-boundary.js +143 -0
- package/dist/frontend/lowering/lib-boundary.js.map +1 -0
- package/dist/frontend/lowering/lower-assert.d.ts +18 -0
- package/dist/frontend/lowering/lower-assert.js +1269 -0
- package/dist/frontend/lowering/lower-assert.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.d.ts +511 -0
- package/dist/frontend/lowering/lower-builtins.js +5249 -0
- package/dist/frontend/lowering/lower-builtins.js.map +1 -0
- package/dist/frontend/lowering/lower-calls.d.ts +581 -0
- package/dist/frontend/lowering/lower-calls.js +6286 -0
- package/dist/frontend/lowering/lower-calls.js.map +1 -0
- package/dist/frontend/lowering/lower-classes.d.ts +727 -0
- package/dist/frontend/lowering/lower-classes.js +4701 -0
- package/dist/frontend/lowering/lower-classes.js.map +1 -0
- package/dist/frontend/lowering/lower-comptime.d.ts +53 -0
- package/dist/frontend/lowering/lower-comptime.js +244 -0
- package/dist/frontend/lowering/lower-comptime.js.map +1 -0
- package/dist/frontend/lowering/lower-containers.d.ts +486 -0
- package/dist/frontend/lowering/lower-containers.js +6345 -0
- package/dist/frontend/lowering/lower-containers.js.map +1 -0
- package/dist/frontend/lowering/lower-dgram.d.ts +20 -0
- package/dist/frontend/lowering/lower-dgram.js +319 -0
- package/dist/frontend/lowering/lower-dgram.js.map +1 -0
- package/dist/frontend/lowering/lower-emitter.d.ts +10 -0
- package/dist/frontend/lowering/lower-emitter.js +688 -0
- package/dist/frontend/lowering/lower-emitter.js.map +1 -0
- package/dist/frontend/lowering/lower-enums.d.ts +22 -0
- package/dist/frontend/lowering/lower-enums.js +235 -0
- package/dist/frontend/lowering/lower-enums.js.map +1 -0
- package/dist/frontend/lowering/lower-expando.d.ts +35 -0
- package/dist/frontend/lowering/lower-expando.js +276 -0
- package/dist/frontend/lowering/lower-expando.js.map +1 -0
- package/dist/frontend/lowering/lower-exprs.d.ts +524 -0
- package/dist/frontend/lowering/lower-exprs.js +8111 -0
- package/dist/frontend/lowering/lower-exprs.js.map +1 -0
- package/dist/frontend/lowering/lower-generators.d.ts +50 -0
- package/dist/frontend/lowering/lower-generators.js +421 -0
- package/dist/frontend/lowering/lower-generators.js.map +1 -0
- package/dist/frontend/lowering/lower-inspect.d.ts +20 -0
- package/dist/frontend/lowering/lower-inspect.js +1074 -0
- package/dist/frontend/lowering/lower-inspect.js.map +1 -0
- package/dist/frontend/lowering/lower-island.d.ts +108 -0
- package/dist/frontend/lowering/lower-island.js +650 -0
- package/dist/frontend/lowering/lower-island.js.map +1 -0
- package/dist/frontend/lowering/lower-mixins.d.ts +96 -0
- package/dist/frontend/lowering/lower-mixins.js +534 -0
- package/dist/frontend/lowering/lower-mixins.js.map +1 -0
- package/dist/frontend/lowering/lower-modules.d.ts +135 -0
- package/dist/frontend/lowering/lower-modules.js +1613 -0
- package/dist/frontend/lowering/lower-modules.js.map +1 -0
- package/dist/frontend/lowering/lower-namespaces.d.ts +168 -0
- package/dist/frontend/lowering/lower-namespaces.js +706 -0
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -0
- package/dist/frontend/lowering/lower-server.d.ts +90 -0
- package/dist/frontend/lowering/lower-server.js +3471 -0
- package/dist/frontend/lowering/lower-server.js.map +1 -0
- package/dist/frontend/lowering/lower-stmts.d.ts +361 -0
- package/dist/frontend/lowering/lower-stmts.js +5341 -0
- package/dist/frontend/lowering/lower-stmts.js.map +1 -0
- package/dist/frontend/lowering/lower-stream.d.ts +88 -0
- package/dist/frontend/lowering/lower-stream.js +1533 -0
- package/dist/frontend/lowering/lower-stream.js.map +1 -0
- package/dist/frontend/lowering/lower-test.d.ts +27 -0
- package/dist/frontend/lowering/lower-test.js +353 -0
- package/dist/frontend/lowering/lower-test.js.map +1 -0
- package/dist/frontend/lowering/lowerer.d.ts +1748 -0
- package/dist/frontend/lowering/lowerer.js +6257 -0
- package/dist/frontend/lowering/lowerer.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +272 -0
- package/dist/frontend/lowering/surfaces.js +1096 -0
- package/dist/frontend/lowering/surfaces.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +55 -0
- package/dist/frontend/npm-static.js +300 -0
- package/dist/frontend/npm-static.js.map +1 -0
- package/dist/frontend/npm.d.ts +330 -0
- package/dist/frontend/npm.js +1259 -0
- package/dist/frontend/npm.js.map +1 -0
- package/dist/frontend/program.d.ts +186 -0
- package/dist/frontend/program.js +2255 -0
- package/dist/frontend/program.js.map +1 -0
- package/dist/frontend/provenance-registry.d.ts +48 -0
- package/dist/frontend/provenance-registry.js +87 -0
- package/dist/frontend/provenance-registry.js.map +1 -0
- package/dist/frontend/provenance.d.ts +6 -0
- package/dist/frontend/provenance.js +459 -0
- package/dist/frontend/provenance.js.map +1 -0
- package/dist/frontend/resolve.d.ts +56 -0
- package/dist/frontend/resolve.js +682 -0
- package/dist/frontend/resolve.js.map +1 -0
- package/dist/frontend/shared.d.ts +67 -0
- package/dist/frontend/shared.js +241 -0
- package/dist/frontend/shared.js.map +1 -0
- package/dist/frontend/ts7/adapter.d.ts +7 -0
- package/dist/frontend/ts7/adapter.js +54 -0
- package/dist/frontend/ts7/adapter.js.map +1 -0
- package/dist/frontend/ts7/ast.d.ts +50 -0
- package/dist/frontend/ts7/ast.js +211 -0
- package/dist/frontend/ts7/ast.js.map +1 -0
- package/dist/frontend/ts7/census-check.d.ts +1 -0
- package/dist/frontend/ts7/census-check.js +12 -0
- package/dist/frontend/ts7/census-check.js.map +1 -0
- package/dist/frontend/ts7/checker.d.ts +140 -0
- package/dist/frontend/ts7/checker.js +544 -0
- package/dist/frontend/ts7/checker.js.map +1 -0
- package/dist/frontend/ts7/enums.d.ts +18 -0
- package/dist/frontend/ts7/enums.js +43 -0
- package/dist/frontend/ts7/enums.js.map +1 -0
- package/dist/frontend/ts7/program.d.ts +99 -0
- package/dist/frontend/ts7/program.js +278 -0
- package/dist/frontend/ts7/program.js.map +1 -0
- package/dist/frontend/ts7/world-check.d.ts +3 -0
- package/dist/frontend/ts7/world-check.js +34 -0
- package/dist/frontend/ts7/world-check.js.map +1 -0
- package/dist/frontend/types.d.ts +205 -0
- package/dist/frontend/types.js +2485 -0
- package/dist/frontend/types.js.map +1 -0
- package/dist/index.d.ts +85 -0
- package/dist/index.js +429 -0
- package/dist/index.js.map +1 -0
- package/dist/ir/nodes.d.ts +4334 -0
- package/dist/ir/nodes.js +1906 -0
- package/dist/ir/nodes.js.map +1 -0
- package/dist/ir/serialize.d.ts +4 -0
- package/dist/ir/serialize.js +34 -0
- package/dist/ir/serialize.js.map +1 -0
- package/dist/ir/validate.d.ts +36 -0
- package/dist/ir/validate.js +4885 -0
- package/dist/ir/validate.js.map +1 -0
- package/package.json +30 -6
- package/README.md +0 -3
- package/index.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/frontend/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/** Path of the shipped ambient declarations — the always-shipped CORE
|
|
2
|
+
* (comptime/__island_eval, setTimeout). Part of EVERY program scriptc
|
|
3
|
+
* builds, the project-world preflight program included. */
|
|
4
|
+
export declare function ambientDtsPath(): string;
|
|
5
|
+
/** Path of the shipped divergence/precision OVERRIDES (JSON.parse():
|
|
6
|
+
* unknown, pop(): T, the Promise executor shape, ...). Part of the LOWERING
|
|
7
|
+
* program only — preflight's project-world second chance builds without it,
|
|
8
|
+
* so a project that typechecks under its own tsc never fails preflight over
|
|
9
|
+
* an override-manufactured error (checkPreflight). */
|
|
10
|
+
export declare function overridesDtsPath(): string;
|
|
11
|
+
/** Path of the shipped FALLBACK declarations (console, process, node:fs) —
|
|
12
|
+
* part of the program only when the target project has no @types/node.
|
|
13
|
+
* With @types/node, the project's real Node types stand in and this file
|
|
14
|
+
* stands down (its declaration forms would collide). */
|
|
15
|
+
export declare function fallbackDtsPath(): string;
|
|
16
|
+
/** True for files belonging to the adopted Node type surface: the
|
|
17
|
+
* @types/node package itself and undici-types (its dependency — the
|
|
18
|
+
* web-platform globals: fetch/Response/AbortSignal/ReadableStream/...).
|
|
19
|
+
* The provenance half of the lowering tables' recognition when the
|
|
20
|
+
* fallback declarations stand down, and of the SC2020-family fence for
|
|
21
|
+
* everything else those packages declare. */
|
|
22
|
+
export declare function isNodeTypesPath(file: string): boolean;
|
|
23
|
+
/** The node builtin modules with scriptc lowerings, by CANONICAL (bare)
|
|
24
|
+
* name — every module answers to both specifier forms ("fs" and "node:fs"
|
|
25
|
+
* are the same module, like in Node). When the fallback declarations ship,
|
|
26
|
+
* this is exactly the set of `declare module` names in that file; when
|
|
27
|
+
* @types/node stands in (which declares ALL node builtins) the supported
|
|
28
|
+
* surface must not widen, so preflight allowlists this same fixed set. */
|
|
29
|
+
export declare const SUPPORTED_BUILTIN_MODULES: readonly ["fs", "path", "path/posix", "path/win32", "os", "url", "fs/promises", "crypto", "zlib", "child_process", "net", "http", "tls", "https", "dgram", "dns", "util", "util/types", "string_decoder", "readline", "http2", "assert", "assert/strict", "worker_threads", "buffer", "cluster", "tty", "async_hooks", "events", "stream", "test", "timers", "timers/promises", "diagnostics_channel"];
|
|
30
|
+
/** The builtin modules whose DEFAULT import binding lowers: node:assert's
|
|
31
|
+
* module object IS a callable function (`import assert from "node:assert";
|
|
32
|
+
* assert(x)`), and node:events' module object IS the EventEmitter class
|
|
33
|
+
* (`module.exports = EventEmitter` — `import EventEmitter from
|
|
34
|
+
* "node:events"; new EventEmitter()`), so those default bindings lower —
|
|
35
|
+
* for every other builtin the default-import fence stands. */
|
|
36
|
+
export declare function builtinDefaultImportModule(spec: string): string | null;
|
|
37
|
+
/** Canonical (bare) name of a supported builtin-module specifier — "fs"
|
|
38
|
+
* for both "fs" and "node:fs" — or null for everything else. The lowering
|
|
39
|
+
* tables and the preflight allowlist share this one normalization. */
|
|
40
|
+
export declare function canonicalBuiltinModule(spec: string): string | null;
|
|
41
|
+
/** Both specifier spellings of every supported builtin (prefix-only ones
|
|
42
|
+
* keep just the node: form) — the ambient-module allowlist preflight uses. */
|
|
43
|
+
export declare const SUPPORTED_NODE_MODULES: readonly string[];
|
|
44
|
+
export declare function registerWorkspacePackage(name: string, realDir: string): void;
|
|
45
|
+
export declare function clearWorkspacePackages(): void;
|
|
46
|
+
/** The registered workspace package a path lies inside, or null. */
|
|
47
|
+
export declare function workspacePackageOfPath(path: string): string | null;
|
|
48
|
+
/** Node's relative-specifier family: './x', '../x', and the bare '.' /
|
|
49
|
+
* '..' directory forms (path resolution treats them identically —
|
|
50
|
+
* vercel's CLI imports `from '..'` for a parent directory's index).
|
|
51
|
+
* Anything else is a package, builtin, or package.json-mediated
|
|
52
|
+
* specifier. ('...' and friends are legal PACKAGE names — only the exact
|
|
53
|
+
* dot forms are relative.) */
|
|
54
|
+
export declare function isRelativeSpecifier(spec: string): boolean;
|
|
55
|
+
/** Package name from a path under node_modules — the LAST node_modules
|
|
56
|
+
* segment (nested installs blame the innermost package), scoped-aware:
|
|
57
|
+
* ".../node_modules/@scope/pkg/dist/x.d.ts" → "@scope/pkg". Paths with no
|
|
58
|
+
* node_modules segment answer their registered workspace package (the
|
|
59
|
+
* realpath'd home of a symlinked workspace install), else null. */
|
|
60
|
+
export declare function npmPackageNameOf(file: string): string | null;
|
|
61
|
+
export declare const ADOPTED_OPTIONS: readonly ["strict", "noImplicitAny", "strictNullChecks", "strictFunctionTypes", "strictBindCallApply", "strictPropertyInitialization", "strictBuiltinIteratorReturn", "noImplicitThis", "alwaysStrict", "useUnknownInCatchVariables", "noUncheckedIndexedAccess", "exactOptionalPropertyTypes", "noImplicitOverride", "noPropertyAccessFromIndexSignature", "noImplicitReturns", "noFallthroughCasesInSwitch", "noUnusedLocals", "noUnusedParameters", "allowUnusedLabels", "allowUnreachableCode", "skipLibCheck", "esModuleInterop", "allowSyntheticDefaultImports"];
|
|
62
|
+
export declare const JS_RELAXED_TSC_CODES: ReadonlySet<number>;
|
|
63
|
+
export declare const JS_ANY_OPERATOR_CODES: ReadonlySet<number>;
|
|
64
|
+
/** True for JavaScript source file NAMES (.js/.mjs/.cjs/.jsx) — the files
|
|
65
|
+
* whose types come entirely from inference (checkJs + JSDoc) and whose JS
|
|
66
|
+
* relaxation stance applies. */
|
|
67
|
+
export declare function isJsSourceFileName(fileName: string): boolean;
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/* World-neutral program-lifecycle constants and helpers — strings,
|
|
2
|
+
* numbers, and path predicates only, no AST, checker, or enum objects.
|
|
3
|
+
* Split out when two frontend lanes (typescript@5.9.3 and the TS7
|
|
4
|
+
* adapter) had to share them without exchanging world-typed objects;
|
|
5
|
+
* program.ts re-exports all of it, so lowering-side import sites kept
|
|
6
|
+
* their spelling across the phase-4 flip that retired the 5.9.3 lane. */
|
|
7
|
+
import { createRequire } from "node:module";
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
/** Path of the shipped ambient declarations — the always-shipped CORE
|
|
10
|
+
* (comptime/__island_eval, setTimeout). Part of EVERY program scriptc
|
|
11
|
+
* builds, the project-world preflight program included. */
|
|
12
|
+
export function ambientDtsPath() {
|
|
13
|
+
return require.resolve("@scriptc/compiler/scriptc.d.ts");
|
|
14
|
+
}
|
|
15
|
+
/** Path of the shipped divergence/precision OVERRIDES (JSON.parse():
|
|
16
|
+
* unknown, pop(): T, the Promise executor shape, ...). Part of the LOWERING
|
|
17
|
+
* program only — preflight's project-world second chance builds without it,
|
|
18
|
+
* so a project that typechecks under its own tsc never fails preflight over
|
|
19
|
+
* an override-manufactured error (checkPreflight). */
|
|
20
|
+
export function overridesDtsPath() {
|
|
21
|
+
return require.resolve("@scriptc/compiler/scriptc-overrides.d.ts");
|
|
22
|
+
}
|
|
23
|
+
/** Path of the shipped FALLBACK declarations (console, process, node:fs) —
|
|
24
|
+
* part of the program only when the target project has no @types/node.
|
|
25
|
+
* With @types/node, the project's real Node types stand in and this file
|
|
26
|
+
* stands down (its declaration forms would collide). */
|
|
27
|
+
export function fallbackDtsPath() {
|
|
28
|
+
return require.resolve("@scriptc/compiler/scriptc-node-fallback.d.ts");
|
|
29
|
+
}
|
|
30
|
+
/** True for files belonging to the adopted Node type surface: the
|
|
31
|
+
* @types/node package itself and undici-types (its dependency — the
|
|
32
|
+
* web-platform globals: fetch/Response/AbortSignal/ReadableStream/...).
|
|
33
|
+
* The provenance half of the lowering tables' recognition when the
|
|
34
|
+
* fallback declarations stand down, and of the SC2020-family fence for
|
|
35
|
+
* everything else those packages declare. */
|
|
36
|
+
export function isNodeTypesPath(file) {
|
|
37
|
+
const pkg = npmPackageNameOf(file);
|
|
38
|
+
return pkg === "@types/node" || pkg === "undici-types";
|
|
39
|
+
}
|
|
40
|
+
/** The node builtin modules with scriptc lowerings, by CANONICAL (bare)
|
|
41
|
+
* name — every module answers to both specifier forms ("fs" and "node:fs"
|
|
42
|
+
* are the same module, like in Node). When the fallback declarations ship,
|
|
43
|
+
* this is exactly the set of `declare module` names in that file; when
|
|
44
|
+
* @types/node stands in (which declares ALL node builtins) the supported
|
|
45
|
+
* surface must not widen, so preflight allowlists this same fixed set. */
|
|
46
|
+
export const SUPPORTED_BUILTIN_MODULES = ["fs", "path", "path/posix", "path/win32", "os", "url", "fs/promises", "crypto", "zlib", "child_process", "net", "http", "tls", "https", "dgram", "dns", "util", "util/types", "string_decoder", "readline", "http2", "assert", "assert/strict", "worker_threads", "buffer", "cluster", "tty", "async_hooks", "events", "stream", "test", "timers", "timers/promises", "diagnostics_channel"];
|
|
47
|
+
/** Builtins Node itself serves ONLY under the node: prefix —
|
|
48
|
+
* require("test") is MODULE_NOT_FOUND in Node, so the bare name stays a
|
|
49
|
+
* user-package specifier and never canonicalizes to the builtin. */
|
|
50
|
+
const PREFIX_ONLY_BUILTIN_MODULES = new Set(["test"]);
|
|
51
|
+
/** The builtin modules whose DEFAULT import binding lowers: node:assert's
|
|
52
|
+
* module object IS a callable function (`import assert from "node:assert";
|
|
53
|
+
* assert(x)`), and node:events' module object IS the EventEmitter class
|
|
54
|
+
* (`module.exports = EventEmitter` — `import EventEmitter from
|
|
55
|
+
* "node:events"; new EventEmitter()`), so those default bindings lower —
|
|
56
|
+
* for every other builtin the default-import fence stands. */
|
|
57
|
+
export function builtinDefaultImportModule(spec) {
|
|
58
|
+
const canon = canonicalBuiltinModule(spec);
|
|
59
|
+
// node:test's module object IS the test function (`import test from
|
|
60
|
+
// "node:test"; test(...)`), like assert's callable module object.
|
|
61
|
+
return canon === "assert" || canon === "assert/strict" || canon === "events" || canon === "test"
|
|
62
|
+
? canon
|
|
63
|
+
: null;
|
|
64
|
+
}
|
|
65
|
+
/** Canonical (bare) name of a supported builtin-module specifier — "fs"
|
|
66
|
+
* for both "fs" and "node:fs" — or null for everything else. The lowering
|
|
67
|
+
* tables and the preflight allowlist share this one normalization. */
|
|
68
|
+
export function canonicalBuiltinModule(spec) {
|
|
69
|
+
const bare = spec.startsWith("node:") ? spec.slice(5) : spec;
|
|
70
|
+
if (bare === spec && PREFIX_ONLY_BUILTIN_MODULES.has(bare))
|
|
71
|
+
return null;
|
|
72
|
+
return SUPPORTED_BUILTIN_MODULES.includes(bare) ? bare : null;
|
|
73
|
+
}
|
|
74
|
+
/** Both specifier spellings of every supported builtin (prefix-only ones
|
|
75
|
+
* keep just the node: form) — the ambient-module allowlist preflight uses. */
|
|
76
|
+
export const SUPPORTED_NODE_MODULES = SUPPORTED_BUILTIN_MODULES.flatMap((m) => PREFIX_ONLY_BUILTIN_MODULES.has(m) ? [`node:${m}`] : [m, `node:${m}`]);
|
|
77
|
+
/* ── workspace-linked packages ───────────────────────────────────────────
|
|
78
|
+
* A bare specifier can resolve through node_modules to a SYMLINK whose real
|
|
79
|
+
* location lies outside every node_modules directory — the workspace link
|
|
80
|
+
* every monorepo tool installs for internal packages (pnpm, npm, yarn, and
|
|
81
|
+
* bun workspaces all do). Node resolves and runs such a package exactly
|
|
82
|
+
* like any installed one, and so does scriptc — but the resolved files'
|
|
83
|
+
* REALPATHS carry no node_modules segment, so every path-keyed package
|
|
84
|
+
* attribution (which package declared this symbol, which package does this
|
|
85
|
+
* diagnostic belong to, is this file inside the --npm-static opt-in) needs
|
|
86
|
+
* this registry: real package directory → package name, filled by the
|
|
87
|
+
* resolver as workspace links are discovered and reset per load. */
|
|
88
|
+
const workspacePackageDirs = new Map();
|
|
89
|
+
export function registerWorkspacePackage(name, realDir) {
|
|
90
|
+
workspacePackageDirs.set(realDir.split("\\").join("/"), name);
|
|
91
|
+
}
|
|
92
|
+
export function clearWorkspacePackages() {
|
|
93
|
+
workspacePackageDirs.clear();
|
|
94
|
+
}
|
|
95
|
+
/** The registered workspace package a path lies inside, or null. */
|
|
96
|
+
export function workspacePackageOfPath(path) {
|
|
97
|
+
const norm = path.split("\\").join("/");
|
|
98
|
+
for (const [dir, name] of workspacePackageDirs) {
|
|
99
|
+
if (norm === dir || (norm.startsWith(dir) && norm[dir.length] === "/"))
|
|
100
|
+
return name;
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
/** Node's relative-specifier family: './x', '../x', and the bare '.' /
|
|
105
|
+
* '..' directory forms (path resolution treats them identically —
|
|
106
|
+
* vercel's CLI imports `from '..'` for a parent directory's index).
|
|
107
|
+
* Anything else is a package, builtin, or package.json-mediated
|
|
108
|
+
* specifier. ('...' and friends are legal PACKAGE names — only the exact
|
|
109
|
+
* dot forms are relative.) */
|
|
110
|
+
export function isRelativeSpecifier(spec) {
|
|
111
|
+
return spec === "." || spec === ".." || spec.startsWith("./") || spec.startsWith("../");
|
|
112
|
+
}
|
|
113
|
+
/** Package name from a path under node_modules — the LAST node_modules
|
|
114
|
+
* segment (nested installs blame the innermost package), scoped-aware:
|
|
115
|
+
* ".../node_modules/@scope/pkg/dist/x.d.ts" → "@scope/pkg". Paths with no
|
|
116
|
+
* node_modules segment answer their registered workspace package (the
|
|
117
|
+
* realpath'd home of a symlinked workspace install), else null. */
|
|
118
|
+
export function npmPackageNameOf(file) {
|
|
119
|
+
const parts = file.split("/");
|
|
120
|
+
const i = parts.lastIndexOf("node_modules");
|
|
121
|
+
if (i < 0 || i + 1 >= parts.length)
|
|
122
|
+
return workspacePackageOfPath(file);
|
|
123
|
+
const first = parts[i + 1];
|
|
124
|
+
if (first.startsWith("@")) {
|
|
125
|
+
const second = parts[i + 2];
|
|
126
|
+
return second ? `${first}/${second}` : first;
|
|
127
|
+
}
|
|
128
|
+
return first;
|
|
129
|
+
}
|
|
130
|
+
/* The compiler-options split (documented in SEMANTICS.md; the enum-valued
|
|
131
|
+
* FORCED knobs are spelled per world — each lane owns its enum objects):
|
|
132
|
+
* ADOPTED knobs change which programs typecheck; FORCED knobs change
|
|
133
|
+
* semantics scriptc depends on; strictNullChecks is a FLOOR. */
|
|
134
|
+
export const ADOPTED_OPTIONS = [
|
|
135
|
+
"strict",
|
|
136
|
+
"noImplicitAny",
|
|
137
|
+
"strictNullChecks",
|
|
138
|
+
"strictFunctionTypes",
|
|
139
|
+
"strictBindCallApply",
|
|
140
|
+
"strictPropertyInitialization",
|
|
141
|
+
"strictBuiltinIteratorReturn",
|
|
142
|
+
"noImplicitThis",
|
|
143
|
+
"alwaysStrict",
|
|
144
|
+
"useUnknownInCatchVariables",
|
|
145
|
+
"noUncheckedIndexedAccess",
|
|
146
|
+
"exactOptionalPropertyTypes",
|
|
147
|
+
"noImplicitOverride",
|
|
148
|
+
"noPropertyAccessFromIndexSignature",
|
|
149
|
+
"noImplicitReturns",
|
|
150
|
+
"noFallthroughCasesInSwitch",
|
|
151
|
+
"noUnusedLocals",
|
|
152
|
+
"noUnusedParameters",
|
|
153
|
+
"allowUnusedLabels",
|
|
154
|
+
"allowUnreachableCode",
|
|
155
|
+
"skipLibCheck",
|
|
156
|
+
// Import-form interop knobs: they only change which import FORMS
|
|
157
|
+
// typecheck (default imports of CJS-shaped types) — the import fence
|
|
158
|
+
// rejects unsupported forms with SC-diagnostics either way, and a
|
|
159
|
+
// SC1012 "not supported yet" beats a raw TS1259 at the same site.
|
|
160
|
+
"esModuleInterop",
|
|
161
|
+
"allowSyntheticDefaultImports",
|
|
162
|
+
];
|
|
163
|
+
/* The JAVASCRIPT strictness stance (the JS-input design made real):
|
|
164
|
+
* JavaScript sources carry no annotations, so tsc's strictness families
|
|
165
|
+
* that exist to demand annotations — or to reject dynamically-typed
|
|
166
|
+
* idioms that are ordinary, working JS — cannot be satisfied by the
|
|
167
|
+
* program's author at all. The design already says where inference gaps
|
|
168
|
+
* land: exactly where `any` lands in TS (island under --dynamic, honest
|
|
169
|
+
* fences without). So for JS FILES ONLY, these tsc families are not
|
|
170
|
+
* preflight gates; the values involved stay `any`/loose and every use
|
|
171
|
+
* meets the lowerer's per-site fences instead. TypeScript sources keep
|
|
172
|
+
* the full strict gate — nothing here weakens the default for annotated
|
|
173
|
+
* programs. */
|
|
174
|
+
export const JS_RELAXED_TSC_CODES = new Set([
|
|
175
|
+
// implicit any (params, variables, elements, this, returns, rest,
|
|
176
|
+
// construct signatures, index reads over shapes with no index
|
|
177
|
+
// signature — typeof globalThis)
|
|
178
|
+
2683, 7005, 7006, 7008, 7009, 7010, 7015, 7017, 7019, 7022, 7023, 7024, 7031, 7034, 7053,
|
|
179
|
+
// strict-null narrowing demands (possibly null/undefined receivers)
|
|
180
|
+
2531, 2532, 2533, 18047, 18048, 18049,
|
|
181
|
+
// assignability/arity/callability of dynamic call shapes (valid JS,
|
|
182
|
+
// checked at runtime by Node; the lowerer re-checks every lowered form
|
|
183
|
+
// per site) and member/existence probes over dynamic shapes (expando
|
|
184
|
+
// properties, capability probes — the lowerer fences unknown members
|
|
185
|
+
// per site with the SC2020 family)
|
|
186
|
+
2322, 2339, 2345, 2349, 2351, 2367, 2554, 2555, 2556, 2769,
|
|
187
|
+
2740, // 2322's elaborated "missing the following properties" form
|
|
188
|
+
2305, 2551, 2724, 2731,
|
|
189
|
+
// excess object-literal properties against a JSDoc-inferred contextual
|
|
190
|
+
// type (and the did-you-mean variant): ordinary, working JS — the extra
|
|
191
|
+
// key rides the object at runtime exactly as written (prettier's
|
|
192
|
+
// expand-patterns passes an ignoreUnknown member its own JSDoc type
|
|
193
|
+
// never declared)
|
|
194
|
+
2353, 2561,
|
|
195
|
+
// JSDoc TYPE-SPACE claims that fail to check: a value name in a type
|
|
196
|
+
// position (2749/2702), generic constraints and index types spelled in
|
|
197
|
+
// typedefs (2344/2536/2538), an async @returns that is not Promise
|
|
198
|
+
// (1064), and 2366's no-ending-return against a JSDoc-declared return
|
|
199
|
+
// type. The claims are documentation — Node never reads them; the
|
|
200
|
+
// values keep their runtime behavior and every use meets the per-site
|
|
201
|
+
// fences (prettier's source carries dozens of each).
|
|
202
|
+
2749, 2702, 2344, 2536, 2538, 1064, 2366,
|
|
203
|
+
// strict-null demands on dynamic shapes, continued: iterating/invoking
|
|
204
|
+
// possibly-undefined values (runtime re-checks at the site)
|
|
205
|
+
2488, 2721, 2722,
|
|
206
|
+
// an UNUSED @ts-expect-error: the directive annotated an error visible
|
|
207
|
+
// under the project's OWN tsconfig world — scriptc's world deliberately
|
|
208
|
+
// differs (adopted options, hidden declaration twins), and an unused
|
|
209
|
+
// suppression changes nothing at runtime
|
|
210
|
+
2578,
|
|
211
|
+
// a lib-floor demand (es2024+ members under the es2023 lib): the member
|
|
212
|
+
// types as the error-any and its use fences per site with the honest
|
|
213
|
+
// no-lowering story instead of gating the whole program
|
|
214
|
+
2550,
|
|
215
|
+
// `export *` ambiguity (2308): Node DEFINES this case — ambiguous names
|
|
216
|
+
// are excluded from the star surface — where tsc asks for an explicit
|
|
217
|
+
// re-export; and 2305's did-you-mean sibling 2614 joins 2305
|
|
218
|
+
2308, 2614,
|
|
219
|
+
// 2740's sibling elaboration ("Property X is missing in type Y")
|
|
220
|
+
2741,
|
|
221
|
+
// unresolvable modules: Node throws WHEN the require executes — the
|
|
222
|
+
// binding types as any and reached uses fence (never a silent pass)
|
|
223
|
+
2307, 2792,
|
|
224
|
+
// useUnknownInCatchVariables' annotation demand ("'e' is of type
|
|
225
|
+
// 'unknown'", "Object is of type 'unknown'"): a JS catch clause CANNOT
|
|
226
|
+
// annotate its variable, so the demand is unsatisfiable in source —
|
|
227
|
+
// exactly the implicit-any story above. The values stay 'unknown' and
|
|
228
|
+
// every use meets the lowerer's per-site unknown fences (member reads
|
|
229
|
+
// ride the checked-dynamic DOM; unsupported operations fence loudly).
|
|
230
|
+
18046, 2571,
|
|
231
|
+
]);
|
|
232
|
+
/* Arithmetic on an `any` operand (TS2362/2363/2365 fire when the other
|
|
233
|
+
* side is bigint-ish): plain JS — relaxed only when 'any' participates. */
|
|
234
|
+
export const JS_ANY_OPERATOR_CODES = new Set([2362, 2363, 2365]);
|
|
235
|
+
/** True for JavaScript source file NAMES (.js/.mjs/.cjs/.jsx) — the files
|
|
236
|
+
* whose types come entirely from inference (checkJs + JSDoc) and whose JS
|
|
237
|
+
* relaxation stance applies. */
|
|
238
|
+
export function isJsSourceFileName(fileName) {
|
|
239
|
+
return /\.(js|mjs|cjs|jsx)$/.test(fileName);
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/frontend/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./enums.js";
|
|
2
|
+
export * from "./ast.js";
|
|
3
|
+
export * from "./checker.js";
|
|
4
|
+
export * from "./program.js";
|
|
5
|
+
export type { CheckerFacade as TypeChecker } from "./checker.js";
|
|
6
|
+
export type { Ts7Program as Program } from "./program.js";
|
|
7
|
+
export type { CompilerOptions, Diagnostic, IndexInfo, InterfaceType, ObjectType, Signature, Symbol, TupleType, TupleType as TupleTypeReference, Type, TypePredicate, TypeReference, UnionOrIntersectionType, UnionType, } from "typescript/unstable/sync";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* The TS7 adapter: the census's ts.* surface (the survey's top-40 table plus
|
|
2
|
+
* the long tail of census-ts-members.tsv) re-exported over typescript@7.0.2's
|
|
3
|
+
* unstable API, shaped so the phase-2 mechanical port swaps
|
|
4
|
+
*
|
|
5
|
+
* import ts from "typescript";
|
|
6
|
+
* for
|
|
7
|
+
* import * as ts from "./ts7/adapter.js"; // path per file
|
|
8
|
+
*
|
|
9
|
+
* per file and keeps every `ts.name` spelling — values (guards, enums,
|
|
10
|
+
* helpers, createProgram) and types (ts.Expression, ts.Node, ts.Symbol, ...)
|
|
11
|
+
* alike. The namespace-import form is the swap because ESM has no way to
|
|
12
|
+
* hang types off a default export.
|
|
13
|
+
*
|
|
14
|
+
* TWO-WORLD DISCIPLINE. typescript@7.0.2 is the REAL "typescript"
|
|
15
|
+
* dependency; typescript@5.9.3 stays installed under the "typescript5"
|
|
16
|
+
* alias for the parser/transpile islands only (npm.ts's module edge scan
|
|
17
|
+
* over node_modules JS — 7.0.2 ships no client-side parser — cjs-lexer.ts's
|
|
18
|
+
* merve-port lex over CJS source text, and lower-comptime's
|
|
19
|
+
* transpileModule). Nothing may hand a 5.9.3 node, type, symbol, or enum
|
|
20
|
+
* value to this world or back (cjs-lexer.ts's exports take and answer
|
|
21
|
+
* strings and name sets only — its 5.9.3 parse is an implementation
|
|
22
|
+
* detail behind that boundary):
|
|
23
|
+
* - Mixing OBJECTS is a compile-time error: every node interface carries
|
|
24
|
+
* `kind: SyntaxKind` and the two packages declare DISTINCT enums, which
|
|
25
|
+
* TypeScript treats nominally — a 5.9.3 SourceFile is not assignable
|
|
26
|
+
* where the adapter takes one, and vice versa (world-check.ts pins this
|
|
27
|
+
* with @ts-expect-error assertions that pnpm build enforces).
|
|
28
|
+
* - Mixing ENUM VALUES cannot be fenced by the type system alone (both
|
|
29
|
+
* erase to number), which is why every enum here re-exports 7's own
|
|
30
|
+
* objects symbolically and no scriptc source may import "typescript5"
|
|
31
|
+
* outside the two island files.
|
|
32
|
+
*
|
|
33
|
+
* Census coverage not present here, by design (the survey's MISSING list):
|
|
34
|
+
* - ts.createSourceFile / ts.preProcessFile — no client-side parser in 7;
|
|
35
|
+
* the npm.ts edge scan keeps 5.9.3 (island).
|
|
36
|
+
* - ts.transpileModule — lower-comptime keeps 5.9.3 (island).
|
|
37
|
+
* - ts.resolveModuleName / ts.resolveTypeReferenceDirective — resolution
|
|
38
|
+
* helpers stay 5.9.3-hosted for now (they take ts.sys-shaped hosts and
|
|
39
|
+
* never exchange AST/checker objects with either world; tsgo resolves
|
|
40
|
+
* the embedded program itself, server-side).
|
|
41
|
+
* - ts.readConfigFile / ts.parseJsonConfigFileContent — replaced by
|
|
42
|
+
* Ts7Host.parseConfigFile (tsgo's own config parser, extends resolved
|
|
43
|
+
* server-side).
|
|
44
|
+
* - checker.getAwaitedType — shimmed on CheckerFacade (see checker.ts).
|
|
45
|
+
* (`ts.Types` in the census tsv is a comment-text artifact, not an API.) */
|
|
46
|
+
export * from "./enums.js";
|
|
47
|
+
export * from "./ast.js";
|
|
48
|
+
export * from "./checker.js";
|
|
49
|
+
export * from "./program.js";
|
|
50
|
+
/* No default export, deliberately: ESM cannot hang the TYPE side of the
|
|
51
|
+
* census (ts.Expression, ts.Node, ...) off a default binding, so a default
|
|
52
|
+
* would invite the one import form that silently loses the types. The port
|
|
53
|
+
* swap is the namespace import above — same one-line change per file. */
|
|
54
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/frontend/ts7/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA4C4E;AAE5E,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AA8B7B;;;yEAGyE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AccessorDeclaration, GetAccessorDeclaration, Modifier, Node, NodeArray, ParameterDeclaration, PropertySignatureDeclaration, SetAccessorDeclaration, SignatureDeclaration, SourceFile, StringLiteralLikeNode } from "typescript/unstable/ast";
|
|
2
|
+
import type { Diagnostic } from "typescript/unstable/sync";
|
|
3
|
+
export * from "typescript/unstable/ast";
|
|
4
|
+
export declare const isParameter: (node: Node) => node is ParameterDeclaration;
|
|
5
|
+
export declare const isPropertySignature: (node: Node) => node is PropertySignatureDeclaration;
|
|
6
|
+
export declare const isStringLiteralLike: (node: Node) => node is StringLiteralLikeNode;
|
|
7
|
+
export declare const isGetAccessor: (node: Node) => node is GetAccessorDeclaration;
|
|
8
|
+
export declare const isSetAccessor: (node: Node) => node is SetAccessorDeclaration;
|
|
9
|
+
export declare const isAccessor: (node: Node) => node is AccessorDeclaration;
|
|
10
|
+
export type StringLiteralLike = StringLiteralLikeNode;
|
|
11
|
+
export type MethodSignature = import("typescript/unstable/ast").MethodSignatureDeclaration;
|
|
12
|
+
/** 5.9.3's isFunctionLike: true for every SignatureDeclaration kind. 7's
|
|
13
|
+
* same-set guard is isSignatureDeclaration (its isFunctionLikeDeclaration is
|
|
14
|
+
* the narrower declarations-only check); JSDocSignature joins because 5.9.3
|
|
15
|
+
* counts it. 5.9.3 also accepted JSDocFunctionType — a node kind tsgo no
|
|
16
|
+
* longer produces, so no walk over a 7 AST can present one. */
|
|
17
|
+
export declare function isFunctionLike(node: Node): node is SignatureDeclaration;
|
|
18
|
+
/** 5.9.3's isExternalModule: 7 exposes the indicator on the SourceFile. */
|
|
19
|
+
export declare function isExternalModule(file: SourceFile): boolean;
|
|
20
|
+
export declare function forEachChild<T>(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray<Node>) => T | undefined): T | undefined;
|
|
21
|
+
/** Preorder walk over a whole subtree with an EXPLICIT stack. The idiomatic
|
|
22
|
+
* recursive forEachChild visit costs two JS frames per AST level, so a
|
|
23
|
+
* pathologically deep tree — the ~6500-term left-nested binary chain of the
|
|
24
|
+
* binderBinaryExpressionStress corpus pair — overflows the stack as an ICE
|
|
25
|
+
* before the lowering's SC1090 nesting fence (200 levels) ever sees the
|
|
26
|
+
* expression. Whole-file sweeps (prefetch, require scans, `arguments`
|
|
27
|
+
* detection) walk this way instead, so absurd nesting always reaches the
|
|
28
|
+
* named fence. The callback may answer "skip" to leave a node's children
|
|
29
|
+
* unvisited (scope and depth cut-offs — `depth` counts levels below the
|
|
30
|
+
* root) or "stop" to end the walk early. */
|
|
31
|
+
export declare function walkPreorder(root: Node, cb: (node: Node, depth: number) => void | "skip" | "stop"): void;
|
|
32
|
+
export declare function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): {
|
|
33
|
+
line: number;
|
|
34
|
+
character: number;
|
|
35
|
+
};
|
|
36
|
+
export declare function canHaveModifiers(node: Node): node is Node & {
|
|
37
|
+
modifiers?: NodeArray<Node>;
|
|
38
|
+
};
|
|
39
|
+
/** The node's modifier tokens, decorators excluded (5.9.3's getModifiers). */
|
|
40
|
+
export declare function getModifiers(node: Node): readonly Modifier[] | undefined;
|
|
41
|
+
/** 5.9.3's getCombinedNodeFlags (the Const/Let/Using answer for a
|
|
42
|
+
* declaration, wherever in the binding chain the flag sits). */
|
|
43
|
+
export declare function getCombinedNodeFlags(node: Node): number;
|
|
44
|
+
/** 5.9.3's getCombinedModifierFlags. */
|
|
45
|
+
export declare function getCombinedModifierFlags(node: Node): number;
|
|
46
|
+
/** 5.9.3's flattenDiagnosticMessageText, widened for the 7 world: 7's
|
|
47
|
+
* Diagnostic carries flat text plus a messageChain of the same shape, so
|
|
48
|
+
* this accepts either a plain string (already flat) or a 7 Diagnostic and
|
|
49
|
+
* renders the chain with 5.9.3's indentation layout. */
|
|
50
|
+
export declare function flattenDiagnosticMessageText(diag: string | Diagnostic | undefined, newLine: string, indent?: number): string;
|