sverklo 0.20.25 → 0.20.27
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/dist/src/indexer/grammars-install.js +6 -0
- package/dist/src/indexer/grammars-install.js.map +1 -1
- package/dist/src/indexer/parser.d.ts +2 -1
- package/dist/src/indexer/parser.js +24 -1275
- package/dist/src/indexer/parser.js.map +1 -1
- package/dist/src/indexer/parsers/_shared.d.ts +11 -0
- package/dist/src/indexer/parsers/_shared.js +304 -0
- package/dist/src/indexer/parsers/_shared.js.map +1 -0
- package/dist/src/indexer/parsers/ccpp.d.ts +2 -0
- package/dist/src/indexer/parsers/ccpp.js +32 -0
- package/dist/src/indexer/parsers/ccpp.js.map +1 -0
- package/dist/src/indexer/parsers/clojure.d.ts +2 -0
- package/dist/src/indexer/parsers/clojure.js +37 -0
- package/dist/src/indexer/parsers/clojure.js.map +1 -0
- package/dist/src/indexer/parsers/csharp.d.ts +2 -0
- package/dist/src/indexer/parsers/csharp.js +80 -0
- package/dist/src/indexer/parsers/csharp.js.map +1 -0
- package/dist/src/indexer/parsers/dart.d.ts +2 -0
- package/dist/src/indexer/parsers/dart.js +43 -0
- package/dist/src/indexer/parsers/dart.js.map +1 -0
- package/dist/src/indexer/parsers/elixir.d.ts +2 -0
- package/dist/src/indexer/parsers/elixir.js +37 -0
- package/dist/src/indexer/parsers/elixir.js.map +1 -0
- package/dist/src/indexer/parsers/go.d.ts +2 -0
- package/dist/src/indexer/parsers/go.js +45 -0
- package/dist/src/indexer/parsers/go.js.map +1 -0
- package/dist/src/indexer/parsers/haskell.d.ts +2 -0
- package/dist/src/indexer/parsers/haskell.js +49 -0
- package/dist/src/indexer/parsers/haskell.js.map +1 -0
- package/dist/src/indexer/parsers/java.d.ts +2 -0
- package/dist/src/indexer/parsers/java.js +31 -0
- package/dist/src/indexer/parsers/java.js.map +1 -0
- package/dist/src/indexer/parsers/kotlin.d.ts +2 -0
- package/dist/src/indexer/parsers/kotlin.js +47 -0
- package/dist/src/indexer/parsers/kotlin.js.map +1 -0
- package/dist/src/indexer/parsers/lua.d.ts +2 -0
- package/dist/src/indexer/parsers/lua.js +29 -0
- package/dist/src/indexer/parsers/lua.js.map +1 -0
- package/dist/src/indexer/parsers/ocaml.d.ts +2 -0
- package/dist/src/indexer/parsers/ocaml.js +36 -0
- package/dist/src/indexer/parsers/ocaml.js.map +1 -0
- package/dist/src/indexer/parsers/php.d.ts +2 -0
- package/dist/src/indexer/parsers/php.js +29 -0
- package/dist/src/indexer/parsers/php.js.map +1 -0
- package/dist/src/indexer/parsers/python.d.ts +2 -0
- package/dist/src/indexer/parsers/python.js +78 -0
- package/dist/src/indexer/parsers/python.js.map +1 -0
- package/dist/src/indexer/parsers/ruby.d.ts +2 -0
- package/dist/src/indexer/parsers/ruby.js +36 -0
- package/dist/src/indexer/parsers/ruby.js.map +1 -0
- package/dist/src/indexer/parsers/rust.d.ts +2 -0
- package/dist/src/indexer/parsers/rust.js +47 -0
- package/dist/src/indexer/parsers/rust.js.map +1 -0
- package/dist/src/indexer/parsers/scala.d.ts +2 -0
- package/dist/src/indexer/parsers/scala.js +41 -0
- package/dist/src/indexer/parsers/scala.js.map +1 -0
- package/dist/src/indexer/parsers/swift.d.ts +2 -0
- package/dist/src/indexer/parsers/swift.js +47 -0
- package/dist/src/indexer/parsers/swift.js.map +1 -0
- package/dist/src/indexer/parsers/tsjs.d.ts +2 -0
- package/dist/src/indexer/parsers/tsjs.js +201 -0
- package/dist/src/indexer/parsers/tsjs.js.map +1 -0
- package/dist/src/indexer/parsers/zig.d.ts +2 -0
- package/dist/src/indexer/parsers/zig.js +45 -0
- package/dist/src/indexer/parsers/zig.js.map +1 -0
- package/dist/src/indexer/setup.js +9 -2
- package/dist/src/indexer/setup.js.map +1 -1
- package/dist/src/server/assets/dashboard.css +675 -0
- package/dist/src/server/assets/dashboard.js +654 -0
- package/dist/src/server/dashboard-html.js +19 -1333
- package/dist/src/server/dashboard-html.js.map +1 -1
- package/dist/src/server/http-server.js +41 -24
- package/dist/src/server/http-server.js.map +1 -1
- package/dist/src/utils/integrity.d.ts +46 -0
- package/dist/src/utils/integrity.js +80 -0
- package/dist/src/utils/integrity.js.map +1 -0
- package/models.lock.json +46 -0
- package/package.json +4 -3
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { existsSync, mkdirSync, writeFileSync, statSync } from "node:fs";
|
|
10
10
|
import { join } from "node:path";
|
|
11
11
|
import { homedir } from "node:os";
|
|
12
|
+
import { verifyArtifact } from "../utils/integrity.js";
|
|
12
13
|
// Update these pins together with parser-tree-sitter.ts. Keep the
|
|
13
14
|
// version stable across releases so existing user installs don't
|
|
14
15
|
// invalidate caches when sverklo updates. Tested URLs as of 2026-04.
|
|
@@ -90,6 +91,11 @@ export async function installGrammars(opts) {
|
|
|
90
91
|
if (buf.length < 1024 || buf[0] !== 0x00 || buf[1] !== 0x61 || buf[2] !== 0x73 || buf[3] !== 0x6d) {
|
|
91
92
|
throw new Error(`response is not a valid WASM blob (${buf.length} bytes)`);
|
|
92
93
|
}
|
|
94
|
+
// Integrity check (Tier 3.2 / Security review 2026-05-13). The
|
|
95
|
+
// 4-byte magic above is shape; this is authenticity. A
|
|
96
|
+
// compromised CDN-served WASM still starts with \0asm. Lock
|
|
97
|
+
// entries pin sha256 per filename.
|
|
98
|
+
verifyArtifact("grammars", g.wasm, buf);
|
|
93
99
|
writeFileSync(out, buf);
|
|
94
100
|
results.push({ lang: g.lang, path: out, status: "fresh", bytes: buf.length });
|
|
95
101
|
opts.onProgress?.(` ok ${g.lang} → ${out} (${(buf.length / 1024).toFixed(0)} KB)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars-install.js","sourceRoot":"","sources":["../../../src/indexer/grammars-install.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,mEAAmE;AACnE,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,kEAAkE;AAClE,qDAAqD;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"grammars-install.js","sourceRoot":"","sources":["../../../src/indexer/grammars-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ParseResult } from "../types/index.js";
|
|
2
|
+
import { parseTSJS } from "./parsers/tsjs.js";
|
|
3
|
+
export { parseTSJS };
|
|
2
4
|
export declare function parseFile(content: string, language: string): ParseResult;
|
|
3
|
-
export declare function parseTSJS(content: string, lines: string[]): ParseResult;
|
|
4
5
|
/**
|
|
5
6
|
* Async parse path. When SVERKLO_PARSER=tree-sitter is set AND the
|
|
6
7
|
* web-tree-sitter dep is installed AND a grammar for the language is
|