ttsc 0.8.0 → 0.9.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.
Files changed (84) hide show
  1. package/README.md +75 -66
  2. package/cmd/ttsc/api_compile.go +5 -1
  3. package/driver/program.go +23 -1
  4. package/driver/rewrite.go +126 -9
  5. package/driver/rewrite_test.go +52 -0
  6. package/lib/TtscCompiler.js +28 -46
  7. package/lib/TtscCompiler.js.map +1 -1
  8. package/lib/compiler/internal/buildNativeCompiler.js +8 -38
  9. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  10. package/lib/compiler/internal/compileProjectInMemory.js +36 -63
  11. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  12. package/lib/compiler/internal/project/readProjectConfig.js +108 -60
  13. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  14. package/lib/compiler/internal/project/resolveProjectConfig.js +15 -45
  15. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  16. package/lib/compiler/internal/resolveBinary.js +10 -40
  17. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  18. package/lib/compiler/internal/resolveEmittedJavaScript.js +21 -48
  19. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  20. package/lib/compiler/internal/resolveTsgo.js +14 -44
  21. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  22. package/lib/compiler/internal/runBuild.d.ts +7 -0
  23. package/lib/compiler/internal/runBuild.js +47 -66
  24. package/lib/compiler/internal/runBuild.js.map +1 -1
  25. package/lib/compiler/internal/runSingleFileEmit.js +18 -48
  26. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  27. package/lib/compiler/internal/transformProjectInMemory.js +41 -75
  28. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  29. package/lib/launcher/internal/getCompilerVersionText.js +7 -37
  30. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  31. package/lib/launcher/internal/prepareExecution.js +48 -69
  32. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  33. package/lib/launcher/internal/runTtsc.js +53 -64
  34. package/lib/launcher/internal/runTtsc.js.map +1 -1
  35. package/lib/launcher/internal/runTtsx.js +328 -57
  36. package/lib/launcher/internal/runTtsx.js.map +1 -1
  37. package/lib/plugin/internal/buildSourcePlugin.d.ts +8 -0
  38. package/lib/plugin/internal/buildSourcePlugin.js +179 -125
  39. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  40. package/lib/plugin/internal/loadProjectPlugins.d.ts +2 -0
  41. package/lib/plugin/internal/loadProjectPlugins.js +197 -9
  42. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  43. package/lib/structures/ITtscCompilerContext.d.ts +16 -3
  44. package/lib/structures/ITtscCompilerResult.d.ts +4 -0
  45. package/lib/structures/ITtscCompilerTransformation.d.ts +2 -0
  46. package/lib/structures/ITtscPluginFactoryContext.d.ts +6 -3
  47. package/lib/structures/ITtscProjectPluginConfig.d.ts +8 -7
  48. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +2 -0
  49. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +2 -0
  50. package/lib/structures/internal/TtscCommonOptions.d.ts +2 -0
  51. package/package.json +9 -14
  52. package/shim/diagnosticwriter/lint.go +8 -0
  53. package/src/TtscCompiler.ts +20 -5
  54. package/src/compiler/internal/buildNativeCompiler.ts +2 -2
  55. package/src/compiler/internal/compileProjectInMemory.ts +21 -16
  56. package/src/compiler/internal/project/readProjectConfig.ts +134 -35
  57. package/src/compiler/internal/project/resolveProjectConfig.ts +2 -2
  58. package/src/compiler/internal/resolveBinary.ts +2 -2
  59. package/src/compiler/internal/resolveEmittedJavaScript.ts +11 -7
  60. package/src/compiler/internal/resolveTsgo.ts +2 -2
  61. package/src/compiler/internal/runBuild.ts +34 -21
  62. package/src/compiler/internal/runSingleFileEmit.ts +3 -3
  63. package/src/compiler/internal/transformProjectInMemory.ts +37 -37
  64. package/src/launcher/internal/getCompilerVersionText.ts +2 -2
  65. package/src/launcher/internal/prepareExecution.ts +14 -4
  66. package/src/launcher/internal/runTtsc.ts +30 -4
  67. package/src/launcher/internal/runTtsx.ts +377 -26
  68. package/src/plugin/internal/buildSourcePlugin.ts +127 -32
  69. package/src/plugin/internal/loadProjectPlugins.ts +266 -10
  70. package/src/structures/ITtscCompilerContext.ts +17 -3
  71. package/src/structures/ITtscCompilerResult.ts +5 -0
  72. package/src/structures/ITtscCompilerTransformation.ts +3 -0
  73. package/src/structures/ITtscPluginFactoryContext.ts +6 -3
  74. package/src/structures/ITtscProjectPluginConfig.ts +8 -7
  75. package/src/structures/internal/ITtscParsedProjectConfig.ts +2 -0
  76. package/src/structures/internal/ITtscProjectLocatorOptions.ts +2 -0
  77. package/src/structures/internal/TtscCommonOptions.ts +2 -0
  78. package/utility/host.go +610 -18
  79. package/utility/host_test.go +162 -0
  80. package/test/compiler.test.ts +0 -422
  81. package/test/platform.test.ts +0 -12
  82. package/test/project.test.ts +0 -197
  83. package/test/source-build.test.ts +0 -45
  84. package/test/tsgo.test.ts +0 -69
@@ -1,101 +1,89 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
35
5
  Object.defineProperty(exports, "__esModule", { value: true });
36
6
  exports.buildSourcePlugin = buildSourcePlugin;
7
+ exports.computeCacheKey = computeCacheKey;
37
8
  const node_child_process_1 = require("node:child_process");
38
- const crypto = __importStar(require("node:crypto"));
39
- const fs = __importStar(require("node:fs"));
9
+ const node_crypto_1 = __importDefault(require("node:crypto"));
10
+ const node_fs_1 = __importDefault(require("node:fs"));
40
11
  const node_module_1 = require("node:module");
41
- const path = __importStar(require("node:path"));
12
+ const node_os_1 = __importDefault(require("node:os"));
13
+ const node_path_1 = __importDefault(require("node:path"));
42
14
  const GO_MOD_SEARCH_MAX_DEPTH = 3;
43
- const SKIP_DIRS = new Set([
44
- "node_modules",
45
- ".git",
46
- "dist",
47
- "build",
48
- "vendor",
49
- "lib",
50
- ]);
15
+ const PRUNE_DIRS = new Set(["node_modules", ".git", ".ttsc"]);
16
+ const GENERATED_WORKSPACE_FILES = new Set(["go.work", "go.work.sum"]);
51
17
  /** Build one Go source plugin into a cached executable. */
52
18
  function buildSourcePlugin(opts) {
53
19
  const { dir, entry, source } = resolveSourceBuildTarget(opts);
20
+ const overlayDirs = opts.overlayDirs ?? findTtscOverlayDirs();
21
+ const goBinary = resolveGoCompiler();
54
22
  const key = computeCacheKey({
55
23
  dir,
56
24
  entry,
25
+ goBinary,
26
+ overlayDirs,
57
27
  ttscVersion: opts.ttscVersion,
58
28
  tsgoVersion: opts.tsgoVersion,
59
29
  });
60
30
  const root = resolvePluginCacheRoot(opts.baseDir, opts.cacheDir);
61
- const cacheDir = path.join(root, key);
31
+ const cacheDir = node_path_1.default.join(root, key);
62
32
  const binaryName = process.platform === "win32" ? "plugin.exe" : "plugin";
63
- const binaryPath = path.join(cacheDir, binaryName);
64
- if (fs.existsSync(binaryPath)) {
33
+ const binaryPath = node_path_1.default.join(cacheDir, binaryName);
34
+ if (node_fs_1.default.existsSync(binaryPath)) {
65
35
  return binaryPath;
66
36
  }
67
- fs.mkdirSync(cacheDir, { recursive: true });
37
+ node_fs_1.default.mkdirSync(cacheDir, { recursive: true });
68
38
  const label = opts.label ?? "source plugin";
69
39
  if (opts.quiet !== true) {
70
40
  process.stderr.write(`ttsc: building ${label} "${opts.pluginName}" from ${source} (this runs once per cache key)\n`);
71
41
  }
72
- const scratchDir = path.join(root, `scratch-${key}-${process.pid}-${Date.now()}`);
42
+ const scratchDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), `ttsc-plugin-${key}-`));
73
43
  try {
74
44
  materializeScratchDir(dir, scratchDir);
75
- writeGoWork(scratchDir, opts.overlayDirs ?? findTtscOverlayDirs());
45
+ writeGoWork(scratchDir, overlayDirs);
76
46
  const scratchBinaryName = process.platform === "win32" ? ".ttsc-plugin.exe" : ".ttsc-plugin";
77
- runGoBuild(scratchDir, entry, scratchBinaryName, opts.pluginName);
78
- const builtBinary = path.join(scratchDir, scratchBinaryName);
79
- fs.renameSync(builtBinary, binaryPath);
80
- if (process.platform !== "win32") {
81
- fs.chmodSync(binaryPath, 0o755);
82
- }
47
+ runGoBuild(scratchDir, entry, scratchBinaryName, opts.pluginName, goBinary);
48
+ const builtBinary = node_path_1.default.join(scratchDir, scratchBinaryName);
49
+ publishBuiltBinary(builtBinary, binaryPath);
83
50
  return binaryPath;
84
51
  }
85
52
  finally {
86
- fs.rmSync(scratchDir, { recursive: true, force: true });
53
+ node_fs_1.default.rmSync(scratchDir, { recursive: true, force: true });
54
+ }
55
+ }
56
+ function publishBuiltBinary(builtBinary, binaryPath) {
57
+ const pending = `${binaryPath}.${process.pid}.${Date.now()}-${Math.random()
58
+ .toString(16)
59
+ .slice(2)}.tmp`;
60
+ node_fs_1.default.copyFileSync(builtBinary, pending);
61
+ if (process.platform !== "win32") {
62
+ node_fs_1.default.chmodSync(pending, 0o755);
63
+ }
64
+ try {
65
+ node_fs_1.default.renameSync(pending, binaryPath);
66
+ }
67
+ catch (error) {
68
+ node_fs_1.default.rmSync(pending, { force: true });
69
+ const code = error.code;
70
+ if ((code === "EEXIST" || code === "EPERM" || code === "EACCES") &&
71
+ node_fs_1.default.existsSync(binaryPath)) {
72
+ return;
73
+ }
74
+ throw error;
87
75
  }
88
76
  }
89
77
  function resolveSourceBuildTarget(opts) {
90
- const source = path.isAbsolute(opts.source)
78
+ const source = node_path_1.default.isAbsolute(opts.source)
91
79
  ? opts.source
92
- : path.resolve(opts.baseDir, opts.source);
93
- if (!fs.existsSync(source)) {
80
+ : node_path_1.default.resolve(opts.baseDir, opts.source);
81
+ if (!node_fs_1.default.existsSync(source)) {
94
82
  throw new Error(`ttsc: plugin "${opts.pluginName}" source does not exist: ${source}`);
95
83
  }
96
- const stat = fs.statSync(source);
97
- const packageDir = stat.isFile() && path.basename(source) === "go.mod"
98
- ? path.dirname(source)
84
+ const stat = node_fs_1.default.statSync(source);
85
+ const packageDir = stat.isFile() && node_path_1.default.basename(source) === "go.mod"
86
+ ? node_path_1.default.dirname(source)
99
87
  : stat.isDirectory()
100
88
  ? source
101
89
  : null;
@@ -106,8 +94,8 @@ function resolveSourceBuildTarget(opts) {
106
94
  if (goMod === null) {
107
95
  throw new Error(`ttsc: plugin "${opts.pluginName}" source must be inside a Go module with go.mod within ${GO_MOD_SEARCH_MAX_DEPTH} parent directories: ${source}`);
108
96
  }
109
- const dir = path.dirname(goMod);
110
- const rel = path.relative(dir, packageDir).replace(/\\/g, "/");
97
+ const dir = node_path_1.default.dirname(goMod);
98
+ const rel = node_path_1.default.relative(dir, packageDir).replace(/\\/g, "/");
111
99
  return {
112
100
  dir,
113
101
  entry: rel === "" ? "." : `./${rel}`,
@@ -115,15 +103,15 @@ function resolveSourceBuildTarget(opts) {
115
103
  };
116
104
  }
117
105
  function findNearestGoMod(from, maxDepth) {
118
- let current = path.resolve(from);
106
+ let current = node_path_1.default.resolve(from);
119
107
  let depth = 0;
120
108
  while (true) {
121
- const candidate = path.join(current, "go.mod");
122
- if (fs.existsSync(candidate))
109
+ const candidate = node_path_1.default.join(current, "go.mod");
110
+ if (node_fs_1.default.existsSync(candidate))
123
111
  return candidate;
124
112
  if (depth >= maxDepth)
125
113
  return null;
126
- const parent = path.dirname(current);
114
+ const parent = node_path_1.default.dirname(current);
127
115
  if (parent === current)
128
116
  return null;
129
117
  current = parent;
@@ -131,14 +119,14 @@ function findNearestGoMod(from, maxDepth) {
131
119
  }
132
120
  }
133
121
  function materializeScratchDir(source, scratch) {
134
- fs.mkdirSync(scratch, { recursive: true });
135
- fs.cpSync(source, scratch, {
122
+ node_fs_1.default.mkdirSync(scratch, { recursive: true });
123
+ node_fs_1.default.cpSync(source, scratch, {
136
124
  recursive: true,
137
125
  filter: (src) => {
138
- const base = path.basename(src);
139
- if (SKIP_DIRS.has(base))
126
+ const base = node_path_1.default.basename(src);
127
+ if (shouldPruneDirectory(base))
140
128
  return false;
141
- if (base === "go.work" || base === "go.work.sum")
129
+ if (shouldOmitSourceFile(base))
142
130
  return false;
143
131
  return true;
144
132
  },
@@ -152,7 +140,7 @@ function writeGoWork(scratchDir, useDirs) {
152
140
  const replaceLines = sourceBuildWorkspaceReplacements(useDirs);
153
141
  const replaceBlock = replaceLines.length === 0 ? "" : `\n\n${replaceLines.join("\n")}\n`;
154
142
  const goWork = `go 1.26\n\nuse (\n${useLines.join("\n")}\n)${replaceBlock}`;
155
- fs.writeFileSync(path.join(scratchDir, "go.work"), goWork, "utf8");
143
+ node_fs_1.default.writeFileSync(node_path_1.default.join(scratchDir, "go.work"), goWork, "utf8");
156
144
  }
157
145
  function sourceBuildWorkspaceReplacements(useDirs) {
158
146
  const ttscRoot = useDirs.find((dir) => hasModulePath(dir, "github.com/samchon/ttsc/packages/ttsc"));
@@ -165,7 +153,7 @@ function sourceBuildWorkspaceReplacements(useDirs) {
165
153
  }
166
154
  function hasModulePath(dir, modulePath) {
167
155
  try {
168
- const goMod = fs.readFileSync(path.join(dir, "go.mod"), "utf8");
156
+ const goMod = node_fs_1.default.readFileSync(node_path_1.default.join(dir, "go.mod"), "utf8");
169
157
  return new RegExp(`^module\\s+${escapeRegExp(modulePath)}\\s*$`, "m").test(goMod);
170
158
  }
171
159
  catch {
@@ -175,8 +163,7 @@ function hasModulePath(dir, modulePath) {
175
163
  function escapeRegExp(value) {
176
164
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
177
165
  }
178
- function runGoBuild(cwd, entry, binaryName, pluginName) {
179
- const goBinary = resolveGoCompiler();
166
+ function runGoBuild(cwd, entry, binaryName, pluginName, goBinary) {
180
167
  ensureExecutableGoToolchain(goBinary);
181
168
  const result = (0, node_child_process_1.spawnSync)(goBinary, ["build", "-o", binaryName, entry], {
182
169
  cwd,
@@ -206,32 +193,32 @@ function goBuildEnv(goBinary) {
206
193
  return env;
207
194
  }
208
195
  function inferGoRoot(goBinary) {
209
- if (!path.isAbsolute(goBinary))
196
+ if (!node_path_1.default.isAbsolute(goBinary))
210
197
  return null;
211
- const binDir = path.dirname(goBinary);
212
- if (path.basename(binDir) !== "bin")
198
+ const binDir = node_path_1.default.dirname(goBinary);
199
+ if (node_path_1.default.basename(binDir) !== "bin")
213
200
  return null;
214
- const goRoot = path.dirname(binDir);
215
- return fs.existsSync(path.join(goRoot, "src", "runtime")) ? goRoot : null;
201
+ const goRoot = node_path_1.default.dirname(binDir);
202
+ return node_fs_1.default.existsSync(node_path_1.default.join(goRoot, "src", "runtime")) ? goRoot : null;
216
203
  }
217
204
  function ensureExecutableGoToolchain(goBinary) {
218
205
  if (process.platform === "win32")
219
206
  return;
220
- if (!path.isAbsolute(goBinary) || !fs.existsSync(goBinary))
207
+ if (!node_path_1.default.isAbsolute(goBinary) || !node_fs_1.default.existsSync(goBinary))
221
208
  return;
222
209
  try {
223
- fs.chmodSync(goBinary, 0o755);
210
+ node_fs_1.default.chmodSync(goBinary, 0o755);
224
211
  const goRoot = inferGoRoot(goBinary);
225
212
  if (!goRoot)
226
213
  return;
227
- const gofmt = path.join(path.dirname(goBinary), "gofmt");
228
- if (fs.existsSync(gofmt))
229
- fs.chmodSync(gofmt, 0o755);
230
- const toolDir = path.join(goRoot, "pkg", "tool");
231
- if (!fs.existsSync(toolDir))
214
+ const gofmt = node_path_1.default.join(node_path_1.default.dirname(goBinary), "gofmt");
215
+ if (node_fs_1.default.existsSync(gofmt))
216
+ node_fs_1.default.chmodSync(gofmt, 0o755);
217
+ const toolDir = node_path_1.default.join(goRoot, "pkg", "tool");
218
+ if (!node_fs_1.default.existsSync(toolDir))
232
219
  return;
233
220
  for (const file of walkToolFiles(toolDir)) {
234
- fs.chmodSync(file, 0o755);
221
+ node_fs_1.default.chmodSync(file, 0o755);
235
222
  }
236
223
  }
237
224
  catch {
@@ -242,13 +229,13 @@ function walkToolFiles(dir) {
242
229
  const out = [];
243
230
  let entries;
244
231
  try {
245
- entries = fs.readdirSync(dir, { withFileTypes: true });
232
+ entries = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
246
233
  }
247
234
  catch {
248
235
  return out;
249
236
  }
250
237
  for (const entry of entries) {
251
- const file = path.join(dir, entry.name);
238
+ const file = node_path_1.default.join(dir, entry.name);
252
239
  if (entry.isDirectory()) {
253
240
  out.push(...walkToolFiles(file));
254
241
  }
@@ -259,13 +246,13 @@ function walkToolFiles(dir) {
259
246
  return out;
260
247
  }
261
248
  function findTtscOverlayDirs() {
262
- const ttscRoot = path.resolve(__dirname, "..", "..", "..");
249
+ const ttscRoot = node_path_1.default.resolve(__dirname, "..", "..", "..");
263
250
  const dirs = [];
264
- if (fs.existsSync(path.join(ttscRoot, "go.mod"))) {
251
+ if (node_fs_1.default.existsSync(node_path_1.default.join(ttscRoot, "go.mod"))) {
265
252
  dirs.push(ttscRoot);
266
253
  }
267
- const shimRoot = path.join(ttscRoot, "shim");
268
- if (fs.existsSync(shimRoot)) {
254
+ const shimRoot = node_path_1.default.join(ttscRoot, "shim");
255
+ if (node_fs_1.default.existsSync(shimRoot)) {
269
256
  walkForGoMod(shimRoot, dirs);
270
257
  }
271
258
  dirs.sort();
@@ -274,7 +261,7 @@ function findTtscOverlayDirs() {
274
261
  function walkForGoMod(dir, out) {
275
262
  let entries;
276
263
  try {
277
- entries = fs.readdirSync(dir, { withFileTypes: true });
264
+ entries = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
278
265
  }
279
266
  catch {
280
267
  return;
@@ -291,28 +278,28 @@ function walkForGoMod(dir, out) {
291
278
  for (const entry of entries) {
292
279
  if (!entry.isDirectory())
293
280
  continue;
294
- if (SKIP_DIRS.has(entry.name))
281
+ if (shouldPruneDirectory(entry.name))
295
282
  continue;
296
- walkForGoMod(path.join(dir, entry.name), out);
283
+ walkForGoMod(node_path_1.default.join(dir, entry.name), out);
297
284
  }
298
285
  }
299
286
  function resolvePluginCacheRoot(projectRoot, cacheDir) {
300
287
  if (cacheDir) {
301
- return path.resolve(cacheDir, "plugins");
288
+ return node_path_1.default.resolve(projectRoot, cacheDir, "plugins");
302
289
  }
303
290
  if (process.env.TTSC_CACHE_DIR) {
304
- return path.resolve(process.env.TTSC_CACHE_DIR, "plugins");
291
+ return node_path_1.default.resolve(process.env.TTSC_CACHE_DIR, "plugins");
305
292
  }
306
- const root = path.resolve(projectRoot);
307
- const nodeModules = path.join(root, "node_modules");
293
+ const root = node_path_1.default.resolve(projectRoot);
294
+ const nodeModules = node_path_1.default.join(root, "node_modules");
308
295
  if (isDirectory(nodeModules)) {
309
- return path.join(nodeModules, ".ttsc", "plugins");
296
+ return node_path_1.default.join(nodeModules, ".ttsc", "plugins");
310
297
  }
311
- return path.join(root, ".ttsc", "plugins");
298
+ return node_path_1.default.join(root, ".ttsc", "plugins");
312
299
  }
313
300
  function isDirectory(candidate) {
314
301
  try {
315
- return fs.statSync(candidate).isDirectory();
302
+ return node_fs_1.default.statSync(candidate).isDirectory();
316
303
  }
317
304
  catch {
318
305
  return false;
@@ -328,30 +315,41 @@ function resolveGoCompiler() {
328
315
  catch {
329
316
  /* fall through */
330
317
  }
331
- const platformPackage = path.resolve(__dirname, "..", "..", "..", "..", `ttsc-${process.platform}-${process.arch}`, "bin", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
332
- if (fs.existsSync(platformPackage))
318
+ const platformPackage = node_path_1.default.resolve(__dirname, "..", "..", "..", "..", `ttsc-${process.platform}-${process.arch}`, "bin", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
319
+ if (node_fs_1.default.existsSync(platformPackage))
333
320
  return platformPackage;
334
- const local = path.resolve(__dirname, "..", "..", "..", "..", "native", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
335
- if (fs.existsSync(local))
321
+ const local = node_path_1.default.resolve(__dirname, "..", "..", "..", "..", "native", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
322
+ if (node_fs_1.default.existsSync(local))
336
323
  return local;
337
- const homeSdk = path.join(process.env.HOME ?? "", "go-sdk", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
338
- if (fs.existsSync(homeSdk))
324
+ const homeSdk = node_path_1.default.join(process.env.HOME ?? "", "go-sdk", "go", "bin", process.platform === "win32" ? "go.exe" : "go");
325
+ if (node_fs_1.default.existsSync(homeSdk))
339
326
  return homeSdk;
340
327
  return "go";
341
328
  }
342
329
  function computeCacheKey(inputs) {
343
- const hash = crypto.createHash("sha256");
330
+ const hash = node_crypto_1.default.createHash("sha256");
344
331
  hash.update(`ttsc=${inputs.ttscVersion}\n`);
345
332
  hash.update(`tsgo=${inputs.tsgoVersion}\n`);
346
333
  hash.update(`platform=${process.platform}/${process.arch}\n`);
347
334
  hash.update(`entry=${inputs.entry}\n`);
348
- for (const file of collectSourceFiles(inputs.dir)) {
349
- const rel = path.relative(inputs.dir, file).replace(/\\/g, "/");
350
- hash.update(`f=${rel}\n`);
351
- hash.update(fs.readFileSync(file));
335
+ if (inputs.goBinary !== undefined) {
336
+ hash.update(`go=${resolveGoCompilerIdentity(inputs.goBinary)}\n`);
337
+ }
338
+ hashSourceDirectory(hash, "plugin", inputs.dir);
339
+ for (const [index, dir] of [...(inputs.overlayDirs ?? [])].sort().entries()) {
340
+ hashSourceDirectory(hash, `overlay:${index}`, dir);
352
341
  }
353
342
  return hash.digest("hex").slice(0, 32);
354
343
  }
344
+ function hashSourceDirectory(hash, label, root) {
345
+ hash.update(`dir=${label}\n`);
346
+ for (const file of collectSourceFiles(root)) {
347
+ const rel = node_path_1.default.relative(root, file).replace(/\\/g, "/");
348
+ hash.update(`f=${rel}\n`);
349
+ hash.update(node_fs_1.default.readFileSync(file));
350
+ hash.update("\n");
351
+ }
352
+ }
355
353
  function collectSourceFiles(root) {
356
354
  const out = [];
357
355
  walk(root, out);
@@ -361,29 +359,85 @@ function collectSourceFiles(root) {
361
359
  function walk(dir, out) {
362
360
  let entries;
363
361
  try {
364
- entries = fs.readdirSync(dir, { withFileTypes: true });
362
+ entries = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
365
363
  }
366
364
  catch {
367
365
  return;
368
366
  }
369
367
  for (const entry of entries) {
370
- if (SKIP_DIRS.has(entry.name))
371
- continue;
372
- const full = path.join(dir, entry.name);
368
+ const full = node_path_1.default.join(dir, entry.name);
373
369
  if (entry.isDirectory()) {
370
+ if (shouldPruneDirectory(entry.name))
371
+ continue;
374
372
  walk(full, out);
375
373
  continue;
376
374
  }
377
375
  if (!entry.isFile())
378
376
  continue;
377
+ if (shouldOmitSourceFile(entry.name))
378
+ continue;
379
379
  if (!isHashableFile(entry.name))
380
380
  continue;
381
381
  out.push(full);
382
382
  }
383
383
  }
384
+ function shouldPruneDirectory(name) {
385
+ return PRUNE_DIRS.has(name);
386
+ }
387
+ function shouldOmitSourceFile(name) {
388
+ return GENERATED_WORKSPACE_FILES.has(name);
389
+ }
384
390
  function isHashableFile(name) {
385
- if (name === "go.mod" || name === "go.sum" || name === "go.work")
386
- return true;
387
- return /\.(?:go|s|c|h|cpp|hpp)$/i.test(name);
391
+ return !name.endsWith("~");
392
+ }
393
+ function resolveGoCompilerIdentity(goBinary) {
394
+ const resolved = resolveExecutableIdentityPath(goBinary);
395
+ const version = (0, node_child_process_1.spawnSync)(goBinary, ["version"], {
396
+ encoding: "utf8",
397
+ windowsHide: true,
398
+ });
399
+ const versionText = version.error !== undefined
400
+ ? version.error.message
401
+ : `${version.status ?? 0}:${version.stdout}${version.stderr}`;
402
+ let statText = "";
403
+ try {
404
+ const stat = node_fs_1.default.statSync(resolved);
405
+ statText = `${stat.size}:${stat.mtimeMs}`;
406
+ }
407
+ catch {
408
+ statText = "missing";
409
+ }
410
+ return `${goBinary}:${resolved}:${statText}:${versionText}`;
411
+ }
412
+ function resolveExecutableIdentityPath(binary) {
413
+ if (node_path_1.default.isAbsolute(binary)) {
414
+ return resolveRealPath(binary);
415
+ }
416
+ if (binary.includes(node_path_1.default.sep)) {
417
+ return resolveRealPath(node_path_1.default.resolve(binary));
418
+ }
419
+ for (const dir of (process.env.PATH ?? "").split(node_path_1.default.delimiter)) {
420
+ if (dir.length === 0)
421
+ continue;
422
+ const candidate = node_path_1.default.join(dir, binary);
423
+ if (node_fs_1.default.existsSync(candidate)) {
424
+ return resolveRealPath(candidate);
425
+ }
426
+ if (process.platform === "win32") {
427
+ const executable = `${candidate}.exe`;
428
+ if (node_fs_1.default.existsSync(executable)) {
429
+ return resolveRealPath(executable);
430
+ }
431
+ }
432
+ }
433
+ return binary;
434
+ }
435
+ function resolveRealPath(location) {
436
+ try {
437
+ return node_fs_1.default.realpathSync(location);
438
+ }
439
+ catch {
440
+ return location;
441
+ }
388
442
  }
389
443
  //# sourceMappingURL=buildSourcePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSourcePlugin.js","sourceRoot":"","sources":["../../../src/plugin/internal/buildSourcePlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildSourcePlugin.js","sourceRoot":"","sources":["../../../src/plugin/internal/buildSourcePlugin.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,10 @@ export declare function loadProjectPlugins(options: {
7
7
  cwd?: string;
8
8
  entries?: readonly ITtscProjectPluginConfig[] | false;
9
9
  file?: string;
10
+ projectRoot?: string;
10
11
  tsconfig?: string;
11
12
  }): {
12
13
  nativePlugins: ITtscLoadedNativePlugin[];
13
14
  project: ITtscParsedProjectConfig;
14
15
  };
16
+ export declare function hasProjectPluginEntries(project: ITtscParsedProjectConfig, entries?: readonly ITtscProjectPluginConfig[] | false): boolean;