ttsc 0.34.1 → 0.34.3
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/cmd/ttsc/api_transform.go +13 -3
- package/cmd/ttsc/api_transform_config_recovery_test.go +44 -0
- package/driver/check_observations.go +24 -2
- package/driver/compileraliases/names.go +69 -0
- package/driver/compileraliases/names_test.go +57 -0
- package/driver/graph.go +40 -3
- package/driver/input_observation.go +16 -0
- package/driver/program.go +41 -15
- package/driver/recovery_graph.go +25 -0
- package/driver/target_ts70.go +12 -0
- package/driver/target_ts71.go +12 -0
- package/driver/transform_dependencies.go +22 -1
- package/driver/transform_membership.go +61 -0
- package/lib/compiler/internal/build/appendBuildOutput.d.ts +1 -1
- package/lib/compiler/internal/build/appendBuildOutput.js +37 -5
- package/lib/compiler/internal/build/appendBuildOutput.js.map +1 -1
- package/lib/compiler/internal/parseNativeTransformOutput.js +31 -1
- package/lib/compiler/internal/parseNativeTransformOutput.js.map +1 -1
- package/lib/compiler/internal/resolveNativeTypeScriptPackage.d.ts +27 -0
- package/lib/compiler/internal/resolveNativeTypeScriptPackage.js +103 -0
- package/lib/compiler/internal/resolveNativeTypeScriptPackage.js.map +1 -0
- package/lib/compiler/internal/resolveTsgo.d.ts +7 -6
- package/lib/compiler/internal/resolveTsgo.js +16 -35
- package/lib/compiler/internal/resolveTsgo.js.map +1 -1
- package/lib/internal/CompilerResultAdapter.d.ts +7 -5
- package/lib/internal/CompilerResultAdapter.js +29 -6
- package/lib/internal/CompilerResultAdapter.js.map +1 -1
- package/lib/internal/nativeBinary.d.ts +4 -0
- package/lib/internal/nativeBinary.js +6 -1
- package/lib/internal/nativeBinary.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +5 -2
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/plugin/internal/source/pluginBuildVersions.d.ts +8 -7
- package/lib/plugin/internal/source/pluginBuildVersions.js +13 -13
- package/lib/plugin/internal/source/pluginBuildVersions.js.map +1 -1
- package/lib/structures/ITtscCompilerTransformation.d.ts +25 -1
- package/package.json +9 -9
- package/shim/compiler/neutral.go +14 -0
- package/src/compiler/internal/build/appendBuildOutput.ts +42 -5
- package/src/compiler/internal/parseNativeTransformOutput.ts +45 -1
- package/src/compiler/internal/resolveNativeTypeScriptPackage.ts +110 -0
- package/src/compiler/internal/resolveTsgo.ts +17 -36
- package/src/internal/CompilerResultAdapter.ts +29 -6
- package/src/internal/nativeBinary.ts +4 -0
- package/src/launcher/internal/prepareExecution.ts +7 -2
- package/src/plugin/internal/source/pluginBuildVersions.ts +13 -15
- package/src/structures/ITtscCompilerTransformation.ts +28 -1
- package/targets/7.1/bridge/compiler/neutral.go +39 -4
- package/utility/host.go +19 -6
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
package driver
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"sort"
|
|
5
|
+
"strings"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
// TransformMembership reports the native settings needed to discover possible
|
|
9
|
+
// roots. Output directories are absolute compiler paths; nil clears an inherited
|
|
10
|
+
// output option. Explicit excludes and files/include specifications remain in
|
|
11
|
+
// the authored configuration. This metadata does not certify a completed walk.
|
|
12
|
+
//
|
|
13
|
+
// @evidence contracts/common.md#principled-implementation Supported extension groups and parsed output paths retain effective native settings independently of JSON-only reconstruction.
|
|
14
|
+
// @evidence contracts/common.md#clear-and-simple-design Three fields express the root-admission dimensions that invocation options can change; config specification ownership stays separate.
|
|
15
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts No source population or completed walk is inferred from this settings report.
|
|
16
|
+
// @evidence contracts/common.md#meaningful-documentation Native prose and fields distinguish possible suffixes, absolute output paths and null clearing.
|
|
17
|
+
// @evidence contracts/portability.md#os-neutral-implementation Native compiler paths retain their spelling; consumers compare them under observed project anchors and compiler case policy.
|
|
18
|
+
// @evidenceExclude contracts/performance.md#efficient-algorithms This declaration chooses no algorithm.
|
|
19
|
+
// @evidenceExclude contracts/performance.md#reuse-equivalent-work This metadata owns no cache or reuse verdict.
|
|
20
|
+
// @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The caller-owned report acquires no handle or historical state.
|
|
21
|
+
type TransformMembership struct {
|
|
22
|
+
// InputExtensions preserve possible-root suffix spellings from upstream APIs.
|
|
23
|
+
InputExtensions []string `json:"inputExtensions"`
|
|
24
|
+
// OutDir is the parsed absolute output directory, or nil when unset.
|
|
25
|
+
OutDir *string `json:"outDir"`
|
|
26
|
+
// DeclarationDir is the parsed absolute declaration directory, or nil when unset.
|
|
27
|
+
DeclarationDir *string `json:"declarationDir"`
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// transformMembership projects upstream-supported suffixes and parsed paths.
|
|
31
|
+
// Declaration suffixes already covered by their underlying source suffix are
|
|
32
|
+
// redundant for possible-root admission and are omitted. Work follows extension
|
|
33
|
+
// text plus sorting; the returned report owns its slices and path pointers.
|
|
34
|
+
func transformMembership(prog *Program, groups [][]string) *TransformMembership {
|
|
35
|
+
extensions := map[string]struct{}{}
|
|
36
|
+
for _, group := range groups {
|
|
37
|
+
for _, extension := range group {
|
|
38
|
+
extensions[extension] = struct{}{}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for extension := range extensions {
|
|
42
|
+
if strings.HasPrefix(extension, ".d.") {
|
|
43
|
+
if _, covered := extensions[extension[2:]]; covered {
|
|
44
|
+
delete(extensions, extension)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
out := &TransformMembership{InputExtensions: make([]string, 0, len(extensions))}
|
|
49
|
+
for extension := range extensions {
|
|
50
|
+
out.InputExtensions = append(out.InputExtensions, extension)
|
|
51
|
+
}
|
|
52
|
+
sort.Strings(out.InputExtensions)
|
|
53
|
+
options := prog.ParsedConfig.CompilerOptions()
|
|
54
|
+
if value := string(options.OutDir); value != "" {
|
|
55
|
+
out.OutDir = &value
|
|
56
|
+
}
|
|
57
|
+
if value := string(options.DeclarationDir); value != "" {
|
|
58
|
+
out.DeclarationDir = &value
|
|
59
|
+
}
|
|
60
|
+
return out
|
|
61
|
+
}
|
|
@@ -29,7 +29,7 @@ export declare function appendBuildOutput(left: TtscBuildResult, right: TtscBuil
|
|
|
29
29
|
/**
|
|
30
30
|
* Preserve each phase's source closure and refuse contradictory witnesses.
|
|
31
31
|
*
|
|
32
|
-
* @evidence contracts/common.md#principled-implementation
|
|
32
|
+
* @evidence contracts/common.md#principled-implementation Own dictionary entries union every producer's source authority without admitting inherited properties; conflicting content, physical and predicate observations leave an explicit proof failure instead of selecting a later witness. A private null-prototype failure accumulator preserves reserved keys and projects to the established ordinary public object.
|
|
33
33
|
* @evidence contracts/common.md#clear-and-simple-design One graph combiner serves check composition and the later transform phase without reading inputs or creating a Program.
|
|
34
34
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Reported omissions remain omissions; incompatible witnesses cannot be replaced by current filesystem observations.
|
|
35
35
|
* @evidence contracts/common.md#meaningful-documentation The native description states phase composition and the unresolved-witness behavior without claiming execution acceptance.
|
|
@@ -59,7 +59,7 @@ function appendBuildOutput(left, right) {
|
|
|
59
59
|
/**
|
|
60
60
|
* Preserve each phase's source closure and refuse contradictory witnesses.
|
|
61
61
|
*
|
|
62
|
-
* @evidence contracts/common.md#principled-implementation
|
|
62
|
+
* @evidence contracts/common.md#principled-implementation Own dictionary entries union every producer's source authority without admitting inherited properties; conflicting content, physical and predicate observations leave an explicit proof failure instead of selecting a later witness. A private null-prototype failure accumulator preserves reserved keys and projects to the established ordinary public object.
|
|
63
63
|
* @evidence contracts/common.md#clear-and-simple-design One graph combiner serves check composition and the later transform phase without reading inputs or creating a Program.
|
|
64
64
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Reported omissions remain omissions; incompatible witnesses cannot be replaced by current filesystem observations.
|
|
65
65
|
* @evidence contracts/common.md#meaningful-documentation The native description states phase composition and the unresolved-witness behavior without claiming execution acceptance.
|
|
@@ -73,7 +73,16 @@ function mergeCheckGraphs(left, right) {
|
|
|
73
73
|
return right;
|
|
74
74
|
if (right === undefined)
|
|
75
75
|
return left;
|
|
76
|
-
const failures =
|
|
76
|
+
const failures = Object.assign(Object.create(null), left.inputProofFailures, right.inputProofFailures);
|
|
77
|
+
const membershipConflict = left.membership !== undefined &&
|
|
78
|
+
right.membership !== undefined &&
|
|
79
|
+
JSON.stringify(left.membership) !== JSON.stringify(right.membership);
|
|
80
|
+
if (membershipConflict)
|
|
81
|
+
for (const key of new Set([
|
|
82
|
+
...Object.keys(left.edges),
|
|
83
|
+
...Object.keys(right.edges),
|
|
84
|
+
]))
|
|
85
|
+
failures[key] = "conflicting-check-membership-policy";
|
|
77
86
|
if (left.useCaseSensitiveFileNames !== undefined &&
|
|
78
87
|
right.useCaseSensitiveFileNames !== undefined &&
|
|
79
88
|
left.useCaseSensitiveFileNames !== right.useCaseSensitiveFileNames)
|
|
@@ -84,7 +93,12 @@ function mergeCheckGraphs(left, right) {
|
|
|
84
93
|
failures[key] = "conflicting-check-case-policy";
|
|
85
94
|
const mergeLists = (a = {}, b = {}) => Object.fromEntries([...new Set([...Object.keys(a), ...Object.keys(b)])].map((key) => [
|
|
86
95
|
key,
|
|
87
|
-
[
|
|
96
|
+
[
|
|
97
|
+
...new Set([
|
|
98
|
+
...(Object.hasOwn(a, key) ? a[key] : []),
|
|
99
|
+
...(Object.hasOwn(b, key) ? b[key] : []),
|
|
100
|
+
]),
|
|
101
|
+
],
|
|
88
102
|
]));
|
|
89
103
|
const mergeProofs = (a = {}, b = {}) => {
|
|
90
104
|
const merged = { ...a, ...b };
|
|
@@ -102,7 +116,9 @@ function mergeCheckGraphs(left, right) {
|
|
|
102
116
|
};
|
|
103
117
|
for (const key of Object.keys(left.inputObservations ?? {})) {
|
|
104
118
|
const a = left.inputObservations[key];
|
|
105
|
-
const b = right.inputObservations
|
|
119
|
+
const b = Object.hasOwn(right.inputObservations ?? {}, key)
|
|
120
|
+
? right.inputObservations[key]
|
|
121
|
+
: undefined;
|
|
106
122
|
if (b === undefined)
|
|
107
123
|
continue;
|
|
108
124
|
const merged = { ...a, ...b };
|
|
@@ -134,9 +150,25 @@ function mergeCheckGraphs(left, right) {
|
|
|
134
150
|
}
|
|
135
151
|
return {
|
|
136
152
|
edges: mergeLists(left.edges, right.edges),
|
|
153
|
+
...(membershipConflict ||
|
|
154
|
+
(left.membership ?? right.membership) === undefined
|
|
155
|
+
? {}
|
|
156
|
+
: { membership: left.membership ?? right.membership }),
|
|
137
157
|
globals: [...new Set([...left.globals, ...right.globals])],
|
|
138
158
|
configs: [...new Set([...left.configs, ...right.configs])],
|
|
139
159
|
candidates: mergeLists(left.candidates, right.candidates),
|
|
160
|
+
...((left.contentMapperInputs?.length ?? 0) +
|
|
161
|
+
(right.contentMapperInputs?.length ?? 0) ===
|
|
162
|
+
0
|
|
163
|
+
? {}
|
|
164
|
+
: {
|
|
165
|
+
contentMapperInputs: [
|
|
166
|
+
...new Set([
|
|
167
|
+
...(left.contentMapperInputs ?? []),
|
|
168
|
+
...(right.contentMapperInputs ?? []),
|
|
169
|
+
]),
|
|
170
|
+
],
|
|
171
|
+
}),
|
|
140
172
|
resolutionInputs: [
|
|
141
173
|
...new Set([
|
|
142
174
|
...(left.resolutionInputs ?? []),
|
|
@@ -146,7 +178,7 @@ function mergeCheckGraphs(left, right) {
|
|
|
146
178
|
inputHashes: mergeProofs(left.inputHashes, right.inputHashes),
|
|
147
179
|
inputRealpaths: mergeProofs(left.inputRealpaths, right.inputRealpaths),
|
|
148
180
|
inputObservations: observations,
|
|
149
|
-
inputProofFailures: failures,
|
|
181
|
+
inputProofFailures: { ...failures },
|
|
150
182
|
...(left.useCaseSensitiveFileNames === right.useCaseSensitiveFileNames
|
|
151
183
|
? { useCaseSensitiveFileNames: left.useCaseSensitiveFileNames }
|
|
152
184
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appendBuildOutput.js","sourceRoot":"","sources":["../../../../src/compiler/internal/build/appendBuildOutput.ts"],"names":[],"mappings":";;;;AACA,iEAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,2BACE,IAAqB,EACrB,KAAsB;IAEtB,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;KACtE,CAAC;IACF,OAAO,IAAA,2CAAoB,EAAC;QAC1B,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QAChD,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QACxD,YAAY,EACV,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;QAC3E,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;QACxD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YACjE,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,UAAU;gBACV,eAAe,EAAE,mBAAmB,CAClC,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,UAAU,CACX;gBACD,kBAAkB,EAAE,mBAAmB,CACrC,IAAI,EACJ,KAAK,EACL,oBAAoB,EACpB,UAAU,CACX;aACF,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,KAAK;YACvC,KAAK,CAAC,oBAAoB,KAAK,KAAK;YAClC,CAAC,CAAC,EAAE,oBAAoB,EAAE,KAAc,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;QACvD,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;QAClC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,0BACE,IAA8B,EAC9B,KAA+B;IAE/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"appendBuildOutput.js","sourceRoot":"","sources":["../../../../src/compiler/internal/build/appendBuildOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,6 +255,32 @@ function parseReferenceGraph(value) {
|
|
|
255
255
|
const globals = parseFileList(section.globals) ?? [];
|
|
256
256
|
const configs = parseFileList(section.configs) ?? [];
|
|
257
257
|
const resolutionInputs = parseFileList(section.resolutionInputs) ?? [];
|
|
258
|
+
if (section.contentMapperInputs !== undefined &&
|
|
259
|
+
(!Array.isArray(section.contentMapperInputs) ||
|
|
260
|
+
section.contentMapperInputs.some((input) => typeof input !== "string" || input.length === 0)))
|
|
261
|
+
throw new Error("ttsc: invalid native content mapper inputs");
|
|
262
|
+
const contentMapperInputs = parseFileList(section.contentMapperInputs) ?? [];
|
|
263
|
+
let membership;
|
|
264
|
+
if (section.membership !== undefined) {
|
|
265
|
+
const value = section.membership;
|
|
266
|
+
if (typeof value !== "object" ||
|
|
267
|
+
value === null ||
|
|
268
|
+
Array.isArray(value) ||
|
|
269
|
+
!Array.isArray(value.inputExtensions) ||
|
|
270
|
+
value.inputExtensions.length === 0 ||
|
|
271
|
+
value.inputExtensions.some((item) => typeof item !== "string" ||
|
|
272
|
+
item.length <= 1 ||
|
|
273
|
+
!item.startsWith(".") ||
|
|
274
|
+
item.includes("/") ||
|
|
275
|
+
item.includes("\\")) ||
|
|
276
|
+
![value.outDir, value.declarationDir].every((item) => item === null || (typeof item === "string" && node_path_1.default.isAbsolute(item))))
|
|
277
|
+
throw new Error("ttsc: invalid native compiler membership policy");
|
|
278
|
+
membership = {
|
|
279
|
+
inputExtensions: [...value.inputExtensions],
|
|
280
|
+
outDir: value.outDir,
|
|
281
|
+
declarationDir: value.declarationDir,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
258
284
|
const inputHashes = parseGraphInputHashes(section.inputHashes);
|
|
259
285
|
const parsedInputObservations = parseGraphInputObservations(section.inputObservations);
|
|
260
286
|
const reportedInputProofFailures = parseGraphInputProofFailures(section.inputProofFailures);
|
|
@@ -267,7 +293,9 @@ function parseReferenceGraph(value) {
|
|
|
267
293
|
Object.keys(edges).length === 0 &&
|
|
268
294
|
globals.length === 0 &&
|
|
269
295
|
configs.length === 0 &&
|
|
270
|
-
resolutionInputs.length === 0
|
|
296
|
+
resolutionInputs.length === 0 &&
|
|
297
|
+
contentMapperInputs.length === 0 &&
|
|
298
|
+
membership === undefined) {
|
|
271
299
|
return undefined;
|
|
272
300
|
}
|
|
273
301
|
return {
|
|
@@ -276,6 +304,8 @@ function parseReferenceGraph(value) {
|
|
|
276
304
|
edges,
|
|
277
305
|
globals,
|
|
278
306
|
...(resolutionInputs.length === 0 ? {} : { resolutionInputs }),
|
|
307
|
+
...(contentMapperInputs.length === 0 ? {} : { contentMapperInputs }),
|
|
308
|
+
...(membership === undefined ? {} : { membership }),
|
|
279
309
|
...(inputHashes === undefined ? {} : { inputHashes }),
|
|
280
310
|
...(parsedInputObservations.observations === undefined
|
|
281
311
|
? {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseNativeTransformOutput.js","sourceRoot":"","sources":["../../../src/compiler/internal/parseNativeTransformOutput.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parseNativeTransformOutput.js","sourceRoot":"","sources":["../../../src/compiler/internal/parseNativeTransformOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find native TypeScript from a filename used as a Node resolution anchor.
|
|
3
|
+
*
|
|
4
|
+
* The nearest ancestor manifest declaring TypeScript or its npm aliases owns
|
|
5
|
+
* discovery. Its aliases targeting `typescript` precede the ordinary name. A
|
|
6
|
+
* manifest reporting a compiler major below 7 belongs to the JavaScript
|
|
7
|
+
* compiler and is skipped. Missing or nonnumeric version metadata retains the
|
|
8
|
+
* existing path-discovery behavior; executable availability is the caller's
|
|
9
|
+
* responsibility. Alias candidates must report the actual package name
|
|
10
|
+
* `typescript` and a native major. Multiple distinct native alias installs are
|
|
11
|
+
* ambiguous and require an explicit binary. Read and parse errors propagate,
|
|
12
|
+
* except a disappeared manifest is treated as an absent candidate.
|
|
13
|
+
*
|
|
14
|
+
* @evidence contracts/common.md#principled-implementation Project and ancestor dependency maps supply npm aliases by their declared target; Node resolves those arbitrary names from the caller's filename, and installed name/version metadata verifies native identity. Distinct native alias installs are rejected as ambiguous rather than selected by spelling or declaration order.
|
|
15
|
+
* @evidence contracts/common.md#clear-and-simple-design One owner selects manifest metadata for executable resolution and plugin version keys so they cannot choose different package names.
|
|
16
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The real package identity and npm alias syntax define discovery; no particular alias, consumer identity or guessed executable is embedded.
|
|
17
|
+
* @evidence contracts/common.md#meaningful-documentation The comment defines anchor semantics, alias precedence, legacy rejection, incomplete metadata behavior and propagated read failures.
|
|
18
|
+
* @evidence contracts/portability.md#os-neutral-implementation createRequire follows native Node package resolution and synchronous filesystem reads without shell commands or path case assumptions.
|
|
19
|
+
* @evidence contracts/performance.md#efficient-algorithms The ancestor walk parses its manifests and visits their declared dependency entries once, then resolves and reads only A distinct aliases plus the ordinary name. Sorting alias names costs O(A log A); Node lookup, realpath and manifest bytes contribute delegated costs. Installed dependency trees are never scanned.
|
|
20
|
+
*
|
|
21
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Project installations can change between calls, and this operation owns no invalidation source that would justify a retained result.
|
|
22
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Synchronous reads retain no open handles and the caller owns the returned metadata.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveNativeTypeScriptPackage(from: string): {
|
|
25
|
+
packageJson: string;
|
|
26
|
+
manifest: Record<string, unknown>;
|
|
27
|
+
} | undefined;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveNativeTypeScriptPackage = resolveNativeTypeScriptPackage;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_module_1 = require("node:module");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
/**
|
|
11
|
+
* Find native TypeScript from a filename used as a Node resolution anchor.
|
|
12
|
+
*
|
|
13
|
+
* The nearest ancestor manifest declaring TypeScript or its npm aliases owns
|
|
14
|
+
* discovery. Its aliases targeting `typescript` precede the ordinary name. A
|
|
15
|
+
* manifest reporting a compiler major below 7 belongs to the JavaScript
|
|
16
|
+
* compiler and is skipped. Missing or nonnumeric version metadata retains the
|
|
17
|
+
* existing path-discovery behavior; executable availability is the caller's
|
|
18
|
+
* responsibility. Alias candidates must report the actual package name
|
|
19
|
+
* `typescript` and a native major. Multiple distinct native alias installs are
|
|
20
|
+
* ambiguous and require an explicit binary. Read and parse errors propagate,
|
|
21
|
+
* except a disappeared manifest is treated as an absent candidate.
|
|
22
|
+
*
|
|
23
|
+
* @evidence contracts/common.md#principled-implementation Project and ancestor dependency maps supply npm aliases by their declared target; Node resolves those arbitrary names from the caller's filename, and installed name/version metadata verifies native identity. Distinct native alias installs are rejected as ambiguous rather than selected by spelling or declaration order.
|
|
24
|
+
* @evidence contracts/common.md#clear-and-simple-design One owner selects manifest metadata for executable resolution and plugin version keys so they cannot choose different package names.
|
|
25
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The real package identity and npm alias syntax define discovery; no particular alias, consumer identity or guessed executable is embedded.
|
|
26
|
+
* @evidence contracts/common.md#meaningful-documentation The comment defines anchor semantics, alias precedence, legacy rejection, incomplete metadata behavior and propagated read failures.
|
|
27
|
+
* @evidence contracts/portability.md#os-neutral-implementation createRequire follows native Node package resolution and synchronous filesystem reads without shell commands or path case assumptions.
|
|
28
|
+
* @evidence contracts/performance.md#efficient-algorithms The ancestor walk parses its manifests and visits their declared dependency entries once, then resolves and reads only A distinct aliases plus the ordinary name. Sorting alias names costs O(A log A); Node lookup, realpath and manifest bytes contribute delegated costs. Installed dependency trees are never scanned.
|
|
29
|
+
*
|
|
30
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Project installations can change between calls, and this operation owns no invalidation source that would justify a retained result.
|
|
31
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Synchronous reads retain no open handles and the caller owns the returned metadata.
|
|
32
|
+
*/
|
|
33
|
+
function resolveNativeTypeScriptPackage(from) {
|
|
34
|
+
const requireFrom = (0, node_module_1.createRequire)(from);
|
|
35
|
+
const aliases = new Set();
|
|
36
|
+
for (let directory = node_path_1.default.dirname(from);; directory = node_path_1.default.dirname(directory)) {
|
|
37
|
+
const project = readManifest(node_path_1.default.join(directory, "package.json"));
|
|
38
|
+
let declaresTypeScript = false;
|
|
39
|
+
for (const field of [
|
|
40
|
+
"dependencies",
|
|
41
|
+
"devDependencies",
|
|
42
|
+
"optionalDependencies",
|
|
43
|
+
]) {
|
|
44
|
+
const dependencies = project?.[field];
|
|
45
|
+
if (dependencies === null || typeof dependencies !== "object")
|
|
46
|
+
continue;
|
|
47
|
+
declaresTypeScript ||= Object.hasOwn(dependencies, "typescript");
|
|
48
|
+
for (const [name, specifier] of Object.entries(dependencies))
|
|
49
|
+
if (name !== "typescript" &&
|
|
50
|
+
typeof specifier === "string" &&
|
|
51
|
+
/^npm:typescript(?:@|$)/.test(specifier))
|
|
52
|
+
aliases.add(name);
|
|
53
|
+
}
|
|
54
|
+
if (declaresTypeScript || aliases.size)
|
|
55
|
+
break;
|
|
56
|
+
if (node_path_1.default.dirname(directory) === directory)
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
let selected;
|
|
60
|
+
for (const name of [...aliases].sort().concat("typescript")) {
|
|
61
|
+
if (name === "typescript" && selected)
|
|
62
|
+
return selected;
|
|
63
|
+
let packageJson;
|
|
64
|
+
try {
|
|
65
|
+
packageJson = requireFrom.resolve(`${name}/package.json`);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const manifest = readManifest(packageJson);
|
|
71
|
+
if (!manifest)
|
|
72
|
+
continue;
|
|
73
|
+
const majorText = typeof manifest.version === "string"
|
|
74
|
+
? manifest.version.split(".")[0]
|
|
75
|
+
: "";
|
|
76
|
+
const major = /^\d+$/.test(majorText) ? Number(majorText) : NaN;
|
|
77
|
+
if (major < 7)
|
|
78
|
+
continue;
|
|
79
|
+
if (name !== "typescript" &&
|
|
80
|
+
(manifest.name !== "typescript" || !Number.isFinite(major)))
|
|
81
|
+
continue;
|
|
82
|
+
const candidate = { packageJson, manifest };
|
|
83
|
+
if (name === "typescript")
|
|
84
|
+
return candidate;
|
|
85
|
+
if (selected &&
|
|
86
|
+
node_fs_1.default.realpathSync(selected.packageJson) !== node_fs_1.default.realpathSync(packageJson))
|
|
87
|
+
throw new Error("ttsc: multiple native TypeScript aliases are installed; select one with --binary or TTSC_TSGO_BINARY.");
|
|
88
|
+
selected = candidate;
|
|
89
|
+
}
|
|
90
|
+
return selected;
|
|
91
|
+
}
|
|
92
|
+
/** Read current manifest bytes, including after Node cached an older path. */
|
|
93
|
+
function readManifest(file) {
|
|
94
|
+
try {
|
|
95
|
+
return JSON.parse(node_fs_1.default.readFileSync(file, "utf8"));
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
if (["ENOENT", "ENOTDIR"].includes(error.code ?? ""))
|
|
99
|
+
return undefined;
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=resolveNativeTypeScriptPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveNativeTypeScriptPackage.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveNativeTypeScriptPackage.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
* 1. Select `opts.binary`, or consult `TTSC_TSGO_BINARY` only when it is absent. A
|
|
7
7
|
* nonempty override must be an existing absolute path; returns `{ binary,
|
|
8
8
|
* packageJson: "", packageRoot, version: "custom" }`.
|
|
9
|
-
* 2.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* 2. Declared npm aliases targeting TypeScript, then native `typescript`, from
|
|
10
|
+
* `cwd`.
|
|
11
|
+
* 3. The same discovery from `opts.resolveFrom` (for test harnesses and embedders
|
|
12
|
+
* that anchor to a different directory).
|
|
12
13
|
*
|
|
13
14
|
* Throws a descriptive error when the package or platform path is missing.
|
|
14
15
|
* Manifest read/parse failures can propagate directly. Existence does not
|
|
15
|
-
* certify a regular executable, native ABI or compiler
|
|
16
|
+
* certify a regular executable, native ABI or compiler-target compatibility;
|
|
16
17
|
* this operation selects paths and metadata without executing them. Platform
|
|
17
18
|
* package resolution is anchored at the chosen TypeScript manifest and can
|
|
18
19
|
* follow Node's ancestor search, rather than proving both packages occupy one
|
|
@@ -23,7 +24,7 @@
|
|
|
23
24
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Package names and lib/tsc suffixes follow the native TypeScript distribution contract. Missing dependencies remain descriptive errors rather than invented compiler paths or fixture-specific substitutes.
|
|
24
25
|
* @evidence contracts/common.md#meaningful-documentation Ordered precedence, custom metadata and failures are documented separately, and the fallback anchor member explains its filename semantics following the documentation skill.
|
|
25
26
|
* @evidence contracts/portability.md#os-neutral-implementation Native path APIs validate absolute overrides and select the Windows executable suffix; createRequire anchors resolution to actual package files without shell quoting or OS-derived case policy.
|
|
26
|
-
* @evidence contracts/performance.md#efficient-algorithms
|
|
27
|
+
* @evidence contracts/performance.md#efficient-algorithms Up to two anchors delegate ancestor manifest and alias discovery before one platform lookup. Dependency declaration counts, alias lookups, manifest bytes and path work determine cost; Windows environment selection scans environment keys through SidecarEnvironment. Returned metadata does not retain parsed manifests.
|
|
27
28
|
*
|
|
28
29
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Overrides and consumer installations are mutable filesystem authority; this resolver owns no dependency invalidation source that could justify retaining a custom result across calls.
|
|
29
30
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Synchronous package reads retain no handles or tasks; returned path and version strings transfer to the caller without a historical metadata table.
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
export declare function resolveTsgo(opts?: {
|
|
32
33
|
/** Explicit path to a native `tsc` binary; bypasses package resolution. */
|
|
33
34
|
binary?: string;
|
|
34
|
-
/** Directory from which to discover
|
|
35
|
+
/** Directory from which to discover native TypeScript. */
|
|
35
36
|
cwd?: string;
|
|
36
37
|
/**
|
|
37
38
|
* Complete environment for executable selection; omission reads the current
|
|
@@ -7,6 +7,7 @@ exports.resolveTsgo = resolveTsgo;
|
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const node_module_1 = require("node:module");
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const resolveNativeTypeScriptPackage_1 = require("./resolveNativeTypeScriptPackage");
|
|
10
11
|
const SidecarEnvironment_1 = require("./sharedHost/SidecarEnvironment");
|
|
11
12
|
/**
|
|
12
13
|
* Resolve the consumer project's native TypeScript (`tsc`) binary and metadata.
|
|
@@ -16,13 +17,14 @@ const SidecarEnvironment_1 = require("./sharedHost/SidecarEnvironment");
|
|
|
16
17
|
* 1. Select `opts.binary`, or consult `TTSC_TSGO_BINARY` only when it is absent. A
|
|
17
18
|
* nonempty override must be an existing absolute path; returns `{ binary,
|
|
18
19
|
* packageJson: "", packageRoot, version: "custom" }`.
|
|
19
|
-
* 2.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* 2. Declared npm aliases targeting TypeScript, then native `typescript`, from
|
|
21
|
+
* `cwd`.
|
|
22
|
+
* 3. The same discovery from `opts.resolveFrom` (for test harnesses and embedders
|
|
23
|
+
* that anchor to a different directory).
|
|
22
24
|
*
|
|
23
25
|
* Throws a descriptive error when the package or platform path is missing.
|
|
24
26
|
* Manifest read/parse failures can propagate directly. Existence does not
|
|
25
|
-
* certify a regular executable, native ABI or compiler
|
|
27
|
+
* certify a regular executable, native ABI or compiler-target compatibility;
|
|
26
28
|
* this operation selects paths and metadata without executing them. Platform
|
|
27
29
|
* package resolution is anchored at the chosen TypeScript manifest and can
|
|
28
30
|
* follow Node's ancestor search, rather than proving both packages occupy one
|
|
@@ -33,7 +35,7 @@ const SidecarEnvironment_1 = require("./sharedHost/SidecarEnvironment");
|
|
|
33
35
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Package names and lib/tsc suffixes follow the native TypeScript distribution contract. Missing dependencies remain descriptive errors rather than invented compiler paths or fixture-specific substitutes.
|
|
34
36
|
* @evidence contracts/common.md#meaningful-documentation Ordered precedence, custom metadata and failures are documented separately, and the fallback anchor member explains its filename semantics following the documentation skill.
|
|
35
37
|
* @evidence contracts/portability.md#os-neutral-implementation Native path APIs validate absolute overrides and select the Windows executable suffix; createRequire anchors resolution to actual package files without shell quoting or OS-derived case policy.
|
|
36
|
-
* @evidence contracts/performance.md#efficient-algorithms
|
|
38
|
+
* @evidence contracts/performance.md#efficient-algorithms Up to two anchors delegate ancestor manifest and alias discovery before one platform lookup. Dependency declaration counts, alias lookups, manifest bytes and path work determine cost; Windows environment selection scans environment keys through SidecarEnvironment. Returned metadata does not retain parsed manifests.
|
|
37
39
|
*
|
|
38
40
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Overrides and consumer installations are mutable filesystem authority; this resolver owns no dependency invalidation source that could justify retaining a custom result across calls.
|
|
39
41
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Synchronous package reads retain no handles or tasks; returned path and version strings transfer to the caller without a historical metadata table.
|
|
@@ -53,23 +55,19 @@ function resolveTsgo(opts = {}) {
|
|
|
53
55
|
};
|
|
54
56
|
}
|
|
55
57
|
const cwd = node_path_1.default.resolve(opts.cwd ?? process.cwd());
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
(opts.resolveFrom
|
|
62
|
-
? resolveTypeScriptPackageJson(opts.resolveFrom)
|
|
63
|
-
: undefined) ??
|
|
64
|
-
"";
|
|
65
|
-
if (!packageJson) {
|
|
58
|
+
const selected = (0, resolveNativeTypeScriptPackage_1.resolveNativeTypeScriptPackage)(node_path_1.default.join(cwd, "package.json")) ??
|
|
59
|
+
(opts.resolveFrom
|
|
60
|
+
? (0, resolveNativeTypeScriptPackage_1.resolveNativeTypeScriptPackage)(opts.resolveFrom)
|
|
61
|
+
: undefined);
|
|
62
|
+
if (!selected) {
|
|
66
63
|
throw new Error([
|
|
67
|
-
"ttsc:
|
|
64
|
+
"ttsc: native TypeScript 7 or newer is required.",
|
|
68
65
|
"Install the native TypeScript compiler in the consuming project:",
|
|
69
66
|
" npm i -D typescript",
|
|
67
|
+
"For legacy tooling, declare an npm:typescript@^7 alias in package.json.",
|
|
70
68
|
].join("\n"));
|
|
71
69
|
}
|
|
72
|
-
const manifest =
|
|
70
|
+
const { packageJson, manifest } = selected;
|
|
73
71
|
const packageRoot = node_path_1.default.dirname(packageJson);
|
|
74
72
|
const platformPackage = `@typescript/typescript-${process.platform}-${process.arch}`;
|
|
75
73
|
const platformResolver = (0, node_module_1.createRequire)(packageJson);
|
|
@@ -80,7 +78,7 @@ function resolveTsgo(opts = {}) {
|
|
|
80
78
|
catch {
|
|
81
79
|
throw new Error([
|
|
82
80
|
`ttsc: platform-specific TypeScript binary not found (${platformPackage}).`,
|
|
83
|
-
"Reinstall
|
|
81
|
+
"Reinstall the selected native TypeScript package with optional dependencies enabled.",
|
|
84
82
|
].join("\n"));
|
|
85
83
|
}
|
|
86
84
|
const platformRoot = node_path_1.default.dirname(platformPackageJson);
|
|
@@ -97,21 +95,4 @@ function resolveTsgo(opts = {}) {
|
|
|
97
95
|
version: typeof manifest.version === "string" ? manifest.version : "unknown",
|
|
98
96
|
};
|
|
99
97
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Resolve TypeScript relative to an absolute filename accepted by
|
|
102
|
-
* createRequire. Returns undefined when the anchor or package cannot be
|
|
103
|
-
* resolved.
|
|
104
|
-
*/
|
|
105
|
-
function resolveTypeScriptPackageJson(from) {
|
|
106
|
-
try {
|
|
107
|
-
return (0, node_module_1.createRequire)(from).resolve("typescript/package.json");
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/** Parse a JSON file and return the result as a plain object. */
|
|
114
|
-
function readPackageJson(file) {
|
|
115
|
-
return JSON.parse(node_fs_1.default.readFileSync(file, "utf8"));
|
|
116
|
-
}
|
|
117
98
|
//# sourceMappingURL=resolveTsgo.js.map
|