circle-ir 4.17.0 → 4.18.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/dist/analysis/advisories.d.ts +186 -0
- package/dist/analysis/advisories.d.ts.map +1 -0
- package/dist/analysis/advisories.js +391 -0
- package/dist/analysis/advisories.js.map +1 -0
- package/dist/analysis/comment-lines.d.ts +14 -0
- package/dist/analysis/comment-lines.d.ts.map +1 -0
- package/dist/analysis/comment-lines.js +34 -0
- package/dist/analysis/comment-lines.js.map +1 -0
- package/dist/analysis/config-loader.d.ts.map +1 -1
- package/dist/analysis/config-loader.js +59 -5
- package/dist/analysis/config-loader.js.map +1 -1
- package/dist/analysis/constant-caller-gate.d.ts +2 -2
- package/dist/analysis/constant-caller-gate.d.ts.map +1 -1
- package/dist/analysis/constant-caller-gate.js +205 -29
- package/dist/analysis/constant-caller-gate.js.map +1 -1
- package/dist/analysis/constant-propagation/propagator.d.ts +4 -0
- package/dist/analysis/constant-propagation/propagator.d.ts.map +1 -1
- package/dist/analysis/constant-propagation/propagator.js +99 -0
- package/dist/analysis/constant-propagation/propagator.js.map +1 -1
- package/dist/analysis/entry-point-detection.d.ts.map +1 -1
- package/dist/analysis/entry-point-detection.js +72 -0
- package/dist/analysis/entry-point-detection.js.map +1 -1
- package/dist/analysis/interprocedural.d.ts.map +1 -1
- package/dist/analysis/interprocedural.js +75 -8
- package/dist/analysis/interprocedural.js.map +1 -1
- package/dist/analysis/maven-declared.d.ts +72 -0
- package/dist/analysis/maven-declared.d.ts.map +1 -0
- package/dist/analysis/maven-declared.js +216 -0
- package/dist/analysis/maven-declared.js.map +1 -0
- package/dist/analysis/maven-version.d.ts +28 -0
- package/dist/analysis/maven-version.d.ts.map +1 -0
- package/dist/analysis/maven-version.js +172 -0
- package/dist/analysis/maven-version.js.map +1 -0
- package/dist/analysis/passes/constant-propagation-pass.d.ts.map +1 -1
- package/dist/analysis/passes/constant-propagation-pass.js +29 -1
- package/dist/analysis/passes/constant-propagation-pass.js.map +1 -1
- package/dist/analysis/passes/cross-file-pass.d.ts.map +1 -1
- package/dist/analysis/passes/cross-file-pass.js +81 -1
- package/dist/analysis/passes/cross-file-pass.js.map +1 -1
- package/dist/analysis/passes/csharp-sanitizer-credit.d.ts +7 -0
- package/dist/analysis/passes/csharp-sanitizer-credit.d.ts.map +1 -1
- package/dist/analysis/passes/csharp-sanitizer-credit.js +44 -1
- package/dist/analysis/passes/csharp-sanitizer-credit.js.map +1 -1
- package/dist/analysis/passes/insecure-cookie-pass.d.ts +2 -0
- package/dist/analysis/passes/insecure-cookie-pass.d.ts.map +1 -1
- package/dist/analysis/passes/insecure-cookie-pass.js +25 -3
- package/dist/analysis/passes/insecure-cookie-pass.js.map +1 -1
- package/dist/analysis/passes/interprocedural-pass.d.ts +11 -14
- package/dist/analysis/passes/interprocedural-pass.d.ts.map +1 -1
- package/dist/analysis/passes/interprocedural-pass.js +562 -0
- package/dist/analysis/passes/interprocedural-pass.js.map +1 -1
- package/dist/analysis/passes/language-sources-pass.d.ts +18 -1
- package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
- package/dist/analysis/passes/language-sources-pass.js +1057 -14
- package/dist/analysis/passes/language-sources-pass.js.map +1 -1
- package/dist/analysis/passes/param-source-flow-gate-pass.d.ts.map +1 -1
- package/dist/analysis/passes/param-source-flow-gate-pass.js +66 -3
- package/dist/analysis/passes/param-source-flow-gate-pass.js.map +1 -1
- package/dist/analysis/passes/sink-filter-pass.d.ts +44 -2
- package/dist/analysis/passes/sink-filter-pass.d.ts.map +1 -1
- package/dist/analysis/passes/sink-filter-pass.js +690 -12
- package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
- package/dist/analysis/passes/taint-propagation-pass.d.ts.map +1 -1
- package/dist/analysis/passes/taint-propagation-pass.js +133 -10
- package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
- package/dist/analysis/passes/tls-verify-disabled-pass.d.ts +18 -0
- package/dist/analysis/passes/tls-verify-disabled-pass.d.ts.map +1 -1
- package/dist/analysis/passes/tls-verify-disabled-pass.js +161 -0
- package/dist/analysis/passes/tls-verify-disabled-pass.js.map +1 -1
- package/dist/analysis/passes/weak-random-pass.d.ts +6 -0
- package/dist/analysis/passes/weak-random-pass.d.ts.map +1 -1
- package/dist/analysis/passes/weak-random-pass.js +29 -0
- package/dist/analysis/passes/weak-random-pass.js.map +1 -1
- package/dist/analysis/promote-cross-file-flows.d.ts +17 -0
- package/dist/analysis/promote-cross-file-flows.d.ts.map +1 -0
- package/dist/analysis/promote-cross-file-flows.js +32 -0
- package/dist/analysis/promote-cross-file-flows.js.map +1 -0
- package/dist/analysis/sbom.d.ts +100 -0
- package/dist/analysis/sbom.d.ts.map +1 -1
- package/dist/analysis/sbom.js +514 -3
- package/dist/analysis/sbom.js.map +1 -1
- package/dist/analysis/semver-version.d.ts +30 -0
- package/dist/analysis/semver-version.d.ts.map +1 -0
- package/dist/analysis/semver-version.js +76 -0
- package/dist/analysis/semver-version.js.map +1 -0
- package/dist/analysis/taint-matcher.d.ts +5 -0
- package/dist/analysis/taint-matcher.d.ts.map +1 -1
- package/dist/analysis/taint-matcher.js +225 -4
- package/dist/analysis/taint-matcher.js.map +1 -1
- package/dist/analyzer.d.ts +57 -0
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +69 -6
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +2936 -291
- package/dist/core/circle-ir-core.cjs +634 -203
- package/dist/core/circle-ir-core.js +634 -203
- package/dist/core/extractors/dfg.js +205 -2
- package/dist/core/extractors/dfg.js.map +1 -1
- package/dist/core/extractors/ts-declaration-detail.d.ts +39 -0
- package/dist/core/extractors/ts-declaration-detail.d.ts.map +1 -0
- package/dist/core/extractors/ts-declaration-detail.js +266 -0
- package/dist/core/extractors/ts-declaration-detail.js.map +1 -0
- package/dist/graph/analysis-pass.d.ts +4 -1
- package/dist/graph/analysis-pass.d.ts.map +1 -1
- package/dist/graph/analysis-pass.js +4 -1
- package/dist/graph/analysis-pass.js.map +1 -1
- package/dist/graph-facts/dead-code.d.ts +62 -0
- package/dist/graph-facts/dead-code.d.ts.map +1 -0
- package/dist/graph-facts/dead-code.js +90 -0
- package/dist/graph-facts/dead-code.js.map +1 -0
- package/dist/graph-facts/dependency-calls.d.ts +86 -0
- package/dist/graph-facts/dependency-calls.d.ts.map +1 -0
- package/dist/graph-facts/dependency-calls.js +93 -0
- package/dist/graph-facts/dependency-calls.js.map +1 -0
- package/dist/graph-facts/index.d.ts +10 -0
- package/dist/graph-facts/index.d.ts.map +1 -0
- package/dist/graph-facts/index.js +10 -0
- package/dist/graph-facts/index.js.map +1 -0
- package/dist/graph-facts/maven-packages.d.ts +42 -0
- package/dist/graph-facts/maven-packages.d.ts.map +1 -0
- package/dist/graph-facts/maven-packages.js +133 -0
- package/dist/graph-facts/maven-packages.js.map +1 -0
- package/dist/graph-facts/reach.d.ts +203 -0
- package/dist/graph-facts/reach.d.ts.map +1 -0
- package/dist/graph-facts/reach.js +219 -0
- package/dist/graph-facts/reach.js.map +1 -0
- package/dist/graph-facts/removal-reach.d.ts +73 -0
- package/dist/graph-facts/removal-reach.d.ts.map +1 -0
- package/dist/graph-facts/removal-reach.js +64 -0
- package/dist/graph-facts/removal-reach.js.map +1 -0
- package/dist/index.d.ts +21 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/navigation/go-graph.d.ts +68 -0
- package/dist/navigation/go-graph.d.ts.map +1 -0
- package/dist/navigation/go-graph.js +753 -0
- package/dist/navigation/go-graph.js.map +1 -0
- package/dist/navigation/index.d.ts +7 -1
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js +6 -0
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/java-entry-tables.d.ts +43 -0
- package/dist/navigation/java-entry-tables.d.ts.map +1 -0
- package/dist/navigation/java-entry-tables.js +56 -0
- package/dist/navigation/java-entry-tables.js.map +1 -0
- package/dist/navigation/java-graph.d.ts +64 -0
- package/dist/navigation/java-graph.d.ts.map +1 -0
- package/dist/navigation/java-graph.js +466 -0
- package/dist/navigation/java-graph.js.map +1 -0
- package/dist/navigation/navigation-index.d.ts +51 -1
- package/dist/navigation/navigation-index.d.ts.map +1 -1
- package/dist/navigation/navigation-index.js +72 -0
- package/dist/navigation/navigation-index.js.map +1 -1
- package/dist/navigation/python-graph.d.ts +73 -0
- package/dist/navigation/python-graph.d.ts.map +1 -0
- package/dist/navigation/python-graph.js +867 -0
- package/dist/navigation/python-graph.js.map +1 -0
- package/dist/navigation/ts-call-edges.d.ts +193 -0
- package/dist/navigation/ts-call-edges.d.ts.map +1 -0
- package/dist/navigation/ts-call-edges.js +2089 -0
- package/dist/navigation/ts-call-edges.js.map +1 -0
- package/dist/navigation/ts-entry-tables.d.ts +88 -0
- package/dist/navigation/ts-entry-tables.d.ts.map +1 -0
- package/dist/navigation/ts-entry-tables.js +50 -0
- package/dist/navigation/ts-entry-tables.js.map +1 -0
- package/dist/path-set/branches.d.ts +52 -0
- package/dist/path-set/branches.d.ts.map +1 -0
- package/dist/path-set/branches.js +124 -0
- package/dist/path-set/branches.js.map +1 -0
- package/dist/path-set/finding-diff.d.ts +63 -0
- package/dist/path-set/finding-diff.d.ts.map +1 -0
- package/dist/path-set/finding-diff.js +150 -0
- package/dist/path-set/finding-diff.js.map +1 -0
- package/dist/path-set/index.d.ts +18 -0
- package/dist/path-set/index.d.ts.map +1 -0
- package/dist/path-set/index.js +12 -0
- package/dist/path-set/index.js.map +1 -0
- package/dist/path-set/line-diff.d.ts +19 -0
- package/dist/path-set/line-diff.d.ts.map +1 -0
- package/dist/path-set/line-diff.js +98 -0
- package/dist/path-set/line-diff.js.map +1 -0
- package/dist/path-set/path-set.d.ts +88 -0
- package/dist/path-set/path-set.d.ts.map +1 -0
- package/dist/path-set/path-set.js +716 -0
- package/dist/path-set/path-set.js.map +1 -0
- package/dist/path-set/templates.d.ts +42 -0
- package/dist/path-set/templates.d.ts.map +1 -0
- package/dist/path-set/templates.js +119 -0
- package/dist/path-set/templates.js.map +1 -0
- package/dist/path-set/types.d.ts +195 -0
- package/dist/path-set/types.d.ts.map +1 -0
- package/dist/path-set/types.js +8 -0
- package/dist/path-set/types.js.map +1 -0
- package/dist/remedy-class/index.d.ts +12 -0
- package/dist/remedy-class/index.d.ts.map +1 -0
- package/dist/remedy-class/index.js +9 -0
- package/dist/remedy-class/index.js.map +1 -0
- package/dist/remedy-class/match.d.ts +165 -0
- package/dist/remedy-class/match.d.ts.map +1 -0
- package/dist/remedy-class/match.js +705 -0
- package/dist/remedy-class/match.js.map +1 -0
- package/dist/remedy-class/output-context.d.ts +25 -0
- package/dist/remedy-class/output-context.d.ts.map +1 -0
- package/dist/remedy-class/output-context.js +150 -0
- package/dist/remedy-class/output-context.js.map +1 -0
- package/dist/remedy-class/sha256.d.ts +18 -0
- package/dist/remedy-class/sha256.d.ts.map +1 -0
- package/dist/remedy-class/sha256.js +89 -0
- package/dist/remedy-class/sha256.js.map +1 -0
- package/dist/remedy-class/table.d.ts +130 -0
- package/dist/remedy-class/table.d.ts.map +1 -0
- package/dist/remedy-class/table.js +457 -0
- package/dist/remedy-class/table.js.map +1 -0
- package/dist/resolution/cross-file.d.ts +9 -0
- package/dist/resolution/cross-file.d.ts.map +1 -1
- package/dist/resolution/cross-file.js +60 -5
- package/dist/resolution/cross-file.js.map +1 -1
- package/dist/stable-ids/builder.d.ts +20 -0
- package/dist/stable-ids/builder.d.ts.map +1 -0
- package/dist/stable-ids/builder.js +65 -0
- package/dist/stable-ids/builder.js.map +1 -0
- package/dist/stable-ids/diff.d.ts +18 -0
- package/dist/stable-ids/diff.d.ts.map +1 -0
- package/dist/stable-ids/diff.js +37 -0
- package/dist/stable-ids/diff.js.map +1 -0
- package/dist/stable-ids/go.d.ts +28 -0
- package/dist/stable-ids/go.d.ts.map +1 -0
- package/dist/stable-ids/go.js +160 -0
- package/dist/stable-ids/go.js.map +1 -0
- package/dist/stable-ids/hash.d.ts +22 -0
- package/dist/stable-ids/hash.d.ts.map +1 -0
- package/dist/stable-ids/hash.js +167 -0
- package/dist/stable-ids/hash.js.map +1 -0
- package/dist/stable-ids/index.d.ts +30 -0
- package/dist/stable-ids/index.d.ts.map +1 -0
- package/dist/stable-ids/index.js +59 -0
- package/dist/stable-ids/index.js.map +1 -0
- package/dist/stable-ids/java.d.ts +28 -0
- package/dist/stable-ids/java.d.ts.map +1 -0
- package/dist/stable-ids/java.js +224 -0
- package/dist/stable-ids/java.js.map +1 -0
- package/dist/stable-ids/moves.d.ts +87 -0
- package/dist/stable-ids/moves.d.ts.map +1 -0
- package/dist/stable-ids/moves.js +222 -0
- package/dist/stable-ids/moves.js.map +1 -0
- package/dist/stable-ids/nodes.d.ts +32 -0
- package/dist/stable-ids/nodes.d.ts.map +1 -0
- package/dist/stable-ids/nodes.js +92 -0
- package/dist/stable-ids/nodes.js.map +1 -0
- package/dist/stable-ids/normalize.d.ts +35 -0
- package/dist/stable-ids/normalize.d.ts.map +1 -0
- package/dist/stable-ids/normalize.js +174 -0
- package/dist/stable-ids/normalize.js.map +1 -0
- package/dist/stable-ids/parse-errors.d.ts +24 -0
- package/dist/stable-ids/parse-errors.d.ts.map +1 -0
- package/dist/stable-ids/parse-errors.js +46 -0
- package/dist/stable-ids/parse-errors.js.map +1 -0
- package/dist/stable-ids/python.d.ts +27 -0
- package/dist/stable-ids/python.d.ts.map +1 -0
- package/dist/stable-ids/python.js +212 -0
- package/dist/stable-ids/python.js.map +1 -0
- package/dist/stable-ids/ts-parse-errors.d.ts +27 -0
- package/dist/stable-ids/ts-parse-errors.d.ts.map +1 -0
- package/dist/stable-ids/ts-parse-errors.js +75 -0
- package/dist/stable-ids/ts-parse-errors.js.map +1 -0
- package/dist/stable-ids/types.d.ts +106 -0
- package/dist/stable-ids/types.d.ts.map +1 -0
- package/dist/stable-ids/types.js +16 -0
- package/dist/stable-ids/types.js.map +1 -0
- package/dist/stable-ids/typescript.d.ts +30 -0
- package/dist/stable-ids/typescript.d.ts.map +1 -0
- package/dist/stable-ids/typescript.js +362 -0
- package/dist/stable-ids/typescript.js.map +1 -0
- package/dist/types/config.d.ts +9 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +35 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable code ids (scheme `ids@0.1`).
|
|
3
|
+
*
|
|
4
|
+
* A declaration's id is derived from what names it — language, kind,
|
|
5
|
+
* qualified name and signature — never from its position in a file, so an
|
|
6
|
+
* edit elsewhere in the file (or a move of the whole declaration inside the
|
|
7
|
+
* file) leaves it unchanged. A body id adds a hash of the normalized body, so
|
|
8
|
+
* it changes when, and only when, the body changes. Node ids (CFG blocks, DFG
|
|
9
|
+
* defs and uses, call sites) are local indexes inside one body version.
|
|
10
|
+
*
|
|
11
|
+
* The scheme is versioned: every id-bearing record carries `scheme`, and the
|
|
12
|
+
* scheme string is part of every hash, so ids of two scheme versions can never
|
|
13
|
+
* collide or be mixed silently.
|
|
14
|
+
*/
|
|
15
|
+
export declare const STABLE_ID_SCHEME: 'ids@0.1';
|
|
16
|
+
export type StableIdScheme = typeof STABLE_ID_SCHEME;
|
|
17
|
+
export type StableDeclKind = 'function' | 'method' | 'type' | 'field' | 'module';
|
|
18
|
+
/**
|
|
19
|
+
* - `unstable:duplicate` — another declaration in the same scope has the same
|
|
20
|
+
* kind, qualified name and signature; the second and later ones carry a
|
|
21
|
+
* `#n` suffix in source order, so inserting one before another re-keys it.
|
|
22
|
+
* - `unstable:anonymous` — an anonymous or nested function, keyed by its
|
|
23
|
+
* enclosing declaration plus its structural position there; an edit to the
|
|
24
|
+
* enclosing body may re-key it.
|
|
25
|
+
*/
|
|
26
|
+
export type StableIdFlag = 'unstable:duplicate' | 'unstable:anonymous';
|
|
27
|
+
export interface StableDecl {
|
|
28
|
+
/** 128-bit declaration id, 26 lowercase base32 characters. */
|
|
29
|
+
id: string;
|
|
30
|
+
/** `<id>.<body_hash>` — changes when and only when the body changes. */
|
|
31
|
+
body_id: string;
|
|
32
|
+
/** 128-bit hash of the normalized body (whitespace, comments and formatting removed). */
|
|
33
|
+
body_hash: string;
|
|
34
|
+
kind: StableDeclKind;
|
|
35
|
+
/** The declaration's own name (`default` for an anonymous default export). */
|
|
36
|
+
name: string;
|
|
37
|
+
/**
|
|
38
|
+
* `<module>:<Outer>.<member>` for declarations; nested and anonymous
|
|
39
|
+
* functions append `/<name>@<path>` to their enclosing declaration's name.
|
|
40
|
+
*/
|
|
41
|
+
qualified_name: string;
|
|
42
|
+
/** Canonical signature; parameter names never take part. */
|
|
43
|
+
signature: string;
|
|
44
|
+
/** The enclosing declaration's id (`null` only for the module itself). */
|
|
45
|
+
parent: string | null;
|
|
46
|
+
/** 1-based, inclusive. */
|
|
47
|
+
start_line: number;
|
|
48
|
+
end_line: number;
|
|
49
|
+
/** 0-based. */
|
|
50
|
+
start_column: number;
|
|
51
|
+
end_column: number;
|
|
52
|
+
flags: StableIdFlag[];
|
|
53
|
+
/** Number of normalized body tokens. Small bodies are weak evidence of a move. */
|
|
54
|
+
token_count: number;
|
|
55
|
+
/** The normalized body tokens; present only under `keepBodyTokens`. */
|
|
56
|
+
body_tokens?: string[];
|
|
57
|
+
}
|
|
58
|
+
export interface StableIdFile {
|
|
59
|
+
scheme: StableIdScheme;
|
|
60
|
+
file: string;
|
|
61
|
+
/** `typescript` for `.ts`/`.tsx`, `javascript` for `.js`/`.jsx`, `java` for `.java`, `python` for `.py`. */
|
|
62
|
+
language: 'javascript' | 'typescript' | 'java' | 'python' | 'go';
|
|
63
|
+
/** The module path every qualified name in this file starts with. */
|
|
64
|
+
module: string;
|
|
65
|
+
/** Source order, a parent before its members. The first entry is the module. */
|
|
66
|
+
decls: StableDecl[];
|
|
67
|
+
/** `true` when the parse had errors; ids under an error region may be missing. */
|
|
68
|
+
partial: boolean;
|
|
69
|
+
/** When `partial`: the first error, in source order, that made it so. */
|
|
70
|
+
parseError?: ParseErrorSite;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Where a file stopped parsing. `nodeKind` is `ERROR` for a region the
|
|
74
|
+
* grammar could not read, or `MISSING <token>` for a token the parser had to
|
|
75
|
+
* insert; `parent` is the syntax node it sits in. Lines and columns are 1-based.
|
|
76
|
+
*/
|
|
77
|
+
export interface ParseErrorSite {
|
|
78
|
+
line: number;
|
|
79
|
+
column: number;
|
|
80
|
+
nodeKind: string;
|
|
81
|
+
parent: string;
|
|
82
|
+
}
|
|
83
|
+
export interface StableIdOptions {
|
|
84
|
+
/**
|
|
85
|
+
* The module path to use as-is. Otherwise it is derived by
|
|
86
|
+
* `moduleNameFor(filePath, options)`.
|
|
87
|
+
*/
|
|
88
|
+
module?: string;
|
|
89
|
+
/** The package name (from the nearest `package.json`). */
|
|
90
|
+
packageName?: string;
|
|
91
|
+
/**
|
|
92
|
+
* The package's directory, relative to the repository root (`''` or absent
|
|
93
|
+
* for the root). `filePath` is expected repository-relative.
|
|
94
|
+
*/
|
|
95
|
+
packageRoot?: string;
|
|
96
|
+
/** Keep `body_tokens` on each declaration (needed for similarity candidates). */
|
|
97
|
+
keepBodyTokens?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/** Stable node ids parallel to the IR arrays they key; `null` where no body encloses the node. */
|
|
100
|
+
export interface StableNodeIds {
|
|
101
|
+
cfg_blocks: (string | null)[];
|
|
102
|
+
dfg_defs: (string | null)[];
|
|
103
|
+
dfg_uses: (string | null)[];
|
|
104
|
+
calls: (string | null)[];
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stable-ids/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4GAA4G;IAC5G,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACjE,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,kFAAkF;IAClF,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,kGAAkG;AAClG,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5B,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable code ids (scheme `ids@0.1`).
|
|
3
|
+
*
|
|
4
|
+
* A declaration's id is derived from what names it — language, kind,
|
|
5
|
+
* qualified name and signature — never from its position in a file, so an
|
|
6
|
+
* edit elsewhere in the file (or a move of the whole declaration inside the
|
|
7
|
+
* file) leaves it unchanged. A body id adds a hash of the normalized body, so
|
|
8
|
+
* it changes when, and only when, the body changes. Node ids (CFG blocks, DFG
|
|
9
|
+
* defs and uses, call sites) are local indexes inside one body version.
|
|
10
|
+
*
|
|
11
|
+
* The scheme is versioned: every id-bearing record carries `scheme`, and the
|
|
12
|
+
* scheme string is part of every hash, so ids of two scheme versions can never
|
|
13
|
+
* collide or be mixed silently.
|
|
14
|
+
*/
|
|
15
|
+
export const STABLE_ID_SCHEME = 'ids@0.1';
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stable-ids/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAkB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ids@0.1` declaration and body ids for TypeScript and JavaScript.
|
|
3
|
+
*
|
|
4
|
+
* Declarations: the module itself; functions (declarations, overload
|
|
5
|
+
* signatures, `const f = () => …`, `exports.f = function …`); classes,
|
|
6
|
+
* interfaces, type aliases and enums (kind `type`); methods and accessors;
|
|
7
|
+
* class fields, interface properties and module-level variables (kind
|
|
8
|
+
* `field`); namespaces and ambient modules (kind `module`). Functions and
|
|
9
|
+
* classes nested inside a body, and callbacks in top-level code, are keyed by
|
|
10
|
+
* their enclosing declaration plus a structural path and flagged
|
|
11
|
+
* `unstable:anonymous`.
|
|
12
|
+
*
|
|
13
|
+
* Bodies: a leaf declaration's body is its whole subtree minus its own name
|
|
14
|
+
* (so a rename keeps the body hash). A container's body (module, namespace,
|
|
15
|
+
* class, interface) is its own tokens with each member replaced by a
|
|
16
|
+
* placeholder of the member's kind, name and signature — editing a method body
|
|
17
|
+
* changes the method's body id, not the class's; adding, removing or renaming
|
|
18
|
+
* a member changes both.
|
|
19
|
+
*/
|
|
20
|
+
import type { Tree } from '../core/parser.js';
|
|
21
|
+
import { type StableIdFile, type StableIdOptions } from './types.js';
|
|
22
|
+
/**
|
|
23
|
+
* The module path for a TypeScript/JavaScript file: the package name plus the
|
|
24
|
+
* path inside `src/` (or inside the package when it has no `src/`), extension
|
|
25
|
+
* removed; without a package name, the repository-relative path.
|
|
26
|
+
*/
|
|
27
|
+
export declare function moduleNameFor(filePath: string, options?: StableIdOptions): string;
|
|
28
|
+
/** Derive `ids@0.1` ids from an already-parsed TypeScript/JavaScript tree. */
|
|
29
|
+
export declare function deriveTypeScriptIds(tree: Tree, filePath: string, language: 'javascript' | 'typescript', options?: StableIdOptions): StableIdFile;
|
|
30
|
+
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/stable-ids/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAIL,KAAK,YAAY,EAEjB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAmBpB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAOrF;AA2SD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,GAAG,YAAY,EACrC,OAAO,GAAE,eAAoB,GAC5B,YAAY,CAgBd"}
|
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ids@0.1` declaration and body ids for TypeScript and JavaScript.
|
|
3
|
+
*
|
|
4
|
+
* Declarations: the module itself; functions (declarations, overload
|
|
5
|
+
* signatures, `const f = () => …`, `exports.f = function …`); classes,
|
|
6
|
+
* interfaces, type aliases and enums (kind `type`); methods and accessors;
|
|
7
|
+
* class fields, interface properties and module-level variables (kind
|
|
8
|
+
* `field`); namespaces and ambient modules (kind `module`). Functions and
|
|
9
|
+
* classes nested inside a body, and callbacks in top-level code, are keyed by
|
|
10
|
+
* their enclosing declaration plus a structural path and flagged
|
|
11
|
+
* `unstable:anonymous`.
|
|
12
|
+
*
|
|
13
|
+
* Bodies: a leaf declaration's body is its whole subtree minus its own name
|
|
14
|
+
* (so a rename keeps the body hash). A container's body (module, namespace,
|
|
15
|
+
* class, interface) is its own tokens with each member replaced by a
|
|
16
|
+
* placeholder of the member's kind, name and signature — editing a method body
|
|
17
|
+
* changes the method's body id, not the class's; adding, removing or renaming
|
|
18
|
+
* a member changes both.
|
|
19
|
+
*/
|
|
20
|
+
import { Builder, placeholder } from './builder.js';
|
|
21
|
+
import { bodyTokens, canonicalType, joinTokens, namedChildren } from './normalize.js';
|
|
22
|
+
import { firstDeclarationHidingError } from './ts-parse-errors.js';
|
|
23
|
+
import { STABLE_ID_SCHEME, } from './types.js';
|
|
24
|
+
const FUNCTION_VALUES = new Set(['arrow_function', 'function_expression', 'function', 'generator_function']);
|
|
25
|
+
const CLASS_VALUES = new Set(['class']);
|
|
26
|
+
const FUNCTION_DECLS = new Set(['function_declaration', 'generator_function_declaration', 'function_signature']);
|
|
27
|
+
const CLASS_DECLS = new Set(['class_declaration', 'abstract_class_declaration']);
|
|
28
|
+
const NESTED = new Set([
|
|
29
|
+
...FUNCTION_VALUES, ...CLASS_VALUES,
|
|
30
|
+
'function_declaration', 'generator_function_declaration', 'method_definition', 'class_declaration',
|
|
31
|
+
]);
|
|
32
|
+
const METHODS = new Set(['method_definition', 'abstract_method_signature', 'method_signature']);
|
|
33
|
+
const FIELDS = new Set(['public_field_definition', 'field_definition', 'property_signature']);
|
|
34
|
+
const NAMESPACES = new Set(['internal_module', 'module']);
|
|
35
|
+
/** The repository-relative path with its extension removed, `\` as `/`. */
|
|
36
|
+
function stripExtension(path) {
|
|
37
|
+
return path.replace(/\.(?:[mc]?[jt]s|[jt]sx)$/, '');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The module path for a TypeScript/JavaScript file: the package name plus the
|
|
41
|
+
* path inside `src/` (or inside the package when it has no `src/`), extension
|
|
42
|
+
* removed; without a package name, the repository-relative path.
|
|
43
|
+
*/
|
|
44
|
+
export function moduleNameFor(filePath, options = {}) {
|
|
45
|
+
let path = filePath.replace(/\\/g, '/').replace(/^\.\//, '');
|
|
46
|
+
if (!options.packageName)
|
|
47
|
+
return stripExtension(path);
|
|
48
|
+
const root = (options.packageRoot ?? '').replace(/\\/g, '/').replace(/^\.\//, '').replace(/\/$/, '');
|
|
49
|
+
if (root !== '' && path.startsWith(root + '/'))
|
|
50
|
+
path = path.slice(root.length + 1);
|
|
51
|
+
if (path.startsWith('src/'))
|
|
52
|
+
path = path.slice(4);
|
|
53
|
+
return `${options.packageName}/${stripExtension(path)}`;
|
|
54
|
+
}
|
|
55
|
+
function hasToken(node, text, before) {
|
|
56
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
57
|
+
const c = node.child(i);
|
|
58
|
+
if (!c)
|
|
59
|
+
continue;
|
|
60
|
+
if (before && c.id === before.id)
|
|
61
|
+
return false;
|
|
62
|
+
if (!c.isNamed && c.text === text)
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
function nameText(node) {
|
|
68
|
+
if (!node)
|
|
69
|
+
return null;
|
|
70
|
+
if (node.type === 'string') {
|
|
71
|
+
const frag = namedChildren(node).map(c => c.text).join('');
|
|
72
|
+
return frag;
|
|
73
|
+
}
|
|
74
|
+
return joinTokens(bodyTokens([node]));
|
|
75
|
+
}
|
|
76
|
+
function paramSignature(p) {
|
|
77
|
+
switch (p.type) {
|
|
78
|
+
case 'required_parameter':
|
|
79
|
+
case 'optional_parameter': {
|
|
80
|
+
const pattern = p.childForFieldName('pattern');
|
|
81
|
+
const type = p.childForFieldName('type');
|
|
82
|
+
const value = p.childForFieldName('value');
|
|
83
|
+
const t = type ? canonicalType(type) : '_';
|
|
84
|
+
const rest = pattern?.type === 'rest_pattern' ? '...' : '';
|
|
85
|
+
const self = pattern?.type === 'this' ? 'this:' : '';
|
|
86
|
+
const optional = p.type === 'optional_parameter' || value ? '?' : '';
|
|
87
|
+
return self + rest + t + optional;
|
|
88
|
+
}
|
|
89
|
+
case 'assignment_pattern':
|
|
90
|
+
return '_?';
|
|
91
|
+
case 'rest_pattern':
|
|
92
|
+
return '..._';
|
|
93
|
+
default:
|
|
94
|
+
return '_';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** `[static ][get |set ][<T…>](P1,P2?,...P3)[:R]` — parameter names never take part. */
|
|
98
|
+
function functionSignature(fn, prefix = '') {
|
|
99
|
+
const typeParams = fn.childForFieldName('type_parameters');
|
|
100
|
+
const params = fn.childForFieldName('parameters');
|
|
101
|
+
const single = fn.childForFieldName('parameter');
|
|
102
|
+
let list = [];
|
|
103
|
+
if (params)
|
|
104
|
+
list = namedChildren(params).map(paramSignature);
|
|
105
|
+
else if (single)
|
|
106
|
+
list = ['_'];
|
|
107
|
+
const ret = fn.childForFieldName('return_type');
|
|
108
|
+
return prefix
|
|
109
|
+
+ (typeParams ? canonicalType(typeParams) : '')
|
|
110
|
+
+ '(' + list.join(',') + ')'
|
|
111
|
+
+ (ret ? ':' + canonicalType(ret) : '');
|
|
112
|
+
}
|
|
113
|
+
function typeSignature(node) {
|
|
114
|
+
const typeParams = node.childForFieldName('type_parameters');
|
|
115
|
+
return typeParams ? canonicalType(typeParams) : '';
|
|
116
|
+
}
|
|
117
|
+
function memberPrefix(member) {
|
|
118
|
+
const name = member.childForFieldName('name') ?? member.childForFieldName('property');
|
|
119
|
+
let prefix = hasToken(member, 'static', name) ? 'static ' : '';
|
|
120
|
+
if (hasToken(member, 'get', name))
|
|
121
|
+
prefix += 'get ';
|
|
122
|
+
else if (hasToken(member, 'set', name))
|
|
123
|
+
prefix += 'set ';
|
|
124
|
+
return prefix;
|
|
125
|
+
}
|
|
126
|
+
/** Name of a nested function or class: its own, or the binding it is assigned to. */
|
|
127
|
+
function localName(node) {
|
|
128
|
+
const own = node.childForFieldName('name');
|
|
129
|
+
if (own)
|
|
130
|
+
return nameText(own);
|
|
131
|
+
const parent = node.parent;
|
|
132
|
+
if (!parent)
|
|
133
|
+
return null;
|
|
134
|
+
if (parent.type === 'variable_declarator')
|
|
135
|
+
return nameText(parent.childForFieldName('name'));
|
|
136
|
+
if (parent.type === 'pair')
|
|
137
|
+
return nameText(parent.childForFieldName('key'));
|
|
138
|
+
if (parent.type === 'assignment_expression')
|
|
139
|
+
return nameText(parent.childForFieldName('left'));
|
|
140
|
+
if (parent.type === 'public_field_definition' || parent.type === 'field_definition') {
|
|
141
|
+
return nameText(parent.childForFieldName('name') ?? parent.childForFieldName('property'));
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
/** `exports.X` / `module.exports.X` → `X`. */
|
|
146
|
+
function commonJsExportName(left) {
|
|
147
|
+
if (!left || left.type !== 'member_expression')
|
|
148
|
+
return null;
|
|
149
|
+
const object = left.childForFieldName('object');
|
|
150
|
+
const property = left.childForFieldName('property');
|
|
151
|
+
if (!object || !property)
|
|
152
|
+
return null;
|
|
153
|
+
const o = joinTokens(bodyTokens([object]));
|
|
154
|
+
return o === 'exports' || o === 'module.exports' ? property.text : null;
|
|
155
|
+
}
|
|
156
|
+
class Extractor {
|
|
157
|
+
b;
|
|
158
|
+
constructor(b) {
|
|
159
|
+
this.b = b;
|
|
160
|
+
}
|
|
161
|
+
/** Functions and classes inside `node`'s subtree, keyed under `enclosing`. */
|
|
162
|
+
nested(node, enclosing, exclude, path = '', self = null) {
|
|
163
|
+
const kids = namedChildren(node);
|
|
164
|
+
for (let i = 0; i < kids.length; i++) {
|
|
165
|
+
const c = kids[i];
|
|
166
|
+
if (exclude.has(c.id))
|
|
167
|
+
continue;
|
|
168
|
+
const p = path === '' ? `${i}` : `${path}.${i}`;
|
|
169
|
+
// `self` is the declaration's own function value (`const f = () => …`):
|
|
170
|
+
// walked through, never declared a second time as a nested function.
|
|
171
|
+
if (NESTED.has(c.type) && c.id !== self?.id)
|
|
172
|
+
this.declareNested(c, enclosing, p);
|
|
173
|
+
else
|
|
174
|
+
this.nested(c, enclosing, exclude, p, self);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
declareNested(node, enclosing, path) {
|
|
178
|
+
const name = localName(node) ?? '<anonymous>';
|
|
179
|
+
const isClass = node.type === 'class' || node.type === 'class_declaration';
|
|
180
|
+
const kind = isClass ? 'type' : 'function';
|
|
181
|
+
const signature = isClass ? typeSignature(node) : functionSignature(node, node.type === 'method_definition' ? memberPrefix(node) : '');
|
|
182
|
+
const decl = this.b.add(kind, name, `${enclosing.qualified_name}/${name}@${path}`, signature, node, enclosing.id, ['unstable:anonymous']);
|
|
183
|
+
const own = node.childForFieldName('name');
|
|
184
|
+
const skip = new Set(own ? [own.id] : []);
|
|
185
|
+
this.b.setBody(decl, bodyTokens([node], { skip }));
|
|
186
|
+
this.nested(node, decl, skip);
|
|
187
|
+
}
|
|
188
|
+
/** A leaf declaration: body = `nodes` minus `nameNode`, nested functions under it. */
|
|
189
|
+
leaf(kind, name, prefix, signature, at, nodes, nameNode, parent, self = null) {
|
|
190
|
+
const decl = this.b.add(kind, name, prefix + name, signature, at, parent.id);
|
|
191
|
+
const skip = new Set(nameNode ? [nameNode.id] : []);
|
|
192
|
+
this.b.setBody(decl, bodyTokens(nodes, { skip }));
|
|
193
|
+
for (const n of nodes)
|
|
194
|
+
this.nested(n, decl, skip, '', self);
|
|
195
|
+
return decl;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* One statement of a module or namespace body. Members found are added to
|
|
199
|
+
* `replace` (member node → placeholder) so the container's own body does
|
|
200
|
+
* not change when only a member's body does.
|
|
201
|
+
*/
|
|
202
|
+
statement(stmt, prefix, parent, replace) {
|
|
203
|
+
const t = stmt.type;
|
|
204
|
+
if (t === 'export_statement') {
|
|
205
|
+
const declaration = stmt.childForFieldName('declaration');
|
|
206
|
+
if (declaration) {
|
|
207
|
+
this.statement(declaration, prefix, parent, replace);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const value = stmt.childForFieldName('value');
|
|
211
|
+
if (value && (FUNCTION_VALUES.has(value.type) || CLASS_VALUES.has(value.type))) {
|
|
212
|
+
this.binding('default', value, value, null, prefix, parent, replace);
|
|
213
|
+
}
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if (t === 'ambient_declaration' || (t === 'expression_statement' && stmt.namedChildCount === 1 && NAMESPACES.has(stmt.namedChild(0)?.type ?? ''))) {
|
|
217
|
+
for (const c of namedChildren(stmt))
|
|
218
|
+
this.statement(c, prefix, parent, replace);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (FUNCTION_DECLS.has(t) || FUNCTION_VALUES.has(t) || CLASS_DECLS.has(t) || CLASS_VALUES.has(t)) {
|
|
222
|
+
const nameNode = stmt.childForFieldName('name');
|
|
223
|
+
this.binding(nameNode ? nameText(nameNode) ?? 'default' : 'default', stmt, stmt, nameNode, prefix, parent, replace);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (t === 'interface_declaration') {
|
|
227
|
+
const nameNode = stmt.childForFieldName('name');
|
|
228
|
+
const decl = this.b.add('type', nameText(nameNode) ?? 'default', prefix + (nameText(nameNode) ?? 'default'), typeSignature(stmt), stmt, parent.id);
|
|
229
|
+
replace.set(stmt.id, placeholder('type', decl.name, decl.signature));
|
|
230
|
+
this.members(decl, stmt, nameNode, stmt.childForFieldName('body'));
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if (t === 'type_alias_declaration' || t === 'enum_declaration') {
|
|
234
|
+
const nameNode = stmt.childForFieldName('name');
|
|
235
|
+
const name = nameText(nameNode) ?? 'default';
|
|
236
|
+
const signature = typeSignature(stmt);
|
|
237
|
+
this.leaf('type', name, prefix, signature, stmt, [stmt], nameNode, parent);
|
|
238
|
+
replace.set(stmt.id, placeholder('type', name, signature));
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
if (NAMESPACES.has(t)) {
|
|
242
|
+
const nameNode = stmt.childForFieldName('name');
|
|
243
|
+
const name = nameText(nameNode) ?? 'global';
|
|
244
|
+
const decl = this.b.add('module', name, prefix + name, '', stmt, parent.id);
|
|
245
|
+
replace.set(stmt.id, placeholder('module', name, ''));
|
|
246
|
+
const inner = new Map();
|
|
247
|
+
const body = stmt.childForFieldName('body');
|
|
248
|
+
if (body)
|
|
249
|
+
for (const s of namedChildren(body))
|
|
250
|
+
this.statement(s, decl.qualified_name + '.', decl, inner);
|
|
251
|
+
const skip = new Set(nameNode ? [nameNode.id] : []);
|
|
252
|
+
this.b.setBody(decl, bodyTokens([stmt], { skip, replace: inner }));
|
|
253
|
+
this.nested(stmt, decl, new Set([...skip, ...inner.keys()]));
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
if (t === 'lexical_declaration' || t === 'variable_declaration') {
|
|
257
|
+
for (const d of namedChildren(stmt)) {
|
|
258
|
+
if (d.type !== 'variable_declarator')
|
|
259
|
+
continue;
|
|
260
|
+
const nameNode = d.childForFieldName('name');
|
|
261
|
+
if (nameNode?.type !== 'identifier')
|
|
262
|
+
continue;
|
|
263
|
+
const value = d.childForFieldName('value');
|
|
264
|
+
this.binding(nameNode.text, d, value, nameNode, prefix, parent, replace);
|
|
265
|
+
}
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (t === 'expression_statement') {
|
|
269
|
+
const expr = stmt.namedChild(0);
|
|
270
|
+
if (expr?.type === 'assignment_expression') {
|
|
271
|
+
const name = commonJsExportName(expr.childForFieldName('left'));
|
|
272
|
+
if (name)
|
|
273
|
+
this.binding(name, expr, expr.childForFieldName('right'), expr.childForFieldName('left'), prefix, parent, replace);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* A named binding at module or namespace level: `holder` is the node that
|
|
279
|
+
* is replaced in the container, `value` decides the kind.
|
|
280
|
+
*/
|
|
281
|
+
binding(name, holder, value, nameNode, prefix, parent, replace) {
|
|
282
|
+
const v = value ?? holder;
|
|
283
|
+
if (CLASS_DECLS.has(v.type) || CLASS_VALUES.has(v.type)) {
|
|
284
|
+
const decl = this.b.add('type', name, prefix + name, typeSignature(v), holder, parent.id);
|
|
285
|
+
replace.set(holder.id, placeholder('type', name, decl.signature));
|
|
286
|
+
const ownName = v.childForFieldName('name');
|
|
287
|
+
const skipName = new Set([...(nameNode ? [nameNode.id] : []), ...(ownName ? [ownName.id] : [])]);
|
|
288
|
+
this.members(decl, holder, null, v.childForFieldName('body'), skipName);
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
if (value && (FUNCTION_DECLS.has(v.type) || FUNCTION_VALUES.has(v.type))) {
|
|
292
|
+
const signature = functionSignature(v);
|
|
293
|
+
this.leaf('function', name, prefix, signature, holder, [holder], nameNode, parent, v);
|
|
294
|
+
replace.set(holder.id, placeholder('function', name, signature));
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
this.leaf('field', name, prefix, '', holder, [holder], nameNode, parent);
|
|
298
|
+
replace.set(holder.id, placeholder('field', name, ''));
|
|
299
|
+
}
|
|
300
|
+
/** Members of a class or interface body; then the container's own body. */
|
|
301
|
+
members(decl, node, nameNode, body, extraSkip = new Set()) {
|
|
302
|
+
const replace = new Map();
|
|
303
|
+
const prefix = decl.qualified_name + '.';
|
|
304
|
+
let decorators = [];
|
|
305
|
+
if (body) {
|
|
306
|
+
for (const m of namedChildren(body)) {
|
|
307
|
+
if (m.type === 'decorator') {
|
|
308
|
+
decorators.push(m);
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
311
|
+
const memberName = m.childForFieldName('name') ?? m.childForFieldName('property');
|
|
312
|
+
const nodes = [...decorators, m];
|
|
313
|
+
if (METHODS.has(m.type)) {
|
|
314
|
+
const name = nameText(memberName) ?? '<computed>';
|
|
315
|
+
const signature = functionSignature(m, memberPrefix(m));
|
|
316
|
+
this.leaf('method', name, prefix, signature, m, nodes, memberName, decl);
|
|
317
|
+
replace.set(m.id, placeholder('method', name, signature));
|
|
318
|
+
for (const d of decorators)
|
|
319
|
+
replace.set(d.id, '');
|
|
320
|
+
}
|
|
321
|
+
else if (FIELDS.has(m.type)) {
|
|
322
|
+
const name = nameText(memberName) ?? '<computed>';
|
|
323
|
+
const signature = memberPrefix(m).trim();
|
|
324
|
+
this.leaf('field', name, prefix, signature, m, nodes, memberName, decl);
|
|
325
|
+
replace.set(m.id, placeholder('field', name, signature));
|
|
326
|
+
for (const d of decorators)
|
|
327
|
+
replace.set(d.id, '');
|
|
328
|
+
}
|
|
329
|
+
decorators = [];
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
const skip = new Set([...extraSkip, ...(nameNode ? [nameNode.id] : [])]);
|
|
333
|
+
this.b.setBody(decl, bodyTokens([node], { skip, replace }));
|
|
334
|
+
this.nested(node, decl, new Set([...skip, ...replace.keys()]));
|
|
335
|
+
}
|
|
336
|
+
module(root, decl) {
|
|
337
|
+
const replace = new Map();
|
|
338
|
+
for (const stmt of namedChildren(root))
|
|
339
|
+
this.statement(stmt, decl.qualified_name + ':', decl, replace);
|
|
340
|
+
this.b.setBody(decl, bodyTokens([root], { replace }));
|
|
341
|
+
this.nested(root, decl, new Set(replace.keys()));
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
/** Derive `ids@0.1` ids from an already-parsed TypeScript/JavaScript tree. */
|
|
345
|
+
export function deriveTypeScriptIds(tree, filePath, language, options = {}) {
|
|
346
|
+
const module = options.module ?? moduleNameFor(filePath, options);
|
|
347
|
+
const builder = new Builder(language, options.keepBodyTokens === true);
|
|
348
|
+
const root = tree.rootNode;
|
|
349
|
+
const moduleDecl = builder.add('module', module, module, '', root, null);
|
|
350
|
+
new Extractor(builder).module(root, moduleDecl);
|
|
351
|
+
const parseError = firstDeclarationHidingError(root);
|
|
352
|
+
return {
|
|
353
|
+
scheme: STABLE_ID_SCHEME,
|
|
354
|
+
file: filePath,
|
|
355
|
+
language,
|
|
356
|
+
module,
|
|
357
|
+
decls: builder.decls,
|
|
358
|
+
partial: parseError !== undefined,
|
|
359
|
+
...(parseError ? { parseError } : {}),
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/stable-ids/typescript.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -103,6 +103,15 @@ export interface SinkPattern {
|
|
|
103
103
|
* Use sparingly: each opt-in entry widens the FP surface. (cognium-dev #95)
|
|
104
104
|
*/
|
|
105
105
|
allow_unresolved_receiver?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Apply the pattern only to files that import one of these modules (ES
|
|
108
|
+
* `import … from`, `require(…)`; a subpath such as `rxdb/plugins/x` counts
|
|
109
|
+
* for `rxdb`). For library APIs whose method names are generic (`run`,
|
|
110
|
+
* `execute`, `prepare`) and whose receivers cannot be typed from the call
|
|
111
|
+
* site: the import is the evidence that `x.run(sql)` is that library's
|
|
112
|
+
* call. A file with no import information never matches.
|
|
113
|
+
*/
|
|
114
|
+
requires_import?: string[];
|
|
106
115
|
note?: string;
|
|
107
116
|
}
|
|
108
117
|
export interface SanitizerPattern {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|