ttsc 0.3.1 → 0.4.0-dev.20260424
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +216 -302
- package/cmd/ttsc/build.go +128 -0
- package/cmd/ttsc/main.go +222 -0
- package/cmd/ttsc/main_test.go +288 -0
- package/cmd/ttsc/transform.go +166 -0
- package/driver/host.go +31 -0
- package/driver/program.go +298 -0
- package/driver/rewrite.go +315 -0
- package/go.mod +48 -0
- package/go.sum +22 -0
- package/lib/api.d.ts +91 -0
- package/lib/api.js +325 -0
- package/lib/api.js.map +1 -0
- package/lib/cli.d.ts +1 -0
- package/lib/cli.js +481 -0
- package/lib/cli.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +34 -0
- package/lib/index.js.map +1 -0
- package/lib/native.d.ts +15 -0
- package/lib/native.js +34 -0
- package/lib/native.js.map +1 -0
- package/lib/platform.d.ts +66 -0
- package/lib/platform.js +170 -0
- package/lib/platform.js.map +1 -0
- package/lib/plugin.d.ts +47 -0
- package/lib/plugin.js +150 -0
- package/lib/plugin.js.map +1 -0
- package/lib/project.d.ts +32 -0
- package/lib/project.js +303 -0
- package/lib/project.js.map +1 -0
- package/package.json +70 -63
- package/shim/ast/extra-shim.json +4 -0
- package/shim/ast/go.mod +5 -0
- package/shim/ast/shim.go +117 -0
- package/shim/bundled/extra-shim.json +1 -0
- package/shim/bundled/go.mod +5 -0
- package/shim/bundled/shim.go +19 -0
- package/shim/checker/extra-shim.json +31 -0
- package/shim/checker/go.mod +5 -0
- package/shim/checker/shim.go +146 -0
- package/shim/compiler/extra-shim.json +4 -0
- package/shim/compiler/go.mod +5 -0
- package/shim/compiler/shim.go +50 -0
- package/shim/core/extra-shim.json +4 -0
- package/shim/core/go.mod +5 -0
- package/shim/core/shim.go +11 -0
- package/shim/diagnosticwriter/go.mod +5 -0
- package/shim/diagnosticwriter/shim.go +29 -0
- package/shim/parser/extra-shim.json +4 -0
- package/shim/parser/go.mod +5 -0
- package/shim/parser/shim.go +55 -0
- package/shim/scanner/extra-shim.json +4 -0
- package/shim/scanner/go.mod +5 -0
- package/shim/scanner/shim.go +96 -0
- package/shim/tsoptions/extra-shim.json +4 -0
- package/shim/tsoptions/go.mod +5 -0
- package/shim/tsoptions/shim.go +123 -0
- package/shim/tspath/extra-shim.json +4 -0
- package/shim/tspath/go.mod +5 -0
- package/shim/tspath/shim.go +165 -0
- package/shim/vfs/cachedvfs/extra-shim.json +4 -0
- package/shim/vfs/cachedvfs/go.mod +5 -0
- package/shim/vfs/cachedvfs/shim.go +12 -0
- package/shim/vfs/extra-shim.json +4 -0
- package/shim/vfs/go.mod +5 -0
- package/shim/vfs/osvfs/extra-shim.json +4 -0
- package/shim/vfs/osvfs/go.mod +5 -0
- package/shim/vfs/osvfs/shim.go +13 -0
- package/shim/vfs/shim.go +19 -0
- package/src/api.ts +416 -0
- package/src/cli.ts +492 -0
- package/src/index.ts +18 -0
- package/src/launcher/ttsc-dev.js +42 -0
- package/src/launcher/ttsc.js +19 -0
- package/src/native.ts +60 -0
- package/src/platform.ts +163 -0
- package/src/plugin.ts +241 -0
- package/src/project.ts +330 -0
- package/test/native.test.ts +60 -0
- package/test/package.test.ts +123 -0
- package/test/platform.test.ts +58 -0
- package/test/project.test.ts +195 -0
- package/tools/gen_shims/go.mod +14 -0
- package/tools/gen_shims/go.sum +12 -0
- package/tools/gen_shims/main.go +446 -0
- package/CHANGELOG.md +0 -2
- package/bin/tsc +0 -2
- package/bin/tsserver +0 -2
- package/lib/PluginCreator.d.ts +0 -67
- package/lib/PluginCreator.js +0 -190
- package/lib/cancelationToken.d.ts +0 -0
- package/lib/cancelationToken.js +0 -2
- package/lib/loadTypescript.d.ts +0 -7
- package/lib/loadTypescript.js +0 -56
- package/lib/patchCreateProgram.d.ts +0 -21
- package/lib/patchCreateProgram.js +0 -190
- package/lib/tsc.d.ts +0 -1
- package/lib/tsc.js +0 -24
- package/lib/tsserver.d.ts +0 -0
- package/lib/tsserver.js +0 -2
- package/lib/tsserverlibrary.d.ts +0 -3
- package/lib/tsserverlibrary.js +0 -4
- package/lib/typescript.d.ts +0 -3
- package/lib/typescript.js +0 -4
- package/lib/typescriptServices.d.ts +0 -3
- package/lib/typescriptServices.js +0 -4
- package/lib/typingsInstaller.d.ts +0 -0
- package/lib/typingsInstaller.js +0 -2
- package/lib/watchGuard.d.ts +0 -0
- package/lib/watchGuard.js +0 -2
package/lib/project.js
ADDED
|
@@ -0,0 +1,303 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resolveWorkingDirectory = resolveWorkingDirectory;
|
|
37
|
+
exports.resolveAbsolutePath = resolveAbsolutePath;
|
|
38
|
+
exports.resolveProjectConfig = resolveProjectConfig;
|
|
39
|
+
exports.resolveProjectRoot = resolveProjectRoot;
|
|
40
|
+
exports.defaultCacheDirectory = defaultCacheDirectory;
|
|
41
|
+
exports.readProjectConfig = readProjectConfig;
|
|
42
|
+
exports.createTransformCacheKey = createTransformCacheKey;
|
|
43
|
+
const crypto = __importStar(require("node:crypto"));
|
|
44
|
+
const fs = __importStar(require("node:fs"));
|
|
45
|
+
const node_module_1 = require("node:module");
|
|
46
|
+
const path = __importStar(require("node:path"));
|
|
47
|
+
function resolveWorkingDirectory(cwd) {
|
|
48
|
+
return path.resolve(cwd ?? process.cwd());
|
|
49
|
+
}
|
|
50
|
+
function resolveAbsolutePath(cwd, target) {
|
|
51
|
+
return path.isAbsolute(target) ? target : path.resolve(cwd, target);
|
|
52
|
+
}
|
|
53
|
+
function resolveProjectConfig(opts = {}) {
|
|
54
|
+
const cwd = resolveWorkingDirectory(opts.cwd);
|
|
55
|
+
if (opts.tsconfig) {
|
|
56
|
+
const resolved = resolveAbsolutePath(cwd, opts.tsconfig);
|
|
57
|
+
if (!fs.existsSync(resolved)) {
|
|
58
|
+
throw new Error(`ttsc: tsconfig not found: ${resolved}`);
|
|
59
|
+
}
|
|
60
|
+
return resolveRealPath(resolved);
|
|
61
|
+
}
|
|
62
|
+
const start = opts.file
|
|
63
|
+
? resolveRealPath(resolveAbsolutePath(cwd, opts.file))
|
|
64
|
+
: cwd;
|
|
65
|
+
const from = isDirectory(start) ? start : path.dirname(start);
|
|
66
|
+
const found = findUp(from, ["tsconfig.json", "jsconfig.json"]);
|
|
67
|
+
if (!found) {
|
|
68
|
+
throw new Error(`ttsc: could not find tsconfig.json or jsconfig.json starting from ${from}`);
|
|
69
|
+
}
|
|
70
|
+
return resolveRealPath(found);
|
|
71
|
+
}
|
|
72
|
+
function resolveProjectRoot(opts = {}) {
|
|
73
|
+
return path.dirname(resolveProjectConfig(opts));
|
|
74
|
+
}
|
|
75
|
+
function defaultCacheDirectory(projectRoot, tool) {
|
|
76
|
+
return path.join(projectRoot, "node_modules", ".cache", "ttsc", tool);
|
|
77
|
+
}
|
|
78
|
+
function readProjectConfig(opts = {}) {
|
|
79
|
+
const tsconfig = resolveProjectConfig(opts);
|
|
80
|
+
const root = path.dirname(tsconfig);
|
|
81
|
+
const compilerOptions = readResolvedCompilerOptions(tsconfig);
|
|
82
|
+
return {
|
|
83
|
+
compilerOptions: {
|
|
84
|
+
outDir: compilerOptions.outDir,
|
|
85
|
+
plugins: compilerOptions.plugins,
|
|
86
|
+
},
|
|
87
|
+
path: tsconfig,
|
|
88
|
+
root,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function createTransformCacheKey(input) {
|
|
92
|
+
const hash = crypto.createHash("sha256");
|
|
93
|
+
hash.update("file\0");
|
|
94
|
+
hash.update(fs.readFileSync(input.file));
|
|
95
|
+
hash.update("\0tsconfig\0");
|
|
96
|
+
hash.update(fs.readFileSync(input.tsconfig));
|
|
97
|
+
hash.update(`\0version\0${input.version}`);
|
|
98
|
+
hash.update(`\0mode\0${input.mode ?? ""}`);
|
|
99
|
+
for (const item of input.extra ?? []) {
|
|
100
|
+
hash.update(`\0extra\0${item}`);
|
|
101
|
+
}
|
|
102
|
+
return hash.digest("hex");
|
|
103
|
+
}
|
|
104
|
+
function findUp(from, names) {
|
|
105
|
+
let current = path.resolve(from);
|
|
106
|
+
while (true) {
|
|
107
|
+
for (const name of names) {
|
|
108
|
+
const candidate = path.join(current, name);
|
|
109
|
+
if (fs.existsSync(candidate)) {
|
|
110
|
+
return candidate;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const parent = path.dirname(current);
|
|
114
|
+
if (parent === current) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
current = parent;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function isDirectory(location) {
|
|
121
|
+
try {
|
|
122
|
+
return fs.statSync(location).isDirectory();
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function isProjectPluginConfig(value) {
|
|
129
|
+
return typeof value === "object" && value !== null;
|
|
130
|
+
}
|
|
131
|
+
function resolveRealPath(location) {
|
|
132
|
+
try {
|
|
133
|
+
return fs.realpathSync(location);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return location;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function readResolvedCompilerOptions(tsconfig, seen = new Set()) {
|
|
140
|
+
const canonical = resolveRealPath(tsconfig);
|
|
141
|
+
if (seen.has(canonical)) {
|
|
142
|
+
throw new Error(`ttsc: circular tsconfig extends detected: ${canonical}`);
|
|
143
|
+
}
|
|
144
|
+
seen.add(canonical);
|
|
145
|
+
const parsed = parseJsonc(fs.readFileSync(canonical, "utf8"));
|
|
146
|
+
const own = parsed.compilerOptions;
|
|
147
|
+
const base = typeof parsed.extends === "string"
|
|
148
|
+
? readResolvedCompilerOptions(resolveExtendsConfig(canonical, parsed.extends), seen)
|
|
149
|
+
: { plugins: [] };
|
|
150
|
+
return {
|
|
151
|
+
outDir: typeof own?.outDir === "string"
|
|
152
|
+
? resolveAbsolutePath(path.dirname(canonical), own.outDir)
|
|
153
|
+
: base.outDir,
|
|
154
|
+
plugins: Array.isArray(own?.plugins)
|
|
155
|
+
? own.plugins.filter(isProjectPluginConfig)
|
|
156
|
+
: base.plugins,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function resolveExtendsConfig(tsconfig, specifier) {
|
|
160
|
+
const baseDir = path.dirname(tsconfig);
|
|
161
|
+
if (path.isAbsolute(specifier)) {
|
|
162
|
+
return resolveExistingExtendsPath(specifier);
|
|
163
|
+
}
|
|
164
|
+
if (isRelativePluginSpecifier(specifier)) {
|
|
165
|
+
return resolveExistingExtendsPath(path.resolve(baseDir, specifier));
|
|
166
|
+
}
|
|
167
|
+
const resolver = (0, node_module_1.createRequire)(tsconfig);
|
|
168
|
+
try {
|
|
169
|
+
return resolveRealPath(resolver.resolve(specifier));
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return resolveRealPath(resolver.resolve(`${specifier}.json`));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function resolveExistingExtendsPath(location) {
|
|
176
|
+
const candidates = new Set([
|
|
177
|
+
location,
|
|
178
|
+
`${location}.json`,
|
|
179
|
+
path.join(location, "tsconfig.json"),
|
|
180
|
+
]);
|
|
181
|
+
for (const candidate of candidates) {
|
|
182
|
+
if (fs.existsSync(candidate)) {
|
|
183
|
+
return resolveRealPath(candidate);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
throw new Error(`ttsc: extended tsconfig not found: ${location}`);
|
|
187
|
+
}
|
|
188
|
+
function isRelativePluginSpecifier(specifier) {
|
|
189
|
+
return (specifier === "." ||
|
|
190
|
+
specifier === ".." ||
|
|
191
|
+
specifier.startsWith("./") ||
|
|
192
|
+
specifier.startsWith("../") ||
|
|
193
|
+
specifier.startsWith(".\\") ||
|
|
194
|
+
specifier.startsWith("..\\"));
|
|
195
|
+
}
|
|
196
|
+
function parseJsonc(input) {
|
|
197
|
+
return JSON.parse(stripTrailingCommas(stripComments(input)));
|
|
198
|
+
}
|
|
199
|
+
function stripComments(input) {
|
|
200
|
+
let output = "";
|
|
201
|
+
let inBlockComment = false;
|
|
202
|
+
let inLineComment = false;
|
|
203
|
+
let inString = false;
|
|
204
|
+
let quote = "";
|
|
205
|
+
let escape = false;
|
|
206
|
+
for (let i = 0; i < input.length; i += 1) {
|
|
207
|
+
const current = input[i];
|
|
208
|
+
const next = input[i + 1];
|
|
209
|
+
if (inBlockComment) {
|
|
210
|
+
if (current === "*" && next === "/") {
|
|
211
|
+
inBlockComment = false;
|
|
212
|
+
i += 1;
|
|
213
|
+
}
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
if (inLineComment) {
|
|
217
|
+
if (current === "\n") {
|
|
218
|
+
inLineComment = false;
|
|
219
|
+
output += current;
|
|
220
|
+
}
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
if (inString) {
|
|
224
|
+
output += current;
|
|
225
|
+
if (escape) {
|
|
226
|
+
escape = false;
|
|
227
|
+
}
|
|
228
|
+
else if (current === "\\") {
|
|
229
|
+
escape = true;
|
|
230
|
+
}
|
|
231
|
+
else if (current === quote) {
|
|
232
|
+
inString = false;
|
|
233
|
+
quote = "";
|
|
234
|
+
}
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if ((current === '"' || current === "'") && !inString) {
|
|
238
|
+
inString = true;
|
|
239
|
+
quote = current;
|
|
240
|
+
output += current;
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (current == "/" && next === "/") {
|
|
244
|
+
inLineComment = true;
|
|
245
|
+
i += 1;
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (current == "/" && next === "*") {
|
|
249
|
+
inBlockComment = true;
|
|
250
|
+
i += 1;
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
output += current;
|
|
254
|
+
}
|
|
255
|
+
return output;
|
|
256
|
+
}
|
|
257
|
+
function stripTrailingCommas(input) {
|
|
258
|
+
let output = "";
|
|
259
|
+
let inString = false;
|
|
260
|
+
let quote = "";
|
|
261
|
+
let escape = false;
|
|
262
|
+
for (let i = 0; i < input.length; i += 1) {
|
|
263
|
+
const current = input[i];
|
|
264
|
+
if (inString) {
|
|
265
|
+
output += current;
|
|
266
|
+
if (escape) {
|
|
267
|
+
escape = false;
|
|
268
|
+
}
|
|
269
|
+
else if (current === "\\") {
|
|
270
|
+
escape = true;
|
|
271
|
+
}
|
|
272
|
+
else if (current === quote) {
|
|
273
|
+
inString = false;
|
|
274
|
+
quote = "";
|
|
275
|
+
}
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
if (current === '"' || current === "'") {
|
|
279
|
+
inString = true;
|
|
280
|
+
quote = current;
|
|
281
|
+
output += current;
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
if (current === ",") {
|
|
285
|
+
const next = nextNonWhitespace(input, i + 1);
|
|
286
|
+
if (next === "}" || next === "]") {
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
output += current;
|
|
291
|
+
}
|
|
292
|
+
return output;
|
|
293
|
+
}
|
|
294
|
+
function nextNonWhitespace(input, from) {
|
|
295
|
+
for (let i = from; i < input.length; i += 1) {
|
|
296
|
+
const current = input[i];
|
|
297
|
+
if (/\s/.test(current) === false) {
|
|
298
|
+
return current;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,65 +1,72 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"name": "ttsc",
|
|
3
|
+
"version": "0.4.0-dev.20260424",
|
|
4
|
+
"description": "General-purpose compiler adapter and plugin host for tsgo.",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"ttsc": "src/launcher/ttsc.js"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./lib/index.d.ts",
|
|
13
|
+
"default": "./lib/index.js"
|
|
6
14
|
},
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/samchon/ttsc"
|
|
20
|
+
},
|
|
21
|
+
"author": "Jeongho Nam",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/samchon/ttsc/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/samchon/ttsc",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "^25.3.0",
|
|
29
|
+
"@typescript/native-preview": "7.0.0-dev.20260421.2",
|
|
30
|
+
"rimraf": "^6.1.2"
|
|
31
|
+
},
|
|
32
|
+
"optionalDependencies": {
|
|
33
|
+
"@ttsc/linux-x64": "0.4.0-dev.20260424",
|
|
34
|
+
"@ttsc/linux-arm64": "0.4.0-dev.20260424",
|
|
35
|
+
"@ttsc/darwin-x64": "0.4.0-dev.20260424",
|
|
36
|
+
"@ttsc/win32-arm64": "0.4.0-dev.20260424",
|
|
37
|
+
"@ttsc/win32-x64": "0.4.0-dev.20260424",
|
|
38
|
+
"@ttsc/darwin-arm64": "0.4.0-dev.20260424"
|
|
39
|
+
},
|
|
40
|
+
"sideEffects": false,
|
|
41
|
+
"files": [
|
|
42
|
+
"README.md",
|
|
43
|
+
"cmd",
|
|
44
|
+
"driver",
|
|
45
|
+
"go.mod",
|
|
46
|
+
"go.sum",
|
|
47
|
+
"package.json",
|
|
48
|
+
"lib",
|
|
49
|
+
"shim",
|
|
50
|
+
"src",
|
|
51
|
+
"test",
|
|
52
|
+
"tools"
|
|
53
|
+
],
|
|
54
|
+
"keywords": [
|
|
55
|
+
"tsgo",
|
|
56
|
+
"transformer",
|
|
57
|
+
"plugin-host",
|
|
58
|
+
"ttsc"
|
|
59
|
+
],
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "rimraf lib && node ../../scripts/go.cjs run ./cmd/ttsc",
|
|
65
|
+
"test": "pnpm run test:ts && pnpm run test:go",
|
|
66
|
+
"test:ts": "node --test --test-reporter=spec --experimental-strip-types --experimental-specifier-resolution=node test/**/*.test.ts",
|
|
67
|
+
"test:go": "node ../../scripts/go.cjs test ./...",
|
|
68
|
+
"go:build": "node ../../scripts/go.cjs build-native",
|
|
69
|
+
"go:test": "node ../../scripts/go.cjs test ./...",
|
|
70
|
+
"go:vet": "node ../../scripts/go.cjs vet ./..."
|
|
71
|
+
}
|
|
72
|
+
}
|
package/shim/ast/go.mod
ADDED
package/shim/ast/shim.go
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
package ast
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
innerast "github.com/microsoft/typescript-go/internal/ast"
|
|
5
|
+
_ "unsafe"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
type CallExpression = innerast.CallExpression
|
|
9
|
+
type Diagnostic = innerast.Diagnostic
|
|
10
|
+
type Identifier = innerast.Identifier
|
|
11
|
+
type IntersectionTypeNode = innerast.IntersectionTypeNode
|
|
12
|
+
type Kind = innerast.Kind
|
|
13
|
+
type LiteralTypeNode = innerast.LiteralTypeNode
|
|
14
|
+
type NoSubstitutionTemplateLiteral = innerast.NoSubstitutionTemplateLiteral
|
|
15
|
+
type Node = innerast.Node
|
|
16
|
+
type TemplateHead = innerast.TemplateHead
|
|
17
|
+
type TemplateLiteralTypeNode = innerast.TemplateLiteralTypeNode
|
|
18
|
+
type TemplateLiteralTypeSpan = innerast.TemplateLiteralTypeSpan
|
|
19
|
+
type TemplateMiddle = innerast.TemplateMiddle
|
|
20
|
+
type TemplateTail = innerast.TemplateTail
|
|
21
|
+
type PrefixUnaryExpression = innerast.PrefixUnaryExpression
|
|
22
|
+
type ComputedPropertyName = innerast.ComputedPropertyName
|
|
23
|
+
type PropertySignatureDeclaration = innerast.PropertySignatureDeclaration
|
|
24
|
+
type QualifiedName = innerast.QualifiedName
|
|
25
|
+
type TypeLiteralNode = innerast.TypeLiteralNode
|
|
26
|
+
type FunctionTypeNode = innerast.FunctionTypeNode
|
|
27
|
+
type InterfaceDeclaration = innerast.InterfaceDeclaration
|
|
28
|
+
type TypeReferenceNode = innerast.TypeReferenceNode
|
|
29
|
+
type SourceFile = innerast.SourceFile
|
|
30
|
+
type StringLiteral = innerast.StringLiteral
|
|
31
|
+
type Symbol = innerast.Symbol
|
|
32
|
+
type SymbolFlags = innerast.SymbolFlags
|
|
33
|
+
type NumericLiteral = innerast.NumericLiteral
|
|
34
|
+
type BigIntLiteral = innerast.BigIntLiteral
|
|
35
|
+
type ArrayTypeNode = innerast.ArrayTypeNode
|
|
36
|
+
type IndexSignatureDeclaration = innerast.IndexSignatureDeclaration
|
|
37
|
+
type NamedTupleMember = innerast.NamedTupleMember
|
|
38
|
+
type OptionalTypeNode = innerast.OptionalTypeNode
|
|
39
|
+
type RestTypeNode = innerast.RestTypeNode
|
|
40
|
+
type TypeAliasDeclaration = innerast.TypeAliasDeclaration
|
|
41
|
+
type TypeParameterDeclaration = innerast.TypeParameterDeclaration
|
|
42
|
+
type TupleTypeNode = innerast.TupleTypeNode
|
|
43
|
+
type UnionTypeNode = innerast.UnionTypeNode
|
|
44
|
+
type MethodSignatureDeclaration = innerast.MethodSignatureDeclaration
|
|
45
|
+
type MethodDeclaration = innerast.MethodDeclaration
|
|
46
|
+
type NodeList = innerast.NodeList
|
|
47
|
+
type ParameterDeclaration = innerast.ParameterDeclaration
|
|
48
|
+
type ParenthesizedTypeNode = innerast.ParenthesizedTypeNode
|
|
49
|
+
|
|
50
|
+
const (
|
|
51
|
+
KindCallExpression = innerast.KindCallExpression
|
|
52
|
+
KindIdentifier = innerast.KindIdentifier
|
|
53
|
+
KindPropertyAccessExpression = innerast.KindPropertyAccessExpression
|
|
54
|
+
KindPropertySignature = innerast.KindPropertySignature
|
|
55
|
+
KindComputedPropertyName = innerast.KindComputedPropertyName
|
|
56
|
+
KindMethodSignature = innerast.KindMethodSignature
|
|
57
|
+
KindMethodDeclaration = innerast.KindMethodDeclaration
|
|
58
|
+
KindIndexSignature = innerast.KindIndexSignature
|
|
59
|
+
KindParameter = innerast.KindParameter
|
|
60
|
+
KindStringKeyword = innerast.KindStringKeyword
|
|
61
|
+
KindNumberKeyword = innerast.KindNumberKeyword
|
|
62
|
+
KindBooleanKeyword = innerast.KindBooleanKeyword
|
|
63
|
+
KindBigIntKeyword = innerast.KindBigIntKeyword
|
|
64
|
+
KindAnyKeyword = innerast.KindAnyKeyword
|
|
65
|
+
KindNeverKeyword = innerast.KindNeverKeyword
|
|
66
|
+
KindUndefinedKeyword = innerast.KindUndefinedKeyword
|
|
67
|
+
KindNullKeyword = innerast.KindNullKeyword
|
|
68
|
+
KindVoidKeyword = innerast.KindVoidKeyword
|
|
69
|
+
KindTrueKeyword = innerast.KindTrueKeyword
|
|
70
|
+
KindFalseKeyword = innerast.KindFalseKeyword
|
|
71
|
+
KindStringLiteral = innerast.KindStringLiteral
|
|
72
|
+
KindNoSubstitutionTemplateLiteral = innerast.KindNoSubstitutionTemplateLiteral
|
|
73
|
+
KindTemplateHead = innerast.KindTemplateHead
|
|
74
|
+
KindTemplateMiddle = innerast.KindTemplateMiddle
|
|
75
|
+
KindTemplateTail = innerast.KindTemplateTail
|
|
76
|
+
KindNumericLiteral = innerast.KindNumericLiteral
|
|
77
|
+
KindBigIntLiteral = innerast.KindBigIntLiteral
|
|
78
|
+
KindTypeReference = innerast.KindTypeReference
|
|
79
|
+
KindFunctionType = innerast.KindFunctionType
|
|
80
|
+
KindLiteralType = innerast.KindLiteralType
|
|
81
|
+
KindArrayType = innerast.KindArrayType
|
|
82
|
+
KindTypeLiteral = innerast.KindTypeLiteral
|
|
83
|
+
KindInterfaceDeclaration = innerast.KindInterfaceDeclaration
|
|
84
|
+
KindTupleType = innerast.KindTupleType
|
|
85
|
+
KindUnionType = innerast.KindUnionType
|
|
86
|
+
KindIntersectionType = innerast.KindIntersectionType
|
|
87
|
+
KindNamedTupleMember = innerast.KindNamedTupleMember
|
|
88
|
+
KindOptionalType = innerast.KindOptionalType
|
|
89
|
+
KindParenthesizedType = innerast.KindParenthesizedType
|
|
90
|
+
KindRestType = innerast.KindRestType
|
|
91
|
+
KindTemplateLiteralType = innerast.KindTemplateLiteralType
|
|
92
|
+
KindTemplateLiteralTypeSpan = innerast.KindTemplateLiteralTypeSpan
|
|
93
|
+
KindPrefixUnaryExpression = innerast.KindPrefixUnaryExpression
|
|
94
|
+
KindQualifiedName = innerast.KindQualifiedName
|
|
95
|
+
KindTypeAliasDeclaration = innerast.KindTypeAliasDeclaration
|
|
96
|
+
KindTypeParameter = innerast.KindTypeParameter
|
|
97
|
+
KindImportSpecifier = innerast.KindImportSpecifier
|
|
98
|
+
KindImportDeclaration = innerast.KindImportDeclaration
|
|
99
|
+
KindNamedImports = innerast.KindNamedImports
|
|
100
|
+
KindNamespaceImport = innerast.KindNamespaceImport
|
|
101
|
+
KindExportSpecifier = innerast.KindExportSpecifier
|
|
102
|
+
KindModuleBlock = innerast.KindModuleBlock
|
|
103
|
+
KindModuleDeclaration = innerast.KindModuleDeclaration
|
|
104
|
+
KindFunctionDeclaration = innerast.KindFunctionDeclaration
|
|
105
|
+
KindMinusToken = innerast.KindMinusToken
|
|
106
|
+
|
|
107
|
+
SymbolFlagsOptional = innerast.SymbolFlagsOptional
|
|
108
|
+
SymbolFlagsAlias = innerast.SymbolFlagsAlias
|
|
109
|
+
SymbolFlagsType = innerast.SymbolFlagsType
|
|
110
|
+
SymbolFlagsNamespace = innerast.SymbolFlagsNamespace
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
//go:linkname GetSourceFileOfNode github.com/microsoft/typescript-go/internal/ast.GetSourceFileOfNode
|
|
114
|
+
func GetSourceFileOfNode(node *innerast.Node) *innerast.SourceFile
|
|
115
|
+
|
|
116
|
+
//go:linkname GetNodeAtPosition github.com/microsoft/typescript-go/internal/ast.GetNodeAtPosition
|
|
117
|
+
func GetNodeAtPosition(file *innerast.SourceFile, position int, includeJSDoc bool) *innerast.Node
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ExtraMethods":{},"ExtraFields":{}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
// Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
|
|
3
|
+
|
|
4
|
+
package bundled
|
|
5
|
+
|
|
6
|
+
import "github.com/microsoft/typescript-go/internal/bundled"
|
|
7
|
+
import "github.com/microsoft/typescript-go/internal/vfs"
|
|
8
|
+
import _ "unsafe"
|
|
9
|
+
|
|
10
|
+
const Embedded = bundled.Embedded
|
|
11
|
+
//go:linkname IsBundled github.com/microsoft/typescript-go/internal/bundled.IsBundled
|
|
12
|
+
func IsBundled(path string) bool
|
|
13
|
+
var LibNames = bundled.LibNames
|
|
14
|
+
//go:linkname LibPath github.com/microsoft/typescript-go/internal/bundled.LibPath
|
|
15
|
+
func LibPath() string
|
|
16
|
+
//go:linkname TestingLibPath github.com/microsoft/typescript-go/internal/bundled.TestingLibPath
|
|
17
|
+
func TestingLibPath() string
|
|
18
|
+
//go:linkname WrapFS github.com/microsoft/typescript-go/internal/bundled.WrapFS
|
|
19
|
+
func WrapFS(fs vfs.FS) vfs.FS
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ExtraMethods": {
|
|
3
|
+
"Checker": [
|
|
4
|
+
"getApparentType",
|
|
5
|
+
"getIndexTypeOfType",
|
|
6
|
+
"getPropertiesOfType",
|
|
7
|
+
"getTypeOfSymbol",
|
|
8
|
+
"getDeclaredTypeOfSymbol",
|
|
9
|
+
"getBaseTypes",
|
|
10
|
+
"getTypeArguments",
|
|
11
|
+
"getIndexInfosOfType",
|
|
12
|
+
"isArrayType",
|
|
13
|
+
"isArrayOrTupleType",
|
|
14
|
+
"isTypeAssignableTo",
|
|
15
|
+
"isReadonlySymbol",
|
|
16
|
+
"getWidenedType",
|
|
17
|
+
"getPropertyNameForKnownSymbolName",
|
|
18
|
+
"getBaseConstraintOfType",
|
|
19
|
+
"getNullableType",
|
|
20
|
+
"getExportsOfModule"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"ExtraFields": {
|
|
24
|
+
"Type": [
|
|
25
|
+
"alias"
|
|
26
|
+
],
|
|
27
|
+
"Checker": [
|
|
28
|
+
"globalRegExpType"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|