@ttsc/wasm 0.19.3 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/build/build-wasm.cjs +131 -126
- package/dist/.ttsc-wasm-build.json +319 -0
- package/dist/go.mod +2 -0
- package/dist/ttsc.wasm +0 -0
- package/go.mod +2 -0
- package/host/fountain.go +48 -19
- package/lib/src/createMemFS.d.ts +6 -0
- package/lib/src/createMemFS.js +247 -95
- package/lib/src/createMemFS.js.map +1 -1
- package/lib/src/structures/ITtscApi.d.ts +8 -5
- package/lib/src/structures/ITtscNodeAtPositionResult.d.ts +1 -1
- package/lib/src/structures/ITtscNodeInfo.d.ts +1 -1
- package/lib/src/structures/ITtscPositionQuery.d.ts +4 -2
- package/lib/src/structures/ITtscSymbolAtPositionResult.d.ts +1 -1
- package/lib/src/structures/ITtscTypeAtPositionResult.d.ts +1 -1
- package/lib/src/structures/IWasmExecFS.d.ts +14 -4
- package/package.json +1 -1
- package/shim-vendor/shim/ast/shim.go +48 -3
- package/shim-vendor/shim/astnav/go.mod +14 -0
- package/shim-vendor/shim/astnav/go.sum +20 -0
- package/shim-vendor/shim/astnav/shim.go +15 -0
- package/shim-vendor/shim/checker/shim.go +100 -0
- package/shim-vendor/shim/core/shim.go +47 -0
- package/shim-vendor/shim/diagnosticwriter/lint.go +50 -0
- package/src/createMemFS.ts +264 -103
- package/src/structures/ITtscApi.ts +8 -5
- package/src/structures/ITtscNodeAtPositionResult.ts +1 -1
- package/src/structures/ITtscNodeInfo.ts +1 -1
- package/src/structures/ITtscPositionQuery.ts +4 -2
- package/src/structures/ITtscSymbolAtPositionResult.ts +1 -1
- package/src/structures/ITtscTypeAtPositionResult.ts +1 -1
- package/src/structures/IWasmExecFS.ts +14 -4
package/README.md
CHANGED
|
@@ -140,7 +140,7 @@ try {
|
|
|
140
140
|
await api.getTypeAtPosition({
|
|
141
141
|
handle,
|
|
142
142
|
path: "src/index.ts",
|
|
143
|
-
position:
|
|
143
|
+
position: 13, // byte offset of `x`
|
|
144
144
|
}),
|
|
145
145
|
);
|
|
146
146
|
console.log(typeAt?.type?.text); // → "number"
|
|
@@ -163,7 +163,9 @@ Verbs and payload types:
|
|
|
163
163
|
| `getTypeAtPosition({ handle, path, position })` | `ITtscTypeAtPositionResult` `{ type }` |
|
|
164
164
|
| `getSymbolAtPosition({ handle, path, position })` | `ITtscSymbolAtPositionResult` `{ symbol }` |
|
|
165
165
|
|
|
166
|
-
`
|
|
166
|
+
`getNodeAtPosition` returns the syntax token touching `position`, including punctuation. `getTypeAtPosition` resolves that token to its enclosing semantic AST node, while `getSymbolAtPosition` queries the token directly. Both return `null` when there is no semantic answer. Whitespace and comments return `null` for all three verbs.
|
|
167
|
+
|
|
168
|
+
`position` is a **byte offset** into the source text and must satisfy `0 <= position < UTF-8 byte length of sourceText`. The same coordinate TypeScript-Go uses internally. JS callers that have a UTF-16 `(line, character)` pair (e.g. From Monaco) must convert it before calling.
|
|
167
169
|
|
|
168
170
|
**Lifecycle:** JS owns the handle. The wasm keeps the program (parsed AST, checker pool lease, every source file) alive until you call `releaseSnapshot`. Leaking handles leaks memory in the wasm linear heap.
|
|
169
171
|
|
package/build/build-wasm.cjs
CHANGED
|
@@ -2,24 +2,16 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Usage: node build/build-wasm.cjs [--force]
|
|
4
4
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
// `TTSC_WASM_FORCE=1` to rebuild unconditionally.
|
|
9
|
-
// * Hard failure if the Go toolchain is missing.
|
|
10
|
-
//
|
|
11
|
-
// Outputs:
|
|
12
|
-
// * packages/wasm/dist/ttsc.wasm
|
|
13
|
-
// * packages/wasm/dist/wasm_exec.js
|
|
14
|
-
//
|
|
15
|
-
// Downstream consumers (the website, plugin-author playgrounds) point their
|
|
16
|
-
// own bundle pipelines at `node_modules/@ttsc/wasm/dist/wasm_exec.js` and
|
|
17
|
-
// build their own .wasm against the same Go module.
|
|
5
|
+
// The cache records a content identity for every effective Go dependency,
|
|
6
|
+
// module manifest, build flag, toolchain bridge, and published shim artifact.
|
|
7
|
+
// It never accepts a partially staged publication directory as a cache hit.
|
|
18
8
|
|
|
19
9
|
const cp = require("child_process");
|
|
20
10
|
const fs = require("fs");
|
|
21
11
|
const path = require("path");
|
|
22
12
|
|
|
13
|
+
const { createGoBuildCache } = require("../../../scripts/go-build-cache.cjs");
|
|
14
|
+
|
|
23
15
|
const packageRoot = path.resolve(__dirname, "..");
|
|
24
16
|
const repoRoot = path.resolve(packageRoot, "..", "..");
|
|
25
17
|
const ttscDir = path.join(repoRoot, "packages", "ttsc");
|
|
@@ -31,96 +23,107 @@ const wasmOut = path.join(outDir, "ttsc.wasm");
|
|
|
31
23
|
const wasmExecOut = path.join(outDir, "wasm_exec.js");
|
|
32
24
|
const goModPath = path.join(packageRoot, "go.mod");
|
|
33
25
|
const publishedGoModOut = path.join(outDir, "go.mod");
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
fs.mkdirSync(outDir, { recursive: true });
|
|
26
|
+
const cachePath = path.join(outDir, ".ttsc-wasm-build.json");
|
|
27
|
+
const hostPackage = "github.com/samchon/ttsc/packages/wasm/host";
|
|
38
28
|
|
|
39
|
-
|
|
29
|
+
// Read a git fact, or undefined outside a checkout (a published tarball build).
|
|
30
|
+
function gitFact(args) {
|
|
40
31
|
try {
|
|
41
|
-
cp
|
|
42
|
-
|
|
32
|
+
return cp
|
|
33
|
+
.execFileSync("git", args, {
|
|
34
|
+
cwd: repoRoot,
|
|
35
|
+
encoding: "utf8",
|
|
36
|
+
windowsHide: true,
|
|
37
|
+
})
|
|
38
|
+
.trim();
|
|
43
39
|
} catch {
|
|
44
|
-
return
|
|
40
|
+
return undefined;
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
43
|
|
|
44
|
+
// The build metadata `api.version()` answers with.
|
|
45
|
+
//
|
|
46
|
+
// Without these the published binary reports the compile-time defaults
|
|
47
|
+
// (`0.0.0-dev` / `dev` / `unknown`), so the one API whose purpose is to
|
|
48
|
+
// identify which wasm is running identifies nothing — and the documentation
|
|
49
|
+
// tells consumers to copy the base artifact verbatim, so that is the binary
|
|
50
|
+
// almost everyone deploys.
|
|
51
|
+
//
|
|
52
|
+
// `date` is the commit's date rather than the build's. The native platform
|
|
53
|
+
// script stamps build time, but this build is content-cached: a value that
|
|
54
|
+
// changes every run would be a build flag that never repeats, so the cache
|
|
55
|
+
// could never hit. A commit date identifies the artifact just as well and keeps
|
|
56
|
+
// the build reproducible.
|
|
57
|
+
function buildStamp() {
|
|
58
|
+
const manifest = JSON.parse(
|
|
59
|
+
fs.readFileSync(path.join(packageRoot, "package.json"), "utf8"),
|
|
60
|
+
);
|
|
61
|
+
return {
|
|
62
|
+
version: manifest.version ?? "0.0.0-dev",
|
|
63
|
+
commit: gitFact(["rev-parse", "--short=12", "HEAD"]) ?? "unknown",
|
|
64
|
+
date: gitFact(["show", "-s", "--format=%cI", "HEAD"]) ?? "unknown",
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const stamp = buildStamp();
|
|
69
|
+
const buildArguments = [
|
|
70
|
+
"go",
|
|
71
|
+
"build",
|
|
72
|
+
"-trimpath",
|
|
73
|
+
"-ldflags",
|
|
74
|
+
[
|
|
75
|
+
"-s -w",
|
|
76
|
+
`-X ${hostPackage}.version=${stamp.version}`,
|
|
77
|
+
`-X ${hostPackage}.commit=${stamp.commit}`,
|
|
78
|
+
`-X ${hostPackage}.date=${stamp.date}`,
|
|
79
|
+
].join(" "),
|
|
80
|
+
"-o",
|
|
81
|
+
wasmOut,
|
|
82
|
+
"./cmd/ttsc-wasm",
|
|
83
|
+
];
|
|
84
|
+
const buildEnvironment = { GOOS: "js", GOARCH: "wasm" };
|
|
85
|
+
|
|
48
86
|
function locateWasmExec() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
87
|
+
let goroot;
|
|
88
|
+
try {
|
|
89
|
+
goroot =
|
|
90
|
+
process.env.GOROOT ??
|
|
91
|
+
cp.execFileSync("go", ["env", "GOROOT"], { encoding: "utf8" }).trim();
|
|
92
|
+
} catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
53
95
|
// Go 1.24+ ships wasm_exec.js under lib/wasm/. Older releases kept it
|
|
54
96
|
// under misc/wasm/. Try both so the build works across Go installs.
|
|
55
|
-
const
|
|
97
|
+
for (const candidate of [
|
|
56
98
|
path.join(goroot, "lib", "wasm", "wasm_exec.js"),
|
|
57
99
|
path.join(goroot, "misc", "wasm", "wasm_exec.js"),
|
|
58
|
-
]
|
|
59
|
-
for (const candidate of candidates) {
|
|
100
|
+
]) {
|
|
60
101
|
if (fs.existsSync(candidate)) return candidate;
|
|
61
102
|
}
|
|
62
103
|
return null;
|
|
63
104
|
}
|
|
64
105
|
|
|
65
|
-
function
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const stack = [root];
|
|
78
|
-
while (stack.length) {
|
|
79
|
-
const cur = stack.pop();
|
|
80
|
-
let stat;
|
|
81
|
-
try {
|
|
82
|
-
stat = fs.statSync(cur);
|
|
83
|
-
} catch {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
if (stat.isDirectory()) {
|
|
87
|
-
const base = path.basename(cur);
|
|
88
|
-
if (
|
|
89
|
-
base === "node_modules" ||
|
|
90
|
-
base === ".ttsc" ||
|
|
91
|
-
base === ".git" ||
|
|
92
|
-
base === "lib" ||
|
|
93
|
-
base === "dist"
|
|
94
|
-
)
|
|
95
|
-
continue;
|
|
96
|
-
for (const entry of fs.readdirSync(cur)) {
|
|
97
|
-
stack.push(path.join(cur, entry));
|
|
98
|
-
}
|
|
99
|
-
} else if (stat.isFile() && cur.endsWith(".go")) {
|
|
100
|
-
visit(cur, stat);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
106
|
+
function createCacheOptions({ force, wasmExecSrc }) {
|
|
107
|
+
return {
|
|
108
|
+
artifactPaths: [wasmOut, wasmExecOut, publishedGoModOut, vendorShimDir],
|
|
109
|
+
buildArguments,
|
|
110
|
+
cachePath,
|
|
111
|
+
cwd: packageRoot,
|
|
112
|
+
dependencyPackages: ["./cmd/ttsc-wasm"],
|
|
113
|
+
environment: buildEnvironment,
|
|
114
|
+
extraFiles: [__filename, goModPath, wasmExecSrc],
|
|
115
|
+
force,
|
|
116
|
+
inputDirectories: [shimSrc],
|
|
117
|
+
};
|
|
103
118
|
}
|
|
104
119
|
|
|
105
120
|
function buildWasm() {
|
|
106
121
|
console.log(`build/build-wasm.cjs: building ${wasmOut}`);
|
|
107
|
-
cp.execFileSync(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"-ldflags",
|
|
113
|
-
"-s -w",
|
|
114
|
-
"-o",
|
|
115
|
-
wasmOut,
|
|
116
|
-
"./cmd/ttsc-wasm",
|
|
117
|
-
],
|
|
118
|
-
{
|
|
119
|
-
cwd: packageRoot,
|
|
120
|
-
env: { ...process.env, GOOS: "js", GOARCH: "wasm" },
|
|
121
|
-
stdio: "inherit",
|
|
122
|
-
},
|
|
123
|
-
);
|
|
122
|
+
cp.execFileSync("go", buildArguments.slice(1), {
|
|
123
|
+
cwd: packageRoot,
|
|
124
|
+
env: { ...process.env, ...buildEnvironment },
|
|
125
|
+
stdio: "inherit",
|
|
126
|
+
});
|
|
124
127
|
}
|
|
125
128
|
|
|
126
129
|
// Mirror packages/ttsc/shim/* into packages/wasm/shim-vendor/shim/* so the
|
|
@@ -141,7 +144,7 @@ function vendorShim() {
|
|
|
141
144
|
fs.mkdirSync(vendorShimDir, { recursive: true });
|
|
142
145
|
copyTree(shimSrc, vendorShimDir);
|
|
143
146
|
console.log(
|
|
144
|
-
`build/build-wasm.cjs: vendored shim/*
|
|
147
|
+
`build/build-wasm.cjs: vendored shim/* -> ${path.relative(packageRoot, vendorShimDir)}`,
|
|
145
148
|
);
|
|
146
149
|
}
|
|
147
150
|
|
|
@@ -159,18 +162,14 @@ function copyTree(src, dst) {
|
|
|
159
162
|
}
|
|
160
163
|
}
|
|
161
164
|
|
|
162
|
-
// Rewrite go.mod so the published copy points at ./shim-vendor/shim/* instead
|
|
163
|
-
// ../ttsc/shim/*. The
|
|
164
|
-
//
|
|
165
|
-
// their own wasm binary must supply that module themselves (documented in
|
|
166
|
-
// README.md). The working-tree go.mod is untouched.
|
|
165
|
+
// Rewrite go.mod so the published copy points at ./shim-vendor/shim/* instead
|
|
166
|
+
// of ../ttsc/shim/*. The ../ttsc consumer-module replacement is intentionally
|
|
167
|
+
// removed: consumers compiling their own wasm binary supply it themselves.
|
|
167
168
|
function rewritePublishedGoMod() {
|
|
168
|
-
const
|
|
169
|
-
const lines = src.split(/\r?\n/);
|
|
169
|
+
const lines = fs.readFileSync(goModPath, "utf8").split(/\r?\n/);
|
|
170
170
|
const out = [];
|
|
171
171
|
for (const line of lines) {
|
|
172
172
|
const trimmed = line.trim();
|
|
173
|
-
// Drop the ../ttsc consumer-module replace (handled at consumer side).
|
|
174
173
|
if (
|
|
175
174
|
/^github\.com\/samchon\/ttsc\/packages\/ttsc\s+=>\s+\.\.\/ttsc\b/.test(
|
|
176
175
|
trimmed,
|
|
@@ -178,63 +177,69 @@ function rewritePublishedGoMod() {
|
|
|
178
177
|
) {
|
|
179
178
|
continue;
|
|
180
179
|
}
|
|
181
|
-
// Rewrite each shim replace from ../ttsc/shim/X to ./shim-vendor/shim/X.
|
|
182
180
|
const shimMatch = trimmed.match(
|
|
183
181
|
/^(github\.com\/microsoft\/typescript-go\/shim\/[A-Za-z0-9_/]+)\s+=>\s+\.\.\/ttsc\/shim\/([A-Za-z0-9_/]+)$/,
|
|
184
182
|
);
|
|
185
183
|
if (shimMatch) {
|
|
186
184
|
const indent = line.match(/^\s*/)[0];
|
|
187
|
-
out.push(
|
|
185
|
+
out.push(
|
|
186
|
+
`${indent}${shimMatch[1]} => ./shim-vendor/shim/${shimMatch[2]}`,
|
|
187
|
+
);
|
|
188
188
|
continue;
|
|
189
189
|
}
|
|
190
190
|
out.push(line);
|
|
191
191
|
}
|
|
192
192
|
fs.writeFileSync(publishedGoModOut, out.join("\n"));
|
|
193
193
|
console.log(
|
|
194
|
-
`build/build-wasm.cjs: emitted published go.mod
|
|
194
|
+
`build/build-wasm.cjs: emitted published go.mod -> ${path.relative(packageRoot, publishedGoModOut)}`,
|
|
195
195
|
);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
198
|
+
function main() {
|
|
199
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
200
|
+
const wasmExecSrc = locateWasmExec();
|
|
201
|
+
if (!wasmExecSrc) {
|
|
202
|
+
throw new Error(
|
|
203
|
+
"build/build-wasm.cjs: wasm_exec.js not located. Install Go 1.24+.",
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
const cache = createGoBuildCache(
|
|
207
|
+
createCacheOptions({
|
|
208
|
+
force: process.argv.includes("--force") || !!process.env.TTSC_WASM_FORCE,
|
|
209
|
+
wasmExecSrc,
|
|
210
|
+
}),
|
|
211
|
+
);
|
|
212
|
+
if (cache.isCurrent()) {
|
|
204
213
|
console.log(
|
|
205
214
|
`build/build-wasm.cjs: cached ttsc.wasm is up to date (${(
|
|
206
215
|
fs.statSync(wasmOut).size /
|
|
207
216
|
1024 /
|
|
208
217
|
1024
|
|
209
|
-
).toFixed(2)} MiB)
|
|
218
|
+
).toFixed(2)} MiB) -> skipping rebuild`,
|
|
210
219
|
);
|
|
211
|
-
if (wasmExecSrc && !fs.existsSync(wasmExecOut)) {
|
|
212
|
-
fs.copyFileSync(wasmExecSrc, wasmExecOut);
|
|
213
|
-
}
|
|
214
|
-
// Even on cache hit, refresh the vendored shim + published go.mod so
|
|
215
|
-
// `pnpm pack` always sees up-to-date publish artifacts.
|
|
216
|
-
vendorShim();
|
|
217
|
-
rewritePublishedGoMod();
|
|
218
220
|
return;
|
|
219
221
|
}
|
|
220
|
-
}
|
|
221
222
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
vendorShim();
|
|
224
|
+
rewritePublishedGoMod();
|
|
225
|
+
buildWasm();
|
|
226
|
+
fs.copyFileSync(wasmExecSrc, wasmExecOut);
|
|
227
|
+
cache.write();
|
|
228
|
+
console.log(
|
|
229
|
+
`build/build-wasm.cjs: done. ttsc.wasm = ${(
|
|
230
|
+
fs.statSync(wasmOut).size /
|
|
231
|
+
1024 /
|
|
232
|
+
1024
|
|
233
|
+
).toFixed(2)} MiB`,
|
|
225
234
|
);
|
|
226
|
-
process.exit(1);
|
|
227
235
|
}
|
|
228
236
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
1024
|
|
239
|
-
).toFixed(2)} MiB`,
|
|
240
|
-
);
|
|
237
|
+
if (require.main === module) main();
|
|
238
|
+
|
|
239
|
+
module.exports = {
|
|
240
|
+
buildArguments,
|
|
241
|
+
buildStamp,
|
|
242
|
+
createCacheOptions,
|
|
243
|
+
hostPackage,
|
|
244
|
+
locateWasmExec,
|
|
245
|
+
};
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"identity": "1fbcac21fb5b8fe9be7fd1ddac7494bb95a42a6e67c1cfdc5c4dc58a7e6e7422",
|
|
4
|
+
"artifacts": [
|
|
5
|
+
{
|
|
6
|
+
"path": "/home/runner/work/ttsc/ttsc/packages/wasm/dist/ttsc.wasm",
|
|
7
|
+
"type": "file",
|
|
8
|
+
"sha256": "789df72716376d0497200a1a3e086e808d7e3d0ee4adbef639acc2867802523f"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"path": "/home/runner/work/ttsc/ttsc/packages/wasm/dist/wasm_exec.js",
|
|
12
|
+
"type": "file",
|
|
13
|
+
"sha256": "0c949f4996f9a89698e4b5c586de32249c3b69b7baadb64d220073cc04acba14"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"path": "/home/runner/work/ttsc/ttsc/packages/wasm/dist/go.mod",
|
|
17
|
+
"type": "file",
|
|
18
|
+
"sha256": "faaaed64a60231bbf40f78e20fdb3c0f8dc00f432b9cfa4a4b5fca9b6fc31b37"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "/home/runner/work/ttsc/ttsc/packages/wasm/shim-vendor/shim",
|
|
22
|
+
"type": "directory",
|
|
23
|
+
"files": [
|
|
24
|
+
{
|
|
25
|
+
"path": "ast/enums_gen.go",
|
|
26
|
+
"sha256": "e5fb186343cc20f1bafed4842d35c054c205604ab1715657fa50acce362d99c7"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "ast/extra-shim.json",
|
|
30
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "ast/go.mod",
|
|
34
|
+
"sha256": "63a3bfd34840a8daf2aa1270481489e895ba8e3fb02c57d3c9e47497a29d8c7a"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"path": "ast/go.sum",
|
|
38
|
+
"sha256": "4a0e21cb48a001380a940eacf04759b03bb55856df690665dfc9d29323ef4357"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "ast/lint.go",
|
|
42
|
+
"sha256": "2204d986d8e3f3e17f0e5bd1b12ce5268fa734f5e517a310135140afde47c064"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"path": "ast/parent.go",
|
|
46
|
+
"sha256": "261de982952f6c855e6c303d7c1a3adea2aaa125bb7103063a55f1741ff525db"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "ast/safe_text.go",
|
|
50
|
+
"sha256": "56717285d1fa4eedcc741a5c6b2e015c545407165b5ea806fc63893f09f2bbcb"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"path": "ast/shim.go",
|
|
54
|
+
"sha256": "71fa8abf9aa551925b7c5971a4ac762d748daee89ac9d02222a131858cb4329b"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"path": "ast/surface.go",
|
|
58
|
+
"sha256": "b82cbff25d9d2c7d36cda39dab4e9137ae498945c9a82854cd3cd176d2cec013"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"path": "ast/test/node_text_joins_multi_hop_qualified_name_test.go",
|
|
62
|
+
"sha256": "2cd5033a5bce20091821eeb523add163b6272767dfac867705d5ca580901007e"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"path": "ast/test/node_text_joins_one_hop_qualified_name_test.go",
|
|
66
|
+
"sha256": "5afa0831574153d6b5a1f2b92beee90b6c7584470d90e60bef9752fe4d8cb91d"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "ast/test/node_text_returns_empty_for_nil_test.go",
|
|
70
|
+
"sha256": "deabb14a34e039a508b5aac14839d53caba8d7795e0b044c82808972170dd4f3"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"path": "ast/test/node_text_returns_identifier_text_test.go",
|
|
74
|
+
"sha256": "51d5358f83a34b99a7859df9aad5536d600905fe02ef872311d376f3478b08b1"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"path": "ast/test/node_text_skips_empty_qualified_left_test.go",
|
|
78
|
+
"sha256": "ed15235cae50346f0c25321a8128ca2aebef6200e3ae1c6ab01277dd7107673f"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "astnav/go.mod",
|
|
82
|
+
"sha256": "519b82bc93da5c3e762fddaeb2d9287aaca9a456903f2c4805d7ab797f9f1c72"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"path": "astnav/go.sum",
|
|
86
|
+
"sha256": "4a0e21cb48a001380a940eacf04759b03bb55856df690665dfc9d29323ef4357"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"path": "astnav/shim.go",
|
|
90
|
+
"sha256": "c0ac48cb10195274dc086307153223ef7dd2f043fa62103b3c13afed50e83049"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"path": "bundled/extra-shim.json",
|
|
94
|
+
"sha256": "749beb4d40fb0c968f511c5f13f5860cc694830d27ae0e3712380c21b0f37b13"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"path": "bundled/go.mod",
|
|
98
|
+
"sha256": "0621d4e2261695bdc691fe678003d6a7afb32ea03445d157342e8bab1ad8fb74"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"path": "bundled/shim.go",
|
|
102
|
+
"sha256": "027856252d76b279f0e9408d6d8b56fad67747d4a10cfbeb8c247a4f9f785070"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"path": "checker/enums_gen.go",
|
|
106
|
+
"sha256": "196f4a8b77ee0fa4e1a65a801472ffaa13871865e23c5b02eb5ef7ed371f39a8"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"path": "checker/extra-shim.json",
|
|
110
|
+
"sha256": "2ec2d698d4025e30c68409f25beeab244e84c759109619f9ef143b12f102d554"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"path": "checker/go.mod",
|
|
114
|
+
"sha256": "d191ae8d581a2d548e02221e27cdde3ad54611abd62ac7ba3c647da7435f67e6"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "checker/shim.go",
|
|
118
|
+
"sha256": "cd45126b5cc0fbbe1213343dd561c51c4d0673135ff62d6542bd1ea6e3426eab"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"path": "compiler/emit_sourcemap.go",
|
|
122
|
+
"sha256": "f488641b1ef9f20a54abf4a58a4c0e39a691ad175b51fb30417bc7a35d76c9ad"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"path": "compiler/emitassemble.go",
|
|
126
|
+
"sha256": "01fa55d4ecf05cd778d7acaa2f83b8cc460fc533b755ef272245c3d13b47a800"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"path": "compiler/emithook.go",
|
|
130
|
+
"sha256": "a639371d663dc56005e9490b3f7d5ba2d3b8d1c56dfd862c721f0f9f9adddce9"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"path": "compiler/extra-shim.json",
|
|
134
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"path": "compiler/go.mod",
|
|
138
|
+
"sha256": "d5e61f74ae9c96f9fc09f8f4aed891cce57e7bdf42a35ecd69632acc1b545e53"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "compiler/go.sum",
|
|
142
|
+
"sha256": "a94c806630860a27e74df1db99b2abf86fada0e699937a813b42fe190021a16d"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"path": "compiler/incremental.go",
|
|
146
|
+
"sha256": "8020631b8bc293f7cc860afbd4f40b1f4a304459b28d1111ecf366826f7e88ab"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"path": "compiler/shim.go",
|
|
150
|
+
"sha256": "6d4f14b29575f49c541a3c24b51cfe3bf7fc815d82560dca4749b5a2b6def372"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"path": "core/enums_gen.go",
|
|
154
|
+
"sha256": "7de9fee1e72336284fe90d33ed9946ecafc787a91bd3d6a44e127f8744e7e888"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"path": "core/extra-shim.json",
|
|
158
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"path": "core/go.mod",
|
|
162
|
+
"sha256": "3f0819397eeee762169ee31e9232deb10d5689ffb265b1407e63011fcd7c3e06"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"path": "core/modulekind.go",
|
|
166
|
+
"sha256": "e403ab6a4796fcccf10a426e272a7b63a00ca782664a4344e7821a7ab1fdd752"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"path": "core/shim.go",
|
|
170
|
+
"sha256": "a3cf692a939eade582138fbafd3e13352d72417830bd5d2db773a97892e6500f"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"path": "diagnosticwriter/go.mod",
|
|
174
|
+
"sha256": "da57c194ad5516f4e51b383a6d3dc5e631e79b5632bdfa243daa770a547eff13"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"path": "diagnosticwriter/lint.go",
|
|
178
|
+
"sha256": "b8751f4b968318b8b858239d8c6c046bfd586f71805d2666fc4b02cb954a21de"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"path": "diagnosticwriter/shim.go",
|
|
182
|
+
"sha256": "8e1b8c8a28431467a34b9d59fe6adcdbdcf636ddbc6070c79879b2b4cbcc1e49"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"path": "lsp/extra-shim.json",
|
|
186
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"path": "lsp/go.mod",
|
|
190
|
+
"sha256": "90669bce84bdb6a6b4aeed1ecfdcece3b886e66718f7e01b23d1b4278b0e9bc6"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"path": "lsp/go.sum",
|
|
194
|
+
"sha256": "febea105f31e168b438b390e68cbe5b19e483089e7ed94dccb5ccd8311ad01a2"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"path": "lsp/shim.go",
|
|
198
|
+
"sha256": "d940a4d2b1943a0a2883259e7885162dd23989418c560c898392f595eda40162"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": "parser/extra-shim.json",
|
|
202
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"path": "parser/go.mod",
|
|
206
|
+
"sha256": "7d2f88c94a1bc5e482473c3a0357684ecf6caea8d96765a955c1ca2e3eda17e3"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"path": "parser/shim.go",
|
|
210
|
+
"sha256": "2ef34c7f6d15fac1793f3669cee0a7359e601e3456b90ceebcea0af5db339464"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": "printer/emithost.go",
|
|
214
|
+
"sha256": "6f4aab940adc03f9fa98abfcf1bb1c2b3cae1a807ecb7a1130c7f19ab262ece0"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"path": "printer/go.mod",
|
|
218
|
+
"sha256": "8fa30ce406d6192f901ddcbd233785fa36d1b8f8f1e47932b497e091fff94f2a"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"path": "printer/go.sum",
|
|
222
|
+
"sha256": "a94c806630860a27e74df1db99b2abf86fada0e699937a813b42fe190021a16d"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"path": "printer/shim.go",
|
|
226
|
+
"sha256": "b14417b47813e60e698594e918f9a5cc628343c7664818c78daa5f313b29e25e"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"path": "scanner/extra-shim.json",
|
|
230
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"path": "scanner/go.mod",
|
|
234
|
+
"sha256": "8b41d93b1c9386c112fac6a374d6aaa59ab0ace9123d0da0c6b5e294881e46f9"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"path": "scanner/regexp.go",
|
|
238
|
+
"sha256": "f4240a94e9e32a44fc6297fddfc051e02e8d2e758e14316a0492f7b73ed6e99a"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"path": "scanner/shim.go",
|
|
242
|
+
"sha256": "7a7bbd3d5ca7314648a9a21f4a24b219cb027b210c1e593eb40ca15d5be7c779"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"path": "transformers/go.mod",
|
|
246
|
+
"sha256": "bc8c36880bd52fac91a0ea0e5b4e2bb452922fdcc1bf6de74791c3e00ca646f4"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"path": "transformers/go.sum",
|
|
250
|
+
"sha256": "4a0e21cb48a001380a940eacf04759b03bb55856df690665dfc9d29323ef4357"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"path": "transformers/shim.go",
|
|
254
|
+
"sha256": "e61d1e0d349b7124e5289304cfa0a6455ba89226ae3e19ae11c3f106c0c2378c"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"path": "tsoptions/extra-shim.json",
|
|
258
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"path": "tsoptions/go.mod",
|
|
262
|
+
"sha256": "534e1eb62a9d0b2c1c9ea886337f5a4a27f59a131959524886314b6b9c694fc2"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"path": "tsoptions/shim.go",
|
|
266
|
+
"sha256": "9f4ff8142c3badb571e58b0c62f6c61ab11e3452fc25961e3c958b2f77a6a4d0"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"path": "tspath/extra-shim.json",
|
|
270
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"path": "tspath/go.mod",
|
|
274
|
+
"sha256": "45555e00686ea51ef8fb46c5d6582da77d081738430f12835ec5afcf019004ac"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"path": "tspath/shim.go",
|
|
278
|
+
"sha256": "a90c7bc3a7067438eab9a3d693b546e14f9fa6a6ae297e7c0cd05375b5ed6ef9"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"path": "vfs/cachedvfs/extra-shim.json",
|
|
282
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"path": "vfs/cachedvfs/go.mod",
|
|
286
|
+
"sha256": "8b4565f65bdbe601b86c87735e79262ceb7736136d5329618fc0e744b46c310d"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"path": "vfs/cachedvfs/shim.go",
|
|
290
|
+
"sha256": "77fb3fc95f10f30d1f7c8781850839eff4bc36d3f3a4ab7fb562861520b0a23b"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"path": "vfs/extra-shim.json",
|
|
294
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"path": "vfs/go.mod",
|
|
298
|
+
"sha256": "c912329b7b18c552ee897cd30a7fea5273af92c1120e0efb0811b6ea7833af1c"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"path": "vfs/osvfs/extra-shim.json",
|
|
302
|
+
"sha256": "03ce47e72bb9b79fc54a9a5a2b9dbe5c6b52511779775b36d81dafed6af2049a"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"path": "vfs/osvfs/go.mod",
|
|
306
|
+
"sha256": "9fe808080235c2200b7454696b26c493648e0a00194bfb8bfc65af327ab4ff6a"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"path": "vfs/osvfs/shim.go",
|
|
310
|
+
"sha256": "97a1818494b3027f8b8837dd76d7f7b97f1921145cb86efb7d7124f353761f78"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"path": "vfs/shim.go",
|
|
314
|
+
"sha256": "7723052d5c95a53541cdc85c4f6813020bf0f352682b29488f2d8585a5da2572"
|
|
315
|
+
}
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
]
|
|
319
|
+
}
|