ttsc 0.12.2 → 0.12.4

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.
Files changed (134) hide show
  1. package/cmd/platform/main.go +9 -0
  2. package/cmd/ttsc/api_compile.go +109 -101
  3. package/cmd/ttsc/api_compile_branches_test.go +55 -57
  4. package/cmd/ttsc/api_transform.go +54 -49
  5. package/cmd/ttsc/api_transform_branches_test.go +30 -32
  6. package/cmd/ttsc/build.go +111 -108
  7. package/cmd/ttsc/build_branches_test.go +95 -97
  8. package/cmd/ttsc/helpers_test.go +39 -28
  9. package/cmd/ttsc/main.go +111 -104
  10. package/cmd/ttsc/main_alias_branches_test.go +21 -23
  11. package/cmd/ttscserver/main.go +96 -90
  12. package/cmd/ttscserver/run_lsp_prefers_tsgo_flag_test.go +22 -22
  13. package/cmd/ttscserver/run_lsp_reports_server_error_test.go +22 -22
  14. package/cmd/ttscserver/run_lsp_uses_tsgo_environment_test.go +23 -23
  15. package/cmd/utility-host/main.go +30 -23
  16. package/driver/lsp.go +53 -7
  17. package/driver/plugins.go +88 -72
  18. package/driver/program.go +362 -339
  19. package/driver/rewrite.go +442 -380
  20. package/internal/lspserver/lsp_envelope.go +64 -64
  21. package/internal/lspserver/lsp_frame.go +60 -60
  22. package/internal/lspserver/lsp_plugin.go +57 -57
  23. package/internal/lspserver/lsp_proxy.go +265 -251
  24. package/internal/lspserver/lsp_server.go +155 -144
  25. package/lib/TtscCompiler.d.ts +7 -0
  26. package/lib/TtscCompiler.js +7 -0
  27. package/lib/TtscCompiler.js.map +1 -1
  28. package/lib/compiler/internal/buildNativeCompiler.d.ts +11 -1
  29. package/lib/compiler/internal/buildNativeCompiler.js +23 -3
  30. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  31. package/lib/compiler/internal/compileProjectInMemory.d.ts +9 -0
  32. package/lib/compiler/internal/compileProjectInMemory.js +36 -21
  33. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  34. package/lib/compiler/internal/paths.d.ts +27 -0
  35. package/lib/compiler/internal/paths.js +70 -0
  36. package/lib/compiler/internal/paths.js.map +1 -0
  37. package/lib/compiler/internal/project/readProjectConfig.d.ts +9 -1
  38. package/lib/compiler/internal/project/readProjectConfig.js +80 -1
  39. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  40. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +13 -1
  41. package/lib/compiler/internal/project/resolveProjectConfig.js +24 -1
  42. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  43. package/lib/compiler/internal/resolveBinary.d.ts +9 -1
  44. package/lib/compiler/internal/resolveBinary.js +17 -1
  45. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  46. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +16 -1
  47. package/lib/compiler/internal/resolveEmittedJavaScript.js +42 -10
  48. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  49. package/lib/compiler/internal/resolveTsgo.d.ts +21 -1
  50. package/lib/compiler/internal/resolveTsgo.js +23 -1
  51. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  52. package/lib/compiler/internal/runBuild.d.ts +19 -0
  53. package/lib/compiler/internal/runBuild.js +112 -46
  54. package/lib/compiler/internal/runBuild.js.map +1 -1
  55. package/lib/compiler/internal/runSingleFileEmit.d.ts +10 -1
  56. package/lib/compiler/internal/runSingleFileEmit.js +14 -1
  57. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  58. package/lib/compiler/internal/sharedHostHelpers.d.ts +5 -0
  59. package/lib/compiler/internal/sharedHostHelpers.js +6 -2
  60. package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
  61. package/lib/compiler/internal/spawnNative.d.ts +21 -0
  62. package/lib/compiler/internal/spawnNative.js +59 -0
  63. package/lib/compiler/internal/spawnNative.js.map +1 -0
  64. package/lib/compiler/internal/transformProjectInMemory.d.ts +15 -1
  65. package/lib/compiler/internal/transformProjectInMemory.js +57 -61
  66. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  67. package/lib/launcher/internal/getCompilerVersionText.js +7 -0
  68. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  69. package/lib/launcher/internal/prepareExecution.js +32 -0
  70. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  71. package/lib/launcher/internal/resolveCacheDir.d.ts +9 -0
  72. package/lib/launcher/internal/resolveCacheDir.js +22 -0
  73. package/lib/launcher/internal/resolveCacheDir.js.map +1 -0
  74. package/lib/launcher/internal/resolveTtscserverBinary.js +2 -0
  75. package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
  76. package/lib/launcher/internal/runTtsc.d.ts +10 -0
  77. package/lib/launcher/internal/runTtsc.js +101 -16
  78. package/lib/launcher/internal/runTtsc.js.map +1 -1
  79. package/lib/launcher/internal/runTtscserver.js +10 -35
  80. package/lib/launcher/internal/runTtscserver.js.map +1 -1
  81. package/lib/launcher/internal/runTtsx.d.ts +8 -0
  82. package/lib/launcher/internal/runTtsx.js +33 -7
  83. package/lib/launcher/internal/runTtsx.js.map +1 -1
  84. package/lib/plugin/internal/buildSourcePlugin.d.ts +38 -0
  85. package/lib/plugin/internal/buildSourcePlugin.js +40 -17
  86. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  87. package/lib/plugin/internal/loadProjectPlugins.d.ts +26 -0
  88. package/lib/plugin/internal/loadProjectPlugins.js +32 -18
  89. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  90. package/lib/structures/ITtscCompilerTransformation.d.ts +15 -2
  91. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +0 -2
  92. package/package.json +9 -9
  93. package/shim/ast/go.mod +9 -0
  94. package/shim/ast/go.sum +20 -0
  95. package/shim/ast/safe_text.go +86 -0
  96. package/shim/ast/shim.go +24 -0
  97. package/shim/ast/test/node_text_joins_multi_hop_qualified_name_test.go +32 -0
  98. package/shim/ast/test/node_text_joins_one_hop_qualified_name_test.go +31 -0
  99. package/shim/ast/test/node_text_returns_empty_for_nil_test.go +23 -0
  100. package/shim/ast/test/node_text_returns_identifier_text_test.go +27 -0
  101. package/shim/ast/test/node_text_skips_empty_qualified_left_test.go +30 -0
  102. package/shim/checker/shim.go +35 -0
  103. package/shim/core/shim.go +17 -0
  104. package/shim/diagnosticwriter/shim.go +4 -0
  105. package/shim/lsp/shim.go +3 -3
  106. package/shim/printer/shim.go +20 -0
  107. package/src/TtscCompiler.ts +7 -0
  108. package/src/compiler/internal/buildNativeCompiler.ts +23 -3
  109. package/src/compiler/internal/compileProjectInMemory.ts +34 -25
  110. package/src/compiler/internal/paths.ts +68 -0
  111. package/src/compiler/internal/project/readProjectConfig.ts +86 -1
  112. package/src/compiler/internal/project/resolveProjectConfig.ts +24 -1
  113. package/src/compiler/internal/resolveBinary.ts +17 -1
  114. package/src/compiler/internal/resolveEmittedJavaScript.ts +43 -12
  115. package/src/compiler/internal/resolveTsgo.ts +29 -1
  116. package/src/compiler/internal/runBuild.ts +110 -55
  117. package/src/compiler/internal/runSingleFileEmit.ts +14 -1
  118. package/src/compiler/internal/sharedHostHelpers.ts +7 -7
  119. package/src/compiler/internal/spawnNative.ts +64 -0
  120. package/src/compiler/internal/transformProjectInMemory.ts +47 -67
  121. package/src/launcher/internal/getCompilerVersionText.ts +7 -0
  122. package/src/launcher/internal/prepareExecution.ts +32 -0
  123. package/src/launcher/internal/resolveCacheDir.ts +19 -0
  124. package/src/launcher/internal/resolveTtscserverBinary.ts +2 -0
  125. package/src/launcher/internal/runTtsc.ts +120 -20
  126. package/src/launcher/internal/runTtscserver.ts +9 -1
  127. package/src/launcher/internal/runTtsx.ts +33 -8
  128. package/src/plugin/internal/buildSourcePlugin.ts +40 -14
  129. package/src/plugin/internal/loadProjectPlugins.ts +42 -18
  130. package/src/structures/ITtscCompilerTransformation.ts +15 -2
  131. package/src/structures/ITtscPlugin.ts +0 -1
  132. package/src/structures/internal/TtscSingleFileEmitOptions.ts +0 -2
  133. package/tools/gen_shims/main.go +43 -8
  134. package/utility/host.go +294 -245
@@ -7,7 +7,21 @@ 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
- /** Resolve the consumer project's TypeScript-Go preview binary. */
10
+ /**
11
+ * Resolve the consumer project's TypeScript-Go preview binary and metadata.
12
+ *
13
+ * Resolution order:
14
+ *
15
+ * 1. `opts.binary` or `TTSC_TSGO_BINARY` env var — must be an existing absolute
16
+ * path; returns `{ binary, packageJson: "", packageRoot, version: "custom"
17
+ * }`.
18
+ * 2. `@typescript/native-preview` resolved from the project `cwd`.
19
+ * 3. `@typescript/native-preview` resolved from `opts.resolveFrom` (for test
20
+ * harnesses and embedders that anchor to a different directory).
21
+ *
22
+ * Throws a descriptive error when the package or platform binary is missing so
23
+ * callers never have to reason about undefined binary paths.
24
+ */
11
25
  function resolveTsgo(opts = {}) {
12
26
  const env = opts.env ?? process.env;
13
27
  const explicit = opts.binary ?? env.TTSC_TSGO_BINARY;
@@ -23,6 +37,8 @@ function resolveTsgo(opts = {}) {
23
37
  };
24
38
  }
25
39
  const cwd = node_path_1.default.resolve(opts.cwd ?? process.cwd());
40
+ // Resolve the package.json of @typescript/native-preview.
41
+ // Try cwd first, then the optional resolveFrom anchor.
26
42
  let packageJson;
27
43
  packageJson =
28
44
  resolveNativePreviewPackageJson(node_path_1.default.join(cwd, "package.json")) ??
@@ -65,6 +81,11 @@ function resolveTsgo(opts = {}) {
65
81
  version: typeof manifest.version === "string" ? manifest.version : "unknown",
66
82
  };
67
83
  }
84
+ /**
85
+ * Attempt to resolve the `package.json` of `@typescript/native-preview`
86
+ * starting from `from` (a package.json path or directory). Returns `undefined`
87
+ * when the package is not resolvable from that location.
88
+ */
68
89
  function resolveNativePreviewPackageJson(from) {
69
90
  try {
70
91
  return (0, node_module_1.createRequire)(from).resolve("@typescript/native-preview/package.json");
@@ -73,6 +94,7 @@ function resolveNativePreviewPackageJson(from) {
73
94
  return undefined;
74
95
  }
75
96
  }
97
+ /** Parse a JSON file and return the result as a plain object. */
76
98
  function readPackageJson(file) {
77
99
  return JSON.parse(node_fs_1.default.readFileSync(file, "utf8"));
78
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTsgo.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveTsgo.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,6CAA4C;AAC5C,0DAA6B;AAE7B,mEAAmE;AACnE,qBACE,IAAI,GAKA,EAAE;IAEN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,iEAAiE,QAAQ,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,IAAI,WAAmB,CAAC;IACxB,WAAW;QACT,+BAA+B,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC/D,CAAC,IAAI,CAAC,WAAW;gBACf,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;YACd,EAAE,CAAC;IACL,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb;YACE,+CAA+C;YAC/C,6DAA6D;YAC7D,uCAAuC;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,8BAA8B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACzF,MAAM,gBAAgB,GAAG,IAAA,2BAAa,EAAC,WAAW,CAAC,CAAC;IACpD,IAAI,mBAA2B,CAAC;IAChC,IAAI,CAAC;QACH,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,CAC5C,GAAG,eAAe,eAAe,CAClC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb;YACE,2DAA2D,eAAe,IAAI;YAC9E,0EAA0E;SAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CACtB,YAAY,EACZ,KAAK,EACL,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CACnD,CAAC;IACF,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,MAAM;QACN,OAAO,EACL,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACrE,WAAW;QACX,WAAW;QACX,mBAAmB;QACnB,OAAO,EACL,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY;IACnD,IAAI,CAAC;QACH,OAAO,IAAA,2BAAa,EAAC,IAAI,CAAC,CAAC,OAAO,CAChC,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"resolveTsgo.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveTsgo.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,28 @@ export declare function runBuild(options?: TtscBuildOptions & {
9
9
  skipDiagnosticsCheck?: boolean;
10
10
  forceListEmittedFiles?: boolean;
11
11
  }): TtscBuildResult;
12
+ /**
13
+ * Merge two `TtscBuildResult` values into one.
14
+ *
15
+ * - `status`: the right status wins unless it is 0 (failure propagates).
16
+ * - `diagnostics`: concatenated left then right.
17
+ * - `emittedFiles`: right wins when present, otherwise left is kept.
18
+ * - `stdout`/`stderr`: concatenated left then right.
19
+ */
12
20
  export declare function appendBuildOutput(left: TtscBuildResult, right: TtscBuildResult): TtscBuildResult;
21
+ /**
22
+ * `TtscBuildResult` with `diagnostics` made optional. Used internally when
23
+ * diagnostics are parsed lazily from stdout/stderr by `normalizeBuildOutput`.
24
+ */
13
25
  type PartialBuildResult = Omit<TtscBuildResult, "diagnostics"> & {
14
26
  diagnostics?: ITtscCompilerDiagnostic[];
15
27
  };
28
+ /**
29
+ * Normalise a raw spawn result into a `TtscBuildResult`.
30
+ *
31
+ * When `diagnostics` is absent they are parsed from the text output. When the
32
+ * process exited non-zero but stderr is empty and stdout is non-empty, stdout
33
+ * is moved to stderr so the error is visible to callers who only check stderr.
34
+ */
16
35
  export declare function normalizeBuildOutput(result: PartialBuildResult, cwd?: string): TtscBuildResult;
17
36
  export {};
@@ -6,15 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runBuild = runBuild;
7
7
  exports.appendBuildOutput = appendBuildOutput;
8
8
  exports.normalizeBuildOutput = normalizeBuildOutput;
9
- const node_child_process_1 = require("node:child_process");
10
- const node_fs_1 = __importDefault(require("node:fs"));
11
9
  const node_path_1 = __importDefault(require("node:path"));
12
10
  const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
13
11
  const resolveProjectConfig_1 = require("./project/resolveProjectConfig");
14
12
  const resolveBinary_1 = require("./resolveBinary");
15
13
  const resolveTsgo_1 = require("./resolveTsgo");
16
14
  const sharedHostHelpers_1 = require("./sharedHostHelpers");
17
- /** Merge spawn env without clobbering unrelated vars. */
15
+ const spawnNative_1 = require("./spawnNative");
16
+ /**
17
+ * Merge extra environment variables over `process.env`, always injecting
18
+ * `TTSC_NODE_BINARY` so child processes can re-invoke the same Node.js binary
19
+ * without searching `PATH`.
20
+ */
18
21
  function mergeEnv(extra) {
19
22
  const base = {
20
23
  ...process.env,
@@ -24,6 +27,12 @@ function mergeEnv(extra) {
24
27
  return base;
25
28
  return { ...base, ...extra };
26
29
  }
30
+ /**
31
+ * Build the environment for a native plugin spawn. Injects `TTSC_TSGO_BINARY`
32
+ * and `TTSC_TTSX_BINARY` alongside the base env from `mergeEnv`. For
33
+ * transform-stage plugins, also passes `TTSC_LINKED_PLUGINS_JSON` containing
34
+ * any linked sources so they run inside the same process as the host plugin.
35
+ */
27
36
  function nativePluginEnv(extra, execution, plugin) {
28
37
  const env = mergeEnv({
29
38
  TTSC_TSGO_BINARY: process.env.TTSC_TSGO_BINARY ?? execution.tsgo.binary,
@@ -39,40 +48,6 @@ function nativePluginEnv(extra, execution, plugin) {
39
48
  }
40
49
  return env;
41
50
  }
42
- function spawnBinary(binary, args, options) {
43
- const viaNode = /\.(?:[cm]?js|ts)$/i.test(binary);
44
- if (!viaNode) {
45
- ensureExecutable(binary);
46
- }
47
- return (0, node_child_process_1.spawnSync)(viaNode ? process.execPath : binary, viaNode ? [binary, ...args] : [...args], {
48
- cwd: options.cwd,
49
- env: options.env,
50
- encoding: options.encoding,
51
- maxBuffer: 1024 * 1024 * 256,
52
- windowsHide: true,
53
- });
54
- }
55
- function ensureExecutable(binary) {
56
- if (process.platform === "win32") {
57
- return;
58
- }
59
- try {
60
- const mode = node_fs_1.default.statSync(binary).mode & 0o777;
61
- if ((mode & 0o111) !== 0) {
62
- return;
63
- }
64
- node_fs_1.default.chmodSync(binary, mode | 0o755);
65
- }
66
- catch {
67
- /* keep the original spawn error path */
68
- }
69
- }
70
- function outputText(value) {
71
- if (value == null) {
72
- return "";
73
- }
74
- return typeof value === "string" ? value : value.toString("utf8");
75
- }
76
51
  /**
77
52
  * Run `ttsc` against a tsconfig. Returns once the binary exits so the CLI can
78
53
  * decide how to surface diagnostics. Does not throw on non-zero exit.
@@ -152,12 +127,21 @@ function runBuild(options = {}) {
152
127
  });
153
128
  return runTsgoBuild(execution, options, args);
154
129
  }
130
+ /**
131
+ * Dispatch a build through the shared-host native plugin. The host plugin is
132
+ * the one that owns the process (non-linked); all other transform plugins ride
133
+ * inside it via the `--plugins-json` flag.
134
+ */
155
135
  function buildWithNativeCompilerPlugins(options, execution, plugins) {
156
136
  const host = (0, sharedHostHelpers_1.selectSharedHostPlugin)(plugins);
157
137
  return runNativePluginCommand(host, createNativeBuildArgs(execution, options, plugins), options, execution, "ttsc.build");
158
138
  }
139
+ /**
140
+ * Run `tsgo -p <tsconfig> [extraArgs]` and return the normalized result. Used
141
+ * for the no-emit type-check pass that precedes file emission.
142
+ */
159
143
  function runTsgo(execution, extraArgs, options) {
160
- const res = spawnBinary(execution.tsgo.binary, [
144
+ const res = (0, spawnNative_1.spawnNative)(execution.tsgo.binary, [
161
145
  "-p",
162
146
  execution.tsconfig,
163
147
  ...extraArgs,
@@ -175,12 +159,17 @@ function runTsgo(execution, extraArgs, options) {
175
159
  }
176
160
  return normalizeBuildOutput({
177
161
  status: res.status ?? 1,
178
- stdout: outputText(res.stdout),
179
- stderr: outputText(res.stderr),
162
+ stdout: (0, spawnNative_1.outputText)(res.stdout),
163
+ stderr: (0, spawnNative_1.outputText)(res.stderr),
180
164
  }, execution.projectRoot);
181
165
  }
166
+ /**
167
+ * Run `tsgo` with the full emit arguments and parse `TSFILE:` lines from stdout
168
+ * into `emittedFiles`. The TSFILE lines are stripped before the result is
169
+ * returned so they do not appear in the user-facing output.
170
+ */
182
171
  function runTsgoBuild(execution, options, args) {
183
- const res = spawnBinary(execution.tsgo.binary, args, {
172
+ const res = (0, spawnNative_1.spawnNative)(execution.tsgo.binary, args, {
184
173
  cwd: execution.projectRoot,
185
174
  env: mergeEnv(options.env),
186
175
  encoding: "utf8",
@@ -193,8 +182,8 @@ function runTsgoBuild(execution, options, args) {
193
182
  }
194
183
  const result = {
195
184
  status: res.status ?? 1,
196
- stdout: outputText(res.stdout),
197
- stderr: outputText(res.stderr),
185
+ stdout: (0, spawnNative_1.outputText)(res.stdout),
186
+ stderr: (0, spawnNative_1.outputText)(res.stderr),
198
187
  };
199
188
  const emittedFiles = parseEmittedFiles(result.stdout);
200
189
  if (emittedFiles.length !== 0) {
@@ -202,6 +191,7 @@ function runTsgoBuild(execution, options, args) {
202
191
  }
203
192
  return normalizeBuildOutput({ ...result, emittedFiles }, execution.projectRoot);
204
193
  }
194
+ /** Build the argument list for a direct `tsgo` build invocation. */
205
195
  function createTsgoBuildArgs(execution, options, flags) {
206
196
  const args = ["-p", execution.tsconfig];
207
197
  if (options.emit === true) {
@@ -219,9 +209,14 @@ function createTsgoBuildArgs(execution, options, flags) {
219
209
  args.push(...createTsgoDiagnosticArgs(options));
220
210
  return args;
221
211
  }
212
+ /**
213
+ * Return `["--pretty", "false"]` when structured diagnostics are requested so
214
+ * that the output can be parsed line-by-line, or an empty array otherwise.
215
+ */
222
216
  function createTsgoDiagnosticArgs(options) {
223
217
  return options.structuredDiagnostics === true ? ["--pretty", "false"] : [];
224
218
  }
219
+ /** Build the argument list for a native plugin `build`/`check` invocation. */
225
220
  function createNativeBuildArgs(execution, options, plugins) {
226
221
  const args = [
227
222
  options.emit === false ? "check" : "build",
@@ -246,6 +241,7 @@ function createNativeBuildArgs(execution, options, plugins) {
246
241
  }
247
242
  return args;
248
243
  }
244
+ /** Build the argument list for a native plugin check/fix/format invocation. */
249
245
  function createNativeCheckArgs(execution, options) {
250
246
  const args = [
251
247
  nativeCheckSubcommand(options),
@@ -277,6 +273,10 @@ function nativeCheckSubcommand(options) {
277
273
  return "fix";
278
274
  return "check";
279
275
  }
276
+ /**
277
+ * Serialize the plugin list to a compact JSON string for `--plugins-json=`.
278
+ * Only the fields the native binary protocol requires are included.
279
+ */
280
280
  function serializeNativePlugins(plugins) {
281
281
  return JSON.stringify(plugins.map((plugin) => ({
282
282
  config: plugin.config,
@@ -284,6 +284,10 @@ function serializeNativePlugins(plugins) {
284
284
  stage: plugin.stage,
285
285
  })));
286
286
  }
287
+ /**
288
+ * Run every check-stage plugin in order, short-circuiting on the first non-zero
289
+ * exit. Aggregates diagnostics and output across all check plugins.
290
+ */
287
291
  function runNativeCheckPlugins(options, execution) {
288
292
  let out = {
289
293
  diagnostics: [],
@@ -300,8 +304,13 @@ function runNativeCheckPlugins(options, execution) {
300
304
  }
301
305
  return out;
302
306
  }
307
+ /**
308
+ * Spawn a single native plugin binary with the given args and return the
309
+ * normalized build result. `label` is used in the thrown error message so the
310
+ * caller's context (e.g. `"ttsc.check"` or `"ttsc.build"`) is preserved.
311
+ */
303
312
  function runNativePluginCommand(plugin, args, options, execution, label) {
304
- const res = spawnBinary(plugin.binary, args, {
313
+ const res = (0, spawnNative_1.spawnNative)(plugin.binary, args, {
305
314
  cwd: execution.projectRoot,
306
315
  env: nativePluginEnv(options.env, execution, plugin),
307
316
  encoding: "utf8",
@@ -311,10 +320,18 @@ function runNativePluginCommand(plugin, args, options, execution, label) {
311
320
  }
312
321
  return normalizeBuildOutput({
313
322
  status: res.status ?? 1,
314
- stdout: outputText(res.stdout),
315
- stderr: outputText(res.stderr),
323
+ stdout: (0, spawnNative_1.outputText)(res.stdout),
324
+ stderr: (0, spawnNative_1.outputText)(res.stderr),
316
325
  }, execution.projectRoot);
317
326
  }
327
+ /**
328
+ * Merge two `TtscBuildResult` values into one.
329
+ *
330
+ * - `status`: the right status wins unless it is 0 (failure propagates).
331
+ * - `diagnostics`: concatenated left then right.
332
+ * - `emittedFiles`: right wins when present, otherwise left is kept.
333
+ * - `stdout`/`stderr`: concatenated left then right.
334
+ */
318
335
  function appendBuildOutput(left, right) {
319
336
  return normalizeBuildOutput({
320
337
  diagnostics: [...left.diagnostics, ...right.diagnostics],
@@ -324,6 +341,11 @@ function appendBuildOutput(left, right) {
324
341
  stderr: left.stderr + right.stderr,
325
342
  });
326
343
  }
344
+ /**
345
+ * Resolve all runtime context needed for a build: cwd, tsconfig path, project
346
+ * root, tsgo binary location, and the loaded native plugin list. Centralised
347
+ * here so every code path in `runBuild` shares the same resolution logic.
348
+ */
327
349
  function resolveExecutionContext(options) {
328
350
  const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
329
351
  const tsconfig = (0, resolveProjectConfig_1.resolveProjectConfig)({
@@ -351,6 +373,10 @@ function resolveExecutionContext(options) {
351
373
  tsconfig,
352
374
  };
353
375
  }
376
+ /**
377
+ * Extract `TSFILE: <path>` lines from tsgo stdout and return the absolute
378
+ * paths. tsgo emits these when `--listEmittedFiles` is passed.
379
+ */
354
380
  function parseEmittedFiles(stdout) {
355
381
  const out = [];
356
382
  for (const line of stdout.split(/\r?\n/)) {
@@ -361,6 +387,10 @@ function parseEmittedFiles(stdout) {
361
387
  }
362
388
  return out;
363
389
  }
390
+ /**
391
+ * Remove `TSFILE:` lines from tsgo stdout so they do not appear in the
392
+ * user-facing output after they have been parsed into `emittedFiles`.
393
+ */
364
394
  function stripEmittedFileLines(stdout) {
365
395
  return stdout
366
396
  .split(/\r?\n/)
@@ -368,6 +398,13 @@ function stripEmittedFileLines(stdout) {
368
398
  .join("\n")
369
399
  .replace(/\n+$/, "");
370
400
  }
401
+ /**
402
+ * Normalise a raw spawn result into a `TtscBuildResult`.
403
+ *
404
+ * When `diagnostics` is absent they are parsed from the text output. When the
405
+ * process exited non-zero but stderr is empty and stdout is non-empty, stdout
406
+ * is moved to stderr so the error is visible to callers who only check stderr.
407
+ */
371
408
  function normalizeBuildOutput(result, cwd) {
372
409
  const diagnostics = result.diagnostics ?? parseCompilerDiagnostics(result, cwd);
373
410
  if (result.status === 0 || result.stderr.trim().length !== 0) {
@@ -384,6 +421,11 @@ function normalizeBuildOutput(result, cwd) {
384
421
  stderr: result.stdout,
385
422
  };
386
423
  }
424
+ /**
425
+ * Parse structured diagnostics from the combined stderr+stdout text when the
426
+ * caller did not supply pre-parsed diagnostics. ANSI escape codes are stripped
427
+ * and `TSFILE:` / `Found N errors` summary lines are skipped.
428
+ */
387
429
  function parseCompilerDiagnostics(result, cwd) {
388
430
  const lines = stripAnsi(`${result.stderr}\n${result.stdout}`).split(/\r?\n/);
389
431
  const out = [];
@@ -407,6 +449,16 @@ function parseCompilerDiagnostics(result, cwd) {
407
449
  }
408
450
  return out;
409
451
  }
452
+ /**
453
+ * Try to parse a single line as a TypeScript compiler diagnostic in one of
454
+ * three formats:
455
+ *
456
+ * - `file:line:col - category TSxxxx: message` (colon-separated, tsgo style)
457
+ * - `file(line,col): category TSxxxx: message` (paren style, classic tsc)
458
+ * - `category TSxxxx: message` (global, no file)
459
+ *
460
+ * Returns `null` when the line does not match any format.
461
+ */
410
462
  function parseDiagnosticLine(line, cwd) {
411
463
  const colonMatch = line.match(/^(.+):(\d+):(\d+)\s+-\s+(error|warning|suggestion|message)\s+([A-Z]+)?(\d+|[A-Z][A-Z0-9_-]*):\s+(.+)$/i);
412
464
  if (colonMatch) {
@@ -441,12 +493,21 @@ function parseDiagnosticLine(line, cwd) {
441
493
  messageText: globalMatch[4],
442
494
  };
443
495
  }
496
+ /**
497
+ * Return an absolute file path. When `file` is already absolute it is returned
498
+ * unchanged; relative paths are resolved against `cwd` when available.
499
+ */
444
500
  function normalizeDiagnosticFile(file, cwd) {
445
501
  if (node_path_1.default.isAbsolute(file) || cwd === undefined) {
446
502
  return file;
447
503
  }
448
504
  return node_path_1.default.resolve(cwd, file);
449
505
  }
506
+ /**
507
+ * Map a raw category string (`"error"`, `"warning"`, `"suggestion"`,
508
+ * `"message"`) to the canonical `ITtscCompilerDiagnostic.Category`. Any
509
+ * unrecognised value is coerced to `"error"`.
510
+ */
450
511
  function normalizeDiagnosticCategory(value) {
451
512
  const lowered = value.toLowerCase();
452
513
  return lowered === "warning" ||
@@ -455,9 +516,14 @@ function normalizeDiagnosticCategory(value) {
455
516
  ? lowered
456
517
  : "error";
457
518
  }
519
+ /**
520
+ * Parse a diagnostic code as a number when it is all digits (TS numeric codes
521
+ * like `2322`), or keep it as a string for plugin-defined alphanumeric codes.
522
+ */
458
523
  function normalizeDiagnosticCode(value) {
459
524
  return /^\d+$/.test(value) ? Number(value) : value;
460
525
  }
526
+ /** Strip ANSI escape sequences from `text` for line-by-line diagnostic parsing. */
461
527
  function stripAnsi(text) {
462
528
  return text.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, "");
463
529
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../../src/compiler/internal/runBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../../src/compiler/internal/runBuild.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
1
  import type { TtscSingleFileEmitOptions } from "../../structures/internal/TtscSingleFileEmitOptions";
2
- /** Emit one source file by building its project into a temporary directory. */
2
+ /**
3
+ * Emit one source file by building its project into a temporary directory.
4
+ *
5
+ * The full project is compiled with `forceListEmittedFiles` so that the emitted
6
+ * file list is available for `resolveEmittedJavaScript`. The temp directory is
7
+ * always cleaned up in the `finally` block, even on error.
8
+ *
9
+ * @returns The transformed JavaScript source text.
10
+ * @throws When the build exits non-zero or no output is produced for the file.
11
+ */
3
12
  export declare function runSingleFileEmit(options: TtscSingleFileEmitOptions): string;
@@ -10,7 +10,16 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const resolveProjectConfig_1 = require("./project/resolveProjectConfig");
11
11
  const resolveEmittedJavaScript_1 = require("./resolveEmittedJavaScript");
12
12
  const runBuild_1 = require("./runBuild");
13
- /** Emit one source file by building its project into a temporary directory. */
13
+ /**
14
+ * Emit one source file by building its project into a temporary directory.
15
+ *
16
+ * The full project is compiled with `forceListEmittedFiles` so that the emitted
17
+ * file list is available for `resolveEmittedJavaScript`. The temp directory is
18
+ * always cleaned up in the `finally` block, even on error.
19
+ *
20
+ * @returns The transformed JavaScript source text.
21
+ * @throws When the build exits non-zero or no output is produced for the file.
22
+ */
14
23
  function runSingleFileEmit(options) {
15
24
  const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
16
25
  const sourceFile = realpathIfExists(node_path_1.default.isAbsolute(options.file)
@@ -61,6 +70,10 @@ function runSingleFileEmit(options) {
61
70
  node_fs_1.default.rmSync(outDir, { recursive: true, force: true });
62
71
  }
63
72
  }
73
+ /**
74
+ * Resolve symlinks on `file` when it exists; return the original path when the
75
+ * file is not yet on disk (e.g. a synthetic path used in tests).
76
+ */
64
77
  function realpathIfExists(file) {
65
78
  try {
66
79
  return node_fs_1.default.realpathSync(file);
@@ -1 +1 @@
1
- {"version":3,"file":"runSingleFileEmit.js","sourceRoot":"","sources":["../../../src/compiler/internal/runSingleFileEmit.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAG7B,yEAAsE;AACtE,yEAAsE;AACtE,yCAAsC;AAEtC,+EAA+E;AAC/E,2BAAkC,OAAkC;IAClE,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,gBAAgB,CACjC,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CACpC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,2CAAoB,EAAC;QACpC,GAAG;QACH,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,iBAAE,CAAC,WAAW,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC;YACtB,GAAG,OAAO;YACV,GAAG;YACH,IAAI,EAAE,IAAI;YACV,qBAAqB,EAAE,IAAI;YAC3B,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,+BAA+B;gBAC7B,MAAM,CAAC,MAAM;gBACb,IAAI;gBACJ,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CACnC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,mDAAwB,EAAC;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM;YACN,WAAW;YACX,UAAU;SACX,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,iDAAiD,UAAU,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;gBACzC,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,iBAAE,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,iBAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runSingleFileEmit.js","sourceRoot":"","sources":["../../../src/compiler/internal/runSingleFileEmit.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAG7B,yEAAsE;AACtE,yEAAsE;AACtE,yCAAsC;AAEtC;;;;;;;;;GASG;AACH,2BAAkC,OAAkC;IAClE,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,gBAAgB,CACjC,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CACpC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,2CAAoB,EAAC;QACpC,GAAG;QACH,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,iBAAE,CAAC,WAAW,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC;YACtB,GAAG,OAAO;YACV,GAAG;YACH,IAAI,EAAE,IAAI;YACV,qBAAqB,EAAE,IAAI;YAC3B,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,+BAA+B;gBAC7B,MAAM,CAAC,MAAM;gBACb,IAAI;gBACJ,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CACnC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,mDAAwB,EAAC;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM;YACN,WAAW;YACX,UAAU;SACX,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,iDAAiD,UAAU,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;gBACzC,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,iBAAE,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,iBAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -23,4 +23,9 @@ export declare function assertSharedHostCompatibility(plugins: readonly ITtscLoa
23
23
  * transform wins when one is present.
24
24
  */
25
25
  export declare function selectSharedHostPlugin(plugins: readonly ITtscLoadedNativePlugin[]): ITtscLoadedNativePlugin;
26
+ /**
27
+ * Return every plugin whose transform source is linked into another host binary
28
+ * rather than owning the process. The host binary passes these via
29
+ * `TTSC_LINKED_PLUGINS_JSON` so their Go code runs inside the same process.
30
+ */
26
31
  export declare function linkedTransformPlugins(plugins: readonly ITtscLoadedNativePlugin[]): ITtscLoadedNativePlugin[];
@@ -49,9 +49,13 @@ function assertSharedHostCompatibility(plugins, pass) {
49
49
  * transform wins when one is present.
50
50
  */
51
51
  function selectSharedHostPlugin(plugins) {
52
- return (plugins.find((plugin) => !isLinkedTransform(plugin)) ??
53
- plugins[0]);
52
+ return plugins.find((plugin) => !isLinkedTransform(plugin)) ?? plugins[0];
54
53
  }
54
+ /**
55
+ * Return every plugin whose transform source is linked into another host binary
56
+ * rather than owning the process. The host binary passes these via
57
+ * `TTSC_LINKED_PLUGINS_JSON` so their Go code runs inside the same process.
58
+ */
55
59
  function linkedTransformPlugins(plugins) {
56
60
  return plugins.filter(isLinkedTransform);
57
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sharedHostHelpers.js","sourceRoot":"","sources":["../../../src/compiler/internal/sharedHostHelpers.ts"],"names":[],"mappings":";;;;;;AAEA;;;GAGG;AACH,2BACE,MAA+B;IAE/B,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,uCACE,OAA2C,EAC3C,IAAiC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG;QACpB,GAAG,IAAI,GAAG,CACR,OAAO;aACJ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAClC;KACF,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GACV,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,2EAA2E,CAAC;IAClF,MAAM,IAAI,KAAK,CACb,QAAQ;QACN,MAAM;QACN,iEAAiE,CACpE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,gCACE,OAA2C;IAE3C,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC,CAAE,CACZ,CAAC;AACJ,CAAC;AAED,gCACE,OAA2C;IAE3C,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"sharedHostHelpers.js","sourceRoot":"","sources":["../../../src/compiler/internal/sharedHostHelpers.ts"],"names":[],"mappings":";;;;;;AAEA;;;GAGG;AACH,2BAAkC,MAA+B;IAC/D,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,uCACE,OAA2C,EAC3C,IAAiC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG;QACpB,GAAG,IAAI,GAAG,CACR,OAAO;aACJ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAClC;KACF,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GACV,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,2EAA2E,CAAC;IAClF,MAAM,IAAI,KAAK,CACb,QAAQ;QACN,MAAM;QACN,iEAAiE,CACpE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,gCACE,OAA2C;IAE3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,gCACE,OAA2C;IAE3C,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Spawn a native binary (or a Node.js script when the path has a JS/TS
3
+ * extension) with the given args and return the `spawnSync` result. Sets a
4
+ * generous 256 MiB output buffer so large projects do not truncate.
5
+ *
6
+ * When `options.encoding` is omitted it defaults to `"utf8"`. Pass an explicit
7
+ * value when the caller needs a different encoding or raw `Buffer` output.
8
+ */
9
+ export declare function spawnNative(binary: string, args: readonly string[], options: {
10
+ cwd?: string;
11
+ env?: NodeJS.ProcessEnv;
12
+ encoding?: BufferEncoding;
13
+ }): import("node:child_process").SpawnSyncReturns<string>;
14
+ /**
15
+ * Ensure the binary has the executable bit set on POSIX systems. Silently skips
16
+ * on Windows and swallows `chmod` errors to let the original spawn error
17
+ * surface instead of masking it with a permission error.
18
+ */
19
+ export declare function ensureExecutable(binary: string): void;
20
+ /** Coerce a `spawnSync` output value to a plain string, defaulting to `""`. */
21
+ export declare function outputText(value: string | Buffer | null | undefined): string;