ttsc 0.26.2 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/cmd/ttsc/api_transform.go +17 -3
- package/cmd/ttscgraph/auxiliary_identity_state_tracks_retargets_not_source_contents_test.go +85 -0
- package/cmd/ttscgraph/disk_realpath_other.go +16 -0
- package/cmd/ttscgraph/disk_realpath_windows.go +56 -0
- package/cmd/ttscgraph/serve.go +104 -35
- package/driver/emit_plugin.go +20 -3
- package/driver/graph.go +64 -11
- package/driver/input_observation.go +273 -0
- package/driver/input_observation_test.go +149 -0
- package/driver/plugins.go +384 -4
- package/driver/program.go +54 -1
- package/driver/resolution_candidates.go +13 -5
- package/driver/rewrite.go +45 -2
- package/lib/TtscCompiler.d.ts +12 -11
- package/lib/TtscCompiler.js +44 -29
- package/lib/TtscCompiler.js.map +1 -1
- package/lib/compiler/internal/captureProcessOutput.js +2 -2
- package/lib/compiler/internal/captureProcessOutput.js.map +1 -1
- package/lib/compiler/internal/compileProjectInMemory.js +4 -3
- package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +2 -0
- package/lib/compiler/internal/resolveEmittedJavaScript.js +3 -0
- package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +1 -1
- package/lib/compiler/internal/runBuild.js +80 -34
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/runSingleFileEmit.js +2 -2
- package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
- package/lib/compiler/internal/sharedHostHelpers.d.ts +28 -0
- package/lib/compiler/internal/sharedHostHelpers.js +39 -0
- package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
- package/lib/compiler/internal/startResidentTransform.js +12 -4
- package/lib/compiler/internal/startResidentTransform.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.d.ts +3 -0
- package/lib/compiler/internal/transformProjectInMemory.js +239 -35
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/flags/schema.js +12 -5
- package/lib/flags/schema.js.map +1 -1
- package/lib/internal/createCanonicalTempDirectory.d.ts +17 -0
- package/lib/internal/createCanonicalTempDirectory.js +42 -0
- package/lib/internal/createCanonicalTempDirectory.js.map +1 -0
- package/lib/internal/projectInputPathIdentity.d.ts +3 -0
- package/lib/internal/projectInputPathIdentity.js +11 -5
- package/lib/internal/projectInputPathIdentity.js.map +1 -1
- package/lib/internal/resolveNodeBinary.d.ts +14 -0
- package/lib/internal/resolveNodeBinary.js +150 -0
- package/lib/internal/resolveNodeBinary.js.map +1 -0
- package/lib/internal/resolveSafeCacheCleanupTargets.d.ts +15 -0
- package/lib/internal/resolveSafeCacheCleanupTargets.js +61 -0
- package/lib/internal/resolveSafeCacheCleanupTargets.js.map +1 -0
- package/lib/launcher/internal/prepareExecution.d.ts +3 -0
- package/lib/launcher/internal/prepareExecution.js +42 -14
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runTtsc.js +25 -13
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtscserver.js +18 -3
- package/lib/launcher/internal/runTtscserver.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +2 -0
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/launcher/internal/runtimeHooks.d.ts +37 -1
- package/lib/launcher/internal/runtimeHooks.js +653 -62
- package/lib/launcher/internal/runtimeHooks.js.map +1 -1
- package/lib/plugin/internal/buildSourcePlugin.d.ts +62 -8
- package/lib/plugin/internal/buildSourcePlugin.js +754 -72
- package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.d.ts +17 -5
- package/lib/plugin/internal/loadProjectPlugins.js +1339 -77
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/register.d.ts +1 -0
- package/lib/register.js +46 -0
- package/lib/register.js.map +1 -0
- package/lib/structures/ITtscCompilerContext.d.ts +6 -3
- package/lib/structures/ITtscCompilerTransformation.d.ts +31 -0
- package/lib/structures/ITtscPlugin.d.ts +33 -0
- package/package.json +16 -9
- package/shim/checker/go.mod +9 -0
- package/shim/checker/go.sum +22 -0
- package/shim/checker/shim.go +75 -0
- package/shim/compiler/incremental.go +45 -8
- package/src/TtscCompiler.ts +55 -33
- package/src/compiler/internal/captureProcessOutput.ts +3 -2
- package/src/compiler/internal/compileProjectInMemory.ts +4 -3
- package/src/compiler/internal/resolveEmittedJavaScript.ts +6 -0
- package/src/compiler/internal/runBuild.ts +102 -39
- package/src/compiler/internal/runSingleFileEmit.ts +2 -2
- package/src/compiler/internal/sharedHostHelpers.ts +44 -0
- package/src/compiler/internal/startResidentTransform.ts +12 -3
- package/src/compiler/internal/transformProjectInMemory.ts +410 -39
- package/src/flags/schema.ts +12 -5
- package/src/internal/createCanonicalTempDirectory.ts +53 -0
- package/src/internal/projectInputPathIdentity.ts +17 -4
- package/src/internal/resolveNodeBinary.ts +173 -0
- package/src/internal/resolveSafeCacheCleanupTargets.ts +85 -0
- package/src/launcher/internal/prepareExecution.ts +50 -14
- package/src/launcher/internal/runTtsc.ts +24 -13
- package/src/launcher/internal/runTtscserver.ts +18 -3
- package/src/launcher/internal/runTtsx.ts +2 -0
- package/src/launcher/internal/runtimeHooks.ts +823 -66
- package/src/plugin/internal/buildSourcePlugin.ts +984 -79
- package/src/plugin/internal/loadProjectPlugins.ts +1718 -104
- package/src/register.ts +47 -0
- package/src/structures/ITtscCompilerContext.ts +6 -3
- package/src/structures/ITtscCompilerTransformation.ts +39 -0
- package/src/structures/ITtscPlugin.ts +36 -0
- package/tools/shim_audit/baseline.json +0 -1
- package/utility/host.go +9 -3
- package/lib/internal/assertSafeExplicitCacheDirectory.d.ts +0 -5
- package/lib/internal/assertSafeExplicitCacheDirectory.js +0 -26
- package/lib/internal/assertSafeExplicitCacheDirectory.js.map +0 -1
- package/src/internal/assertSafeExplicitCacheDirectory.ts +0 -29
|
@@ -0,0 +1,42 @@
|
|
|
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.createCanonicalTempDirectory = createCanonicalTempDirectory;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const FILESYSTEM_OPERATIONS = {
|
|
11
|
+
lstat: node_fs_1.default.lstatSync,
|
|
12
|
+
mkdtemp: node_fs_1.default.mkdtempSync,
|
|
13
|
+
realpath: node_fs_1.default.realpathSync.native,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Create a unique temporary directory under a frozen physical parent.
|
|
17
|
+
*
|
|
18
|
+
* The parent is resolved before creation so retargeting the caller's
|
|
19
|
+
* TEMP/TMPDIR alias cannot redirect later writes or recursive cleanup. The
|
|
20
|
+
* postflight accepts only a real directory that resolves to a direct child of
|
|
21
|
+
* that same parent; a rejected child is deliberately left untouched because no
|
|
22
|
+
* safe ownership identity was established.
|
|
23
|
+
*/
|
|
24
|
+
function createCanonicalTempDirectory(prefix, parent = node_os_1.default.tmpdir(), operations = FILESYSTEM_OPERATIONS) {
|
|
25
|
+
if (prefix.length === 0 || node_path_1.default.basename(prefix) !== prefix) {
|
|
26
|
+
throw new TypeError("ttsc: temporary directory prefix must be a basename");
|
|
27
|
+
}
|
|
28
|
+
const physicalParent = operations.realpath(node_path_1.default.resolve(parent));
|
|
29
|
+
if (!operations.lstat(physicalParent).isDirectory()) {
|
|
30
|
+
throw new Error(`ttsc: temporary directory parent is not a directory: ${physicalParent}`);
|
|
31
|
+
}
|
|
32
|
+
const directory = operations.mkdtemp(node_path_1.default.join(physicalParent, prefix));
|
|
33
|
+
if (!operations.lstat(directory).isDirectory()) {
|
|
34
|
+
throw new Error(`ttsc: temporary directory postflight is not a directory: ${directory}`);
|
|
35
|
+
}
|
|
36
|
+
const physicalDirectory = operations.realpath(directory);
|
|
37
|
+
if (node_path_1.default.dirname(physicalDirectory) !== physicalParent) {
|
|
38
|
+
throw new Error(`ttsc: temporary directory escaped its physical parent: ${physicalDirectory}`);
|
|
39
|
+
}
|
|
40
|
+
return physicalDirectory;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=createCanonicalTempDirectory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCanonicalTempDirectory.js","sourceRoot":"","sources":["../../src/internal/createCanonicalTempDirectory.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAQ7B,MAAM,qBAAqB,GAAqC;IAC9D,KAAK,EAAE,iBAAE,CAAC,SAAS;IACnB,OAAO,EAAE,iBAAE,CAAC,WAAW;IACvB,QAAQ,EAAE,iBAAE,CAAC,YAAY,CAAC,MAAM;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,sCACE,MAAc,EACd,MAAM,GAAW,iBAAE,CAAC,MAAM,EAAE,EAC5B,UAAU,GAAqC,qBAAqB;IAEpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,wDAAwD,cAAc,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,mBAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,cAAc,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,0DAA0D,iBAAiB,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
export type FilesystemPathIdentity = {
|
|
2
3
|
key: string;
|
|
3
4
|
path: string;
|
|
4
5
|
};
|
|
5
6
|
export type FilesystemPathIdentityOperations = {
|
|
6
7
|
caseSensitive(directory: string): boolean;
|
|
8
|
+
lstat?(location: string): fs.Stats | fs.BigIntStats;
|
|
7
9
|
platform: NodeJS.Platform;
|
|
10
|
+
readdir?(directory: string): string[];
|
|
8
11
|
realpath(location: string): string;
|
|
9
12
|
throwOnRealpathError: boolean;
|
|
10
13
|
};
|
|
@@ -28,8 +28,14 @@ function createFilesystemPathIdentityContext(operations = {}) {
|
|
|
28
28
|
const pathApi = platform === "win32" ? node_path_1.default.win32 : node_path_1.default;
|
|
29
29
|
const throwOnRealpathError = operations.throwOnRealpathError ?? true;
|
|
30
30
|
const realpath = operations.realpath ?? physicalRealpath;
|
|
31
|
+
const lstat = operations.lstat ?? node_fs_1.default.lstatSync;
|
|
32
|
+
const readdir = operations.readdir ?? node_fs_1.default.readdirSync;
|
|
31
33
|
const caseSensitive = operations.caseSensitive ??
|
|
32
|
-
((directory) => filesystemDirectoryIsCaseSensitive(directory, platform
|
|
34
|
+
((directory) => filesystemDirectoryIsCaseSensitive(directory, platform, {
|
|
35
|
+
lstat,
|
|
36
|
+
readdir,
|
|
37
|
+
realpath,
|
|
38
|
+
}));
|
|
33
39
|
const resolve = (location) => {
|
|
34
40
|
const normalized = resolveFilesystemPath(location, platform);
|
|
35
41
|
const cached = identities.get(normalized);
|
|
@@ -133,10 +139,10 @@ function cachedCaseSensitivity(cache, caseSensitive, directory) {
|
|
|
133
139
|
function physicalRealpath(location) {
|
|
134
140
|
return node_fs_1.default.realpathSync.native?.(location) ?? node_fs_1.default.realpathSync(location);
|
|
135
141
|
}
|
|
136
|
-
function filesystemDirectoryIsCaseSensitive(directory, platform) {
|
|
142
|
+
function filesystemDirectoryIsCaseSensitive(directory, platform, operations) {
|
|
137
143
|
let entries;
|
|
138
144
|
try {
|
|
139
|
-
entries =
|
|
145
|
+
entries = operations.readdir(directory);
|
|
140
146
|
}
|
|
141
147
|
catch {
|
|
142
148
|
return unprovenCaseSensitivity(platform);
|
|
@@ -155,7 +161,7 @@ function filesystemDirectoryIsCaseSensitive(directory, platform) {
|
|
|
155
161
|
if (alternate === name)
|
|
156
162
|
continue;
|
|
157
163
|
try {
|
|
158
|
-
|
|
164
|
+
operations.lstat(node_path_1.default.join(directory, alternate));
|
|
159
165
|
return false;
|
|
160
166
|
}
|
|
161
167
|
catch (error) {
|
|
@@ -183,7 +189,7 @@ function filesystemDirectoryIsCaseSensitive(directory, platform) {
|
|
|
183
189
|
const alternate = alternateCase(name);
|
|
184
190
|
if (alternate !== name) {
|
|
185
191
|
try {
|
|
186
|
-
|
|
192
|
+
operations.realpath(node_path_1.default.join(parent, alternate));
|
|
187
193
|
return false;
|
|
188
194
|
}
|
|
189
195
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectInputPathIdentity.js","sourceRoot":"","sources":["../../src/internal/projectInputPathIdentity.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4EAA8C;AAC9C,sDAAyB;AACzB,0DAA6B;AAE7B,uFAAyF;
|
|
1
|
+
{"version":3,"file":"projectInputPathIdentity.js","sourceRoot":"","sources":["../../src/internal/projectInputPathIdentity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type JavaScriptRuntimeCapabilities = {
|
|
2
|
+
bun: boolean;
|
|
3
|
+
executable?: string;
|
|
4
|
+
registerHooks: boolean;
|
|
5
|
+
};
|
|
6
|
+
/** Probe an interpreter instead of inferring its identity from the host. */
|
|
7
|
+
export declare function javascriptRuntimeCapabilities(runtime: string, env: NodeJS.ProcessEnv, cwd: string): JavaScriptRuntimeCapabilities;
|
|
8
|
+
/**
|
|
9
|
+
* Locate a real Node runtime for ttsx and native JavaScript config loaders.
|
|
10
|
+
*
|
|
11
|
+
* Bun can directly evaluate a descriptor, but it does not implement the
|
|
12
|
+
* synchronous `module.registerHooks` contract used by those loaders.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveNodeBinary(env?: NodeJS.ProcessEnv, cwd?: string): string | undefined;
|
|
@@ -0,0 +1,150 @@
|
|
|
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.javascriptRuntimeCapabilities = javascriptRuntimeCapabilities;
|
|
7
|
+
exports.resolveNodeBinary = resolveNodeBinary;
|
|
8
|
+
const node_child_process_1 = __importDefault(require("node:child_process"));
|
|
9
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
const runtimeCapabilityCache = new Map();
|
|
12
|
+
/** Probe an interpreter instead of inferring its identity from the host. */
|
|
13
|
+
function javascriptRuntimeCapabilities(runtime, env, cwd) {
|
|
14
|
+
const effectiveEnv = { ...process.env, ...env };
|
|
15
|
+
const cacheKey = runtimeCapabilityCacheKey(runtime, effectiveEnv);
|
|
16
|
+
const beforeIdentity = runtimeExecutableIdentity(runtime);
|
|
17
|
+
if (cacheKey !== undefined && beforeIdentity !== undefined) {
|
|
18
|
+
const cached = runtimeCapabilityCache.get(cacheKey);
|
|
19
|
+
if (cached?.identity === beforeIdentity)
|
|
20
|
+
return { ...cached.capabilities };
|
|
21
|
+
runtimeCapabilityCache.delete(cacheKey);
|
|
22
|
+
}
|
|
23
|
+
const result = node_child_process_1.default.spawnSync(runtime, [
|
|
24
|
+
"-e",
|
|
25
|
+
`const Module = require("node:module"); process.stdout.write(JSON.stringify({ bun: typeof globalThis.Bun === "object", executable: process.execPath, registerHooks: typeof Module.registerHooks === "function" }));`,
|
|
26
|
+
], {
|
|
27
|
+
cwd,
|
|
28
|
+
encoding: "utf8",
|
|
29
|
+
env: effectiveEnv,
|
|
30
|
+
timeout: 30_000,
|
|
31
|
+
windowsHide: true,
|
|
32
|
+
});
|
|
33
|
+
let capabilities = {
|
|
34
|
+
bun: false,
|
|
35
|
+
registerHooks: false,
|
|
36
|
+
};
|
|
37
|
+
if (result.status === 0) {
|
|
38
|
+
try {
|
|
39
|
+
const parsed = JSON.parse(result.stdout);
|
|
40
|
+
capabilities = {
|
|
41
|
+
bun: parsed.bun === true,
|
|
42
|
+
...(typeof parsed.executable === "string" &&
|
|
43
|
+
node_path_1.default.isAbsolute(parsed.executable)
|
|
44
|
+
? { executable: node_path_1.default.resolve(parsed.executable) }
|
|
45
|
+
: {}),
|
|
46
|
+
registerHooks: parsed.registerHooks === true,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// An incompatible executable is not a Node runtime candidate.
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Cache successful absolute candidates only when the child reports that same
|
|
54
|
+
// executable and both its lexical link and physical target retain the same
|
|
55
|
+
// filesystem identity. Relative/bare commands and wrappers can resolve
|
|
56
|
+
// differently by cwd/PATH/environment, negative probes can become valid later,
|
|
57
|
+
// and NODE_OPTIONS can load mutable user code, so none of those states are
|
|
58
|
+
// memoized. This removes a process spawn from the common path without
|
|
59
|
+
// authorizing a replaced or redirected runtime in a long-lived host.
|
|
60
|
+
const afterIdentity = runtimeExecutableIdentity(runtime);
|
|
61
|
+
if (cacheKey !== undefined &&
|
|
62
|
+
capabilities.executable !== undefined &&
|
|
63
|
+
beforeIdentity !== undefined &&
|
|
64
|
+
beforeIdentity === afterIdentity &&
|
|
65
|
+
sameRuntimeExecutable(runtime, capabilities.executable)) {
|
|
66
|
+
runtimeCapabilityCache.set(cacheKey, {
|
|
67
|
+
capabilities: { ...capabilities },
|
|
68
|
+
identity: afterIdentity,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return capabilities;
|
|
72
|
+
}
|
|
73
|
+
/** True when a probe ran the candidate itself rather than a mutable wrapper. */
|
|
74
|
+
function sameRuntimeExecutable(candidate, executable) {
|
|
75
|
+
try {
|
|
76
|
+
const candidateStats = node_fs_1.default.statSync(candidate, { bigint: true });
|
|
77
|
+
const executableStats = node_fs_1.default.statSync(executable, { bigint: true });
|
|
78
|
+
return ((candidateStats.ino !== 0n &&
|
|
79
|
+
candidateStats.dev === executableStats.dev &&
|
|
80
|
+
candidateStats.ino === executableStats.ino) ||
|
|
81
|
+
node_fs_1.default.realpathSync.native(candidate) === node_fs_1.default.realpathSync.native(executable));
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Stable cache key only for an absolute runtime with no preload authority. */
|
|
88
|
+
function runtimeCapabilityCacheKey(runtime, env) {
|
|
89
|
+
if (!node_path_1.default.isAbsolute(runtime) || env.NODE_OPTIONS?.trim())
|
|
90
|
+
return undefined;
|
|
91
|
+
return node_path_1.default.resolve(runtime);
|
|
92
|
+
}
|
|
93
|
+
/** Identity of an executable spelling and the physical file it selects. */
|
|
94
|
+
function runtimeExecutableIdentity(runtime) {
|
|
95
|
+
if (!node_path_1.default.isAbsolute(runtime))
|
|
96
|
+
return undefined;
|
|
97
|
+
try {
|
|
98
|
+
const lexical = node_fs_1.default.lstatSync(runtime, { bigint: true });
|
|
99
|
+
const physicalPath = node_fs_1.default.realpathSync.native(runtime);
|
|
100
|
+
const physical = node_fs_1.default.statSync(physicalPath, { bigint: true });
|
|
101
|
+
return [
|
|
102
|
+
physicalPath,
|
|
103
|
+
lexical.dev,
|
|
104
|
+
lexical.ino,
|
|
105
|
+
lexical.mode,
|
|
106
|
+
lexical.size,
|
|
107
|
+
lexical.mtimeNs,
|
|
108
|
+
lexical.ctimeNs,
|
|
109
|
+
physical.dev,
|
|
110
|
+
physical.ino,
|
|
111
|
+
physical.mode,
|
|
112
|
+
physical.size,
|
|
113
|
+
physical.mtimeNs,
|
|
114
|
+
physical.ctimeNs,
|
|
115
|
+
].join("\0");
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Locate a real Node runtime for ttsx and native JavaScript config loaders.
|
|
123
|
+
*
|
|
124
|
+
* Bun can directly evaluate a descriptor, but it does not implement the
|
|
125
|
+
* synchronous `module.registerHooks` contract used by those loaders.
|
|
126
|
+
*/
|
|
127
|
+
function resolveNodeBinary(env = process.env, cwd = process.cwd()) {
|
|
128
|
+
const candidates = [
|
|
129
|
+
env.TTSC_NODE_BINARY,
|
|
130
|
+
process.env.TTSC_NODE_BINARY,
|
|
131
|
+
process.execPath,
|
|
132
|
+
"node",
|
|
133
|
+
];
|
|
134
|
+
const seen = new Set();
|
|
135
|
+
for (const candidate of candidates) {
|
|
136
|
+
if (candidate === undefined || candidate.trim() === "")
|
|
137
|
+
continue;
|
|
138
|
+
if (seen.has(candidate))
|
|
139
|
+
continue;
|
|
140
|
+
seen.add(candidate);
|
|
141
|
+
const capabilities = javascriptRuntimeCapabilities(candidate, env, cwd);
|
|
142
|
+
if (!capabilities.bun &&
|
|
143
|
+
capabilities.registerHooks &&
|
|
144
|
+
capabilities.executable !== undefined) {
|
|
145
|
+
return capabilities.executable;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=resolveNodeBinary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveNodeBinary.js","sourceRoot":"","sources":["../../src/internal/resolveNodeBinary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type FilesystemPathIdentityOperations } from "./projectInputPathIdentity";
|
|
2
|
+
export interface SafeCacheCleanupTarget {
|
|
3
|
+
exists: boolean;
|
|
4
|
+
path: string;
|
|
5
|
+
requestedPath: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve one cache-clean transaction to physical deletion targets.
|
|
9
|
+
*
|
|
10
|
+
* Every target is proved before the caller removes the first one. Existing
|
|
11
|
+
* aliases are pinned to their physical spelling, while a missing suffix keeps
|
|
12
|
+
* the identity of its nearest existing parent. Identity errors other than a
|
|
13
|
+
* genuinely missing path fail closed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveSafeCacheCleanupTargets(projectRoot: string, cacheDirectories: readonly string[], operations?: Partial<FilesystemPathIdentityOperations>): SafeCacheCleanupTarget[];
|
|
@@ -0,0 +1,61 @@
|
|
|
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.resolveSafeCacheCleanupTargets = resolveSafeCacheCleanupTargets;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const projectInputPathIdentity_1 = require("./projectInputPathIdentity");
|
|
10
|
+
/**
|
|
11
|
+
* Resolve one cache-clean transaction to physical deletion targets.
|
|
12
|
+
*
|
|
13
|
+
* Every target is proved before the caller removes the first one. Existing
|
|
14
|
+
* aliases are pinned to their physical spelling, while a missing suffix keeps
|
|
15
|
+
* the identity of its nearest existing parent. Identity errors other than a
|
|
16
|
+
* genuinely missing path fail closed.
|
|
17
|
+
*/
|
|
18
|
+
function resolveSafeCacheCleanupTargets(projectRoot, cacheDirectories, operations = {}) {
|
|
19
|
+
const identities = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)(operations);
|
|
20
|
+
const lstat = operations.lstat ?? node_fs_1.default.lstatSync;
|
|
21
|
+
const project = identities.resolve(projectRoot);
|
|
22
|
+
return cacheDirectories.map((cacheDirectory) => {
|
|
23
|
+
const requestedCache = (0, projectInputPathIdentity_1.resolveFilesystemPath)(cacheDirectory);
|
|
24
|
+
// Fix every mutable alias ancestor before inspecting the terminal entry.
|
|
25
|
+
// All later identity checks and deletion paths use this physical-parent
|
|
26
|
+
// candidate, so a concurrent retarget cannot move ownership mid-proof.
|
|
27
|
+
const pinnedCache = node_path_1.default.join(identities.resolve(node_path_1.default.dirname(requestedCache)).path, node_path_1.default.basename(requestedCache));
|
|
28
|
+
const cache = identities.resolve(pinnedCache);
|
|
29
|
+
if (requestedCache === node_path_1.default.parse(requestedCache).root ||
|
|
30
|
+
cache.path === node_path_1.default.parse(cache.path).root) {
|
|
31
|
+
throw new Error(`ttsc: refusing to clean cache directory ${JSON.stringify(requestedCache)} because filesystem roots are never valid cache directories`);
|
|
32
|
+
}
|
|
33
|
+
if ((0, projectInputPathIdentity_1.isFilesystemPathIdentityWithin)(cache.key, project.key)) {
|
|
34
|
+
throw new Error(`ttsc: refusing to clean cache directory ${JSON.stringify(requestedCache)} because it equals or contains project root ${JSON.stringify(project.path)}; choose a dedicated cache directory`);
|
|
35
|
+
}
|
|
36
|
+
const status = lstatIfPresent(pinnedCache, lstat);
|
|
37
|
+
// Recursive rm removes a terminal symlink or junction itself rather than
|
|
38
|
+
// following it. Preserve that behavior while pinning any mutable alias in
|
|
39
|
+
// its ancestors to the physical parent selected by this transaction.
|
|
40
|
+
const deletionPath = status?.isSymbolicLink() ? pinnedCache : cache.path;
|
|
41
|
+
return {
|
|
42
|
+
exists: status !== undefined,
|
|
43
|
+
path: deletionPath,
|
|
44
|
+
requestedPath: requestedCache,
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function lstatIfPresent(location, lstat) {
|
|
49
|
+
try {
|
|
50
|
+
return lstat(location);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error instanceof Error &&
|
|
54
|
+
"code" in error &&
|
|
55
|
+
(error.code === "ENOENT" || error.code === "ENOTDIR")) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=resolveSafeCacheCleanupTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveSafeCacheCleanupTargets.js","sourceRoot":"","sources":["../../src/internal/resolveSafeCacheCleanupTargets.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,yEAKoC;AAQpC;;;;;;;GAOG;AACH,wCACE,WAAmB,EACnB,gBAAmC,EACnC,UAAU,GAA8C,EAAE;IAE1D,MAAM,UAAU,GAAG,IAAA,8DAAmC,EAAC,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,iBAAE,CAAC,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QAC7C,MAAM,cAAc,GAAG,IAAA,gDAAqB,EAAC,cAAc,CAAC,CAAC;QAC7D,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAC3B,UAAU,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EACrD,mBAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9B,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,IACE,cAAc,KAAK,mBAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI;YAClD,KAAK,CAAC,IAAI,KAAK,mBAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,6DAA6D,CACvI,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,yDAA8B,EAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAC3L,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,YAAY,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,MAAM,KAAK,SAAS;YAC5B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,cAAc;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,KAA6D;IAE7D,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EACrD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -5,11 +5,14 @@ import { type OwningModuleOptions } from "./runtimeHooks";
|
|
|
5
5
|
export declare function prepareExecution(entryFile: string, options?: TtscCommonOptions & {
|
|
6
6
|
cacheDir?: string;
|
|
7
7
|
project?: string;
|
|
8
|
+
/** Internal cache key for more than one checked entry in this process. */
|
|
9
|
+
runtimeCacheKey?: string;
|
|
8
10
|
}): {
|
|
9
11
|
cleanupDir: string;
|
|
10
12
|
emitDir: string;
|
|
11
13
|
emittedFiles?: readonly string[];
|
|
12
14
|
entryFile: string;
|
|
15
|
+
entrySource: string;
|
|
13
16
|
moduleOptions: OwningModuleOptions;
|
|
14
17
|
projectRoot: string;
|
|
15
18
|
rootDir: string;
|
|
@@ -14,8 +14,6 @@ const resolveEmittedJavaScript_1 = require("../../compiler/internal/resolveEmitt
|
|
|
14
14
|
const runBuild_1 = require("../../compiler/internal/runBuild");
|
|
15
15
|
const projectInputPathIdentity_1 = require("../../internal/projectInputPathIdentity");
|
|
16
16
|
const runtimeHooks_1 = require("./runtimeHooks");
|
|
17
|
-
/** Subdirectory name that isolates concurrent ttsx processes by PID. */
|
|
18
|
-
const PROCESS_CACHE_KEY = String(process.pid);
|
|
19
17
|
/**
|
|
20
18
|
* Maximum number of ancestor directories above the project root that the
|
|
21
19
|
* virtual filesystem overlay mirrors. Three levels covers the common monorepo
|
|
@@ -59,6 +57,7 @@ function prepareExecution(entryFile, options = {}) {
|
|
|
59
57
|
emitDir: context.emitDir,
|
|
60
58
|
emittedFiles: context.emittedFiles ?? undefined,
|
|
61
59
|
entryFile: emittedEntry,
|
|
60
|
+
entrySource: entry,
|
|
62
61
|
moduleOptions: context.moduleOptions,
|
|
63
62
|
projectRoot: context.root,
|
|
64
63
|
rootDir: context.runtimeRootDir,
|
|
@@ -127,6 +126,18 @@ function resolveEntrySpelling(cwd, entryFile) {
|
|
|
127
126
|
});
|
|
128
127
|
return identities.resolve(node_path_1.default.resolve(cwd, entryFile)).path;
|
|
129
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Directory-safe identity for one prepared runtime. Direct `ttsx` retains its
|
|
131
|
+
* historical PID directory; the public preload supplies a distinct key for
|
|
132
|
+
* every late TypeScript root so one preparation cannot erase another's emit.
|
|
133
|
+
*/
|
|
134
|
+
function resolveRuntimeCacheKey(runtimeCacheKey) {
|
|
135
|
+
const key = runtimeCacheKey ?? String(process.pid);
|
|
136
|
+
if (!/^[A-Za-z0-9._-]+$/.test(key) || key === "." || key === "..") {
|
|
137
|
+
throw new Error(`ttsx: invalid runtime cache key ${JSON.stringify(key)}`);
|
|
138
|
+
}
|
|
139
|
+
return key;
|
|
140
|
+
}
|
|
130
141
|
/**
|
|
131
142
|
* @param discoveryFile - The entry as the user named it. Project discovery
|
|
132
143
|
* walks up from here, so it must not be retargeted through a symlink.
|
|
@@ -142,20 +153,28 @@ function createProjectContext(cwd, discoveryFile, options) {
|
|
|
142
153
|
const tsconfig = project.path;
|
|
143
154
|
const root = project.root;
|
|
144
155
|
const explicitCacheDir = resolveCacheDir(cwd, options.cacheDir);
|
|
145
|
-
const
|
|
156
|
+
const cacheDirSpelling = explicitCacheDir ??
|
|
146
157
|
node_path_1.default.join(root, "node_modules", ".cache", "ttsc", "ttsx");
|
|
147
|
-
const
|
|
148
|
-
const virtualRoot = node_path_1.default.join(processDir, "fs");
|
|
158
|
+
const runtimeCacheKey = resolveRuntimeCacheKey(options.runtimeCacheKey);
|
|
149
159
|
// Resolved once: it now costs a realpath (and, for a missing directory on
|
|
150
160
|
// Windows, a case-sensitivity probe) rather than a string join.
|
|
151
161
|
const runtimeRootDir = resolveRuntimeSourceRoot(project);
|
|
162
|
+
node_fs_1.default.mkdirSync(cacheDirSpelling, { recursive: true });
|
|
163
|
+
// Pin the cache parent before deriving a generation path. Descriptors run
|
|
164
|
+
// after this point and may retarget a caller-controlled symlink or junction;
|
|
165
|
+
// every later runtime write and recursive cleanup must remain below the
|
|
166
|
+
// physical parent selected here.
|
|
167
|
+
const cacheDir = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)().resolve(cacheDirSpelling).path;
|
|
168
|
+
const processDir = node_path_1.default.join(cacheDir, "project", runtimeCacheKey);
|
|
169
|
+
const virtualRoot = node_path_1.default.join(processDir, "fs");
|
|
152
170
|
return {
|
|
153
171
|
project,
|
|
154
172
|
tsconfig,
|
|
155
173
|
root,
|
|
156
174
|
cacheDir,
|
|
175
|
+
runtimeCacheKey,
|
|
157
176
|
processDir,
|
|
158
|
-
pluginCacheDir: explicitCacheDir,
|
|
177
|
+
pluginCacheDir: explicitCacheDir === undefined ? undefined : cacheDir,
|
|
159
178
|
virtualRoot,
|
|
160
179
|
emitDir: project.compilerOptions.outDir
|
|
161
180
|
? virtualPath(virtualRoot, project.compilerOptions.outDir)
|
|
@@ -316,7 +335,7 @@ function buildEntryProject(context, options, entry) {
|
|
|
316
335
|
// `outDir`, writing a `.js` and its map beside the user's `.ts` where nothing
|
|
317
336
|
// cleans them up.
|
|
318
337
|
const rootDir = commonAncestorDirectory(node_path_1.default.dirname(entry), context.root);
|
|
319
|
-
const tsconfig = node_path_1.default.join(context.root, `.ttsx-entry.${
|
|
338
|
+
const tsconfig = node_path_1.default.join(context.root, `.ttsx-entry.${context.runtimeCacheKey}.tsconfig.json`);
|
|
320
339
|
node_fs_1.default.writeFileSync(tsconfig, JSON.stringify({
|
|
321
340
|
extends: context.tsconfig.replace(/\\/g, "/"),
|
|
322
341
|
compilerOptions: { rootDir: rootDir.replace(/\\/g, "/") },
|
|
@@ -376,8 +395,8 @@ function buildEntryProject(context, options, entry) {
|
|
|
376
395
|
}
|
|
377
396
|
catch {
|
|
378
397
|
// Best effort: a leftover synthesized tsconfig must not mask a build
|
|
379
|
-
// failure, and it is
|
|
380
|
-
// project config.
|
|
398
|
+
// failure, and it is runtime-scoped so it can never be mistaken for a
|
|
399
|
+
// real project config.
|
|
381
400
|
}
|
|
382
401
|
}
|
|
383
402
|
}
|
|
@@ -507,6 +526,9 @@ function isDirectorySymlinkTarget(realEntry) {
|
|
|
507
526
|
*/
|
|
508
527
|
function collectLinkDirectories(projectRoot) {
|
|
509
528
|
const out = [];
|
|
529
|
+
const identities = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)({
|
|
530
|
+
throwOnRealpathError: false,
|
|
531
|
+
});
|
|
510
532
|
let current = projectRoot;
|
|
511
533
|
for (let depth = 0; depth <= MAX_VIRTUAL_PARENT_DEPTH; depth += 1) {
|
|
512
534
|
out.push(current);
|
|
@@ -516,17 +538,23 @@ function collectLinkDirectories(projectRoot) {
|
|
|
516
538
|
break;
|
|
517
539
|
}
|
|
518
540
|
const parent = node_path_1.default.dirname(current);
|
|
519
|
-
if (parent === current || isUnsafeVirtualParent(parent)) {
|
|
541
|
+
if (parent === current || isUnsafeVirtualParent(parent, identities)) {
|
|
520
542
|
break;
|
|
521
543
|
}
|
|
522
544
|
current = parent;
|
|
523
545
|
}
|
|
524
546
|
return out.reverse();
|
|
525
547
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
548
|
+
/**
|
|
549
|
+
* Whether mirroring `directory` would reach a filesystem or temporary root.
|
|
550
|
+
* Identity comparison is required on Windows, where `os.tmpdir()` can carry an
|
|
551
|
+
* 8.3 component while a project created below it is returned in long spelling.
|
|
552
|
+
*/
|
|
553
|
+
function isUnsafeVirtualParent(directory, identities) {
|
|
554
|
+
const resolved = identities.resolve(directory);
|
|
555
|
+
const root = identities.resolve(node_path_1.default.parse(resolved.path).root);
|
|
556
|
+
const temporaryRoot = identities.resolve(node_os_1.default.tmpdir());
|
|
557
|
+
return resolved.key === root.key || resolved.key === temporaryRoot.key;
|
|
530
558
|
}
|
|
531
559
|
/**
|
|
532
560
|
* Map an absolute path into a stable, filesystem-safe subtree under `root`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":"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"}
|