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.
Files changed (280) hide show
  1. package/dist/analysis/advisories.d.ts +186 -0
  2. package/dist/analysis/advisories.d.ts.map +1 -0
  3. package/dist/analysis/advisories.js +391 -0
  4. package/dist/analysis/advisories.js.map +1 -0
  5. package/dist/analysis/comment-lines.d.ts +14 -0
  6. package/dist/analysis/comment-lines.d.ts.map +1 -0
  7. package/dist/analysis/comment-lines.js +34 -0
  8. package/dist/analysis/comment-lines.js.map +1 -0
  9. package/dist/analysis/config-loader.d.ts.map +1 -1
  10. package/dist/analysis/config-loader.js +59 -5
  11. package/dist/analysis/config-loader.js.map +1 -1
  12. package/dist/analysis/constant-caller-gate.d.ts +2 -2
  13. package/dist/analysis/constant-caller-gate.d.ts.map +1 -1
  14. package/dist/analysis/constant-caller-gate.js +205 -29
  15. package/dist/analysis/constant-caller-gate.js.map +1 -1
  16. package/dist/analysis/constant-propagation/propagator.d.ts +4 -0
  17. package/dist/analysis/constant-propagation/propagator.d.ts.map +1 -1
  18. package/dist/analysis/constant-propagation/propagator.js +99 -0
  19. package/dist/analysis/constant-propagation/propagator.js.map +1 -1
  20. package/dist/analysis/entry-point-detection.d.ts.map +1 -1
  21. package/dist/analysis/entry-point-detection.js +72 -0
  22. package/dist/analysis/entry-point-detection.js.map +1 -1
  23. package/dist/analysis/interprocedural.d.ts.map +1 -1
  24. package/dist/analysis/interprocedural.js +75 -8
  25. package/dist/analysis/interprocedural.js.map +1 -1
  26. package/dist/analysis/maven-declared.d.ts +72 -0
  27. package/dist/analysis/maven-declared.d.ts.map +1 -0
  28. package/dist/analysis/maven-declared.js +216 -0
  29. package/dist/analysis/maven-declared.js.map +1 -0
  30. package/dist/analysis/maven-version.d.ts +28 -0
  31. package/dist/analysis/maven-version.d.ts.map +1 -0
  32. package/dist/analysis/maven-version.js +172 -0
  33. package/dist/analysis/maven-version.js.map +1 -0
  34. package/dist/analysis/passes/constant-propagation-pass.d.ts.map +1 -1
  35. package/dist/analysis/passes/constant-propagation-pass.js +29 -1
  36. package/dist/analysis/passes/constant-propagation-pass.js.map +1 -1
  37. package/dist/analysis/passes/cross-file-pass.d.ts.map +1 -1
  38. package/dist/analysis/passes/cross-file-pass.js +81 -1
  39. package/dist/analysis/passes/cross-file-pass.js.map +1 -1
  40. package/dist/analysis/passes/csharp-sanitizer-credit.d.ts +7 -0
  41. package/dist/analysis/passes/csharp-sanitizer-credit.d.ts.map +1 -1
  42. package/dist/analysis/passes/csharp-sanitizer-credit.js +44 -1
  43. package/dist/analysis/passes/csharp-sanitizer-credit.js.map +1 -1
  44. package/dist/analysis/passes/insecure-cookie-pass.d.ts +2 -0
  45. package/dist/analysis/passes/insecure-cookie-pass.d.ts.map +1 -1
  46. package/dist/analysis/passes/insecure-cookie-pass.js +25 -3
  47. package/dist/analysis/passes/insecure-cookie-pass.js.map +1 -1
  48. package/dist/analysis/passes/interprocedural-pass.d.ts +11 -14
  49. package/dist/analysis/passes/interprocedural-pass.d.ts.map +1 -1
  50. package/dist/analysis/passes/interprocedural-pass.js +562 -0
  51. package/dist/analysis/passes/interprocedural-pass.js.map +1 -1
  52. package/dist/analysis/passes/language-sources-pass.d.ts +18 -1
  53. package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
  54. package/dist/analysis/passes/language-sources-pass.js +1057 -14
  55. package/dist/analysis/passes/language-sources-pass.js.map +1 -1
  56. package/dist/analysis/passes/param-source-flow-gate-pass.d.ts.map +1 -1
  57. package/dist/analysis/passes/param-source-flow-gate-pass.js +66 -3
  58. package/dist/analysis/passes/param-source-flow-gate-pass.js.map +1 -1
  59. package/dist/analysis/passes/sink-filter-pass.d.ts +44 -2
  60. package/dist/analysis/passes/sink-filter-pass.d.ts.map +1 -1
  61. package/dist/analysis/passes/sink-filter-pass.js +690 -12
  62. package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
  63. package/dist/analysis/passes/taint-propagation-pass.d.ts.map +1 -1
  64. package/dist/analysis/passes/taint-propagation-pass.js +133 -10
  65. package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
  66. package/dist/analysis/passes/tls-verify-disabled-pass.d.ts +18 -0
  67. package/dist/analysis/passes/tls-verify-disabled-pass.d.ts.map +1 -1
  68. package/dist/analysis/passes/tls-verify-disabled-pass.js +161 -0
  69. package/dist/analysis/passes/tls-verify-disabled-pass.js.map +1 -1
  70. package/dist/analysis/passes/weak-random-pass.d.ts +6 -0
  71. package/dist/analysis/passes/weak-random-pass.d.ts.map +1 -1
  72. package/dist/analysis/passes/weak-random-pass.js +29 -0
  73. package/dist/analysis/passes/weak-random-pass.js.map +1 -1
  74. package/dist/analysis/promote-cross-file-flows.d.ts +17 -0
  75. package/dist/analysis/promote-cross-file-flows.d.ts.map +1 -0
  76. package/dist/analysis/promote-cross-file-flows.js +32 -0
  77. package/dist/analysis/promote-cross-file-flows.js.map +1 -0
  78. package/dist/analysis/sbom.d.ts +100 -0
  79. package/dist/analysis/sbom.d.ts.map +1 -1
  80. package/dist/analysis/sbom.js +514 -3
  81. package/dist/analysis/sbom.js.map +1 -1
  82. package/dist/analysis/semver-version.d.ts +30 -0
  83. package/dist/analysis/semver-version.d.ts.map +1 -0
  84. package/dist/analysis/semver-version.js +76 -0
  85. package/dist/analysis/semver-version.js.map +1 -0
  86. package/dist/analysis/taint-matcher.d.ts +5 -0
  87. package/dist/analysis/taint-matcher.d.ts.map +1 -1
  88. package/dist/analysis/taint-matcher.js +225 -4
  89. package/dist/analysis/taint-matcher.js.map +1 -1
  90. package/dist/analyzer.d.ts +57 -0
  91. package/dist/analyzer.d.ts.map +1 -1
  92. package/dist/analyzer.js +69 -6
  93. package/dist/analyzer.js.map +1 -1
  94. package/dist/browser/circle-ir.js +2936 -291
  95. package/dist/core/circle-ir-core.cjs +634 -203
  96. package/dist/core/circle-ir-core.js +634 -203
  97. package/dist/core/extractors/dfg.js +205 -2
  98. package/dist/core/extractors/dfg.js.map +1 -1
  99. package/dist/core/extractors/ts-declaration-detail.d.ts +39 -0
  100. package/dist/core/extractors/ts-declaration-detail.d.ts.map +1 -0
  101. package/dist/core/extractors/ts-declaration-detail.js +266 -0
  102. package/dist/core/extractors/ts-declaration-detail.js.map +1 -0
  103. package/dist/graph/analysis-pass.d.ts +4 -1
  104. package/dist/graph/analysis-pass.d.ts.map +1 -1
  105. package/dist/graph/analysis-pass.js +4 -1
  106. package/dist/graph/analysis-pass.js.map +1 -1
  107. package/dist/graph-facts/dead-code.d.ts +62 -0
  108. package/dist/graph-facts/dead-code.d.ts.map +1 -0
  109. package/dist/graph-facts/dead-code.js +90 -0
  110. package/dist/graph-facts/dead-code.js.map +1 -0
  111. package/dist/graph-facts/dependency-calls.d.ts +86 -0
  112. package/dist/graph-facts/dependency-calls.d.ts.map +1 -0
  113. package/dist/graph-facts/dependency-calls.js +93 -0
  114. package/dist/graph-facts/dependency-calls.js.map +1 -0
  115. package/dist/graph-facts/index.d.ts +10 -0
  116. package/dist/graph-facts/index.d.ts.map +1 -0
  117. package/dist/graph-facts/index.js +10 -0
  118. package/dist/graph-facts/index.js.map +1 -0
  119. package/dist/graph-facts/maven-packages.d.ts +42 -0
  120. package/dist/graph-facts/maven-packages.d.ts.map +1 -0
  121. package/dist/graph-facts/maven-packages.js +133 -0
  122. package/dist/graph-facts/maven-packages.js.map +1 -0
  123. package/dist/graph-facts/reach.d.ts +203 -0
  124. package/dist/graph-facts/reach.d.ts.map +1 -0
  125. package/dist/graph-facts/reach.js +219 -0
  126. package/dist/graph-facts/reach.js.map +1 -0
  127. package/dist/graph-facts/removal-reach.d.ts +73 -0
  128. package/dist/graph-facts/removal-reach.d.ts.map +1 -0
  129. package/dist/graph-facts/removal-reach.js +64 -0
  130. package/dist/graph-facts/removal-reach.js.map +1 -0
  131. package/dist/index.d.ts +21 -6
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +20 -3
  134. package/dist/index.js.map +1 -1
  135. package/dist/navigation/go-graph.d.ts +68 -0
  136. package/dist/navigation/go-graph.d.ts.map +1 -0
  137. package/dist/navigation/go-graph.js +753 -0
  138. package/dist/navigation/go-graph.js.map +1 -0
  139. package/dist/navigation/index.d.ts +7 -1
  140. package/dist/navigation/index.d.ts.map +1 -1
  141. package/dist/navigation/index.js +6 -0
  142. package/dist/navigation/index.js.map +1 -1
  143. package/dist/navigation/java-entry-tables.d.ts +43 -0
  144. package/dist/navigation/java-entry-tables.d.ts.map +1 -0
  145. package/dist/navigation/java-entry-tables.js +56 -0
  146. package/dist/navigation/java-entry-tables.js.map +1 -0
  147. package/dist/navigation/java-graph.d.ts +64 -0
  148. package/dist/navigation/java-graph.d.ts.map +1 -0
  149. package/dist/navigation/java-graph.js +466 -0
  150. package/dist/navigation/java-graph.js.map +1 -0
  151. package/dist/navigation/navigation-index.d.ts +51 -1
  152. package/dist/navigation/navigation-index.d.ts.map +1 -1
  153. package/dist/navigation/navigation-index.js +72 -0
  154. package/dist/navigation/navigation-index.js.map +1 -1
  155. package/dist/navigation/python-graph.d.ts +73 -0
  156. package/dist/navigation/python-graph.d.ts.map +1 -0
  157. package/dist/navigation/python-graph.js +867 -0
  158. package/dist/navigation/python-graph.js.map +1 -0
  159. package/dist/navigation/ts-call-edges.d.ts +193 -0
  160. package/dist/navigation/ts-call-edges.d.ts.map +1 -0
  161. package/dist/navigation/ts-call-edges.js +2089 -0
  162. package/dist/navigation/ts-call-edges.js.map +1 -0
  163. package/dist/navigation/ts-entry-tables.d.ts +88 -0
  164. package/dist/navigation/ts-entry-tables.d.ts.map +1 -0
  165. package/dist/navigation/ts-entry-tables.js +50 -0
  166. package/dist/navigation/ts-entry-tables.js.map +1 -0
  167. package/dist/path-set/branches.d.ts +52 -0
  168. package/dist/path-set/branches.d.ts.map +1 -0
  169. package/dist/path-set/branches.js +124 -0
  170. package/dist/path-set/branches.js.map +1 -0
  171. package/dist/path-set/finding-diff.d.ts +63 -0
  172. package/dist/path-set/finding-diff.d.ts.map +1 -0
  173. package/dist/path-set/finding-diff.js +150 -0
  174. package/dist/path-set/finding-diff.js.map +1 -0
  175. package/dist/path-set/index.d.ts +18 -0
  176. package/dist/path-set/index.d.ts.map +1 -0
  177. package/dist/path-set/index.js +12 -0
  178. package/dist/path-set/index.js.map +1 -0
  179. package/dist/path-set/line-diff.d.ts +19 -0
  180. package/dist/path-set/line-diff.d.ts.map +1 -0
  181. package/dist/path-set/line-diff.js +98 -0
  182. package/dist/path-set/line-diff.js.map +1 -0
  183. package/dist/path-set/path-set.d.ts +88 -0
  184. package/dist/path-set/path-set.d.ts.map +1 -0
  185. package/dist/path-set/path-set.js +716 -0
  186. package/dist/path-set/path-set.js.map +1 -0
  187. package/dist/path-set/templates.d.ts +42 -0
  188. package/dist/path-set/templates.d.ts.map +1 -0
  189. package/dist/path-set/templates.js +119 -0
  190. package/dist/path-set/templates.js.map +1 -0
  191. package/dist/path-set/types.d.ts +195 -0
  192. package/dist/path-set/types.d.ts.map +1 -0
  193. package/dist/path-set/types.js +8 -0
  194. package/dist/path-set/types.js.map +1 -0
  195. package/dist/remedy-class/index.d.ts +12 -0
  196. package/dist/remedy-class/index.d.ts.map +1 -0
  197. package/dist/remedy-class/index.js +9 -0
  198. package/dist/remedy-class/index.js.map +1 -0
  199. package/dist/remedy-class/match.d.ts +165 -0
  200. package/dist/remedy-class/match.d.ts.map +1 -0
  201. package/dist/remedy-class/match.js +705 -0
  202. package/dist/remedy-class/match.js.map +1 -0
  203. package/dist/remedy-class/output-context.d.ts +25 -0
  204. package/dist/remedy-class/output-context.d.ts.map +1 -0
  205. package/dist/remedy-class/output-context.js +150 -0
  206. package/dist/remedy-class/output-context.js.map +1 -0
  207. package/dist/remedy-class/sha256.d.ts +18 -0
  208. package/dist/remedy-class/sha256.d.ts.map +1 -0
  209. package/dist/remedy-class/sha256.js +89 -0
  210. package/dist/remedy-class/sha256.js.map +1 -0
  211. package/dist/remedy-class/table.d.ts +130 -0
  212. package/dist/remedy-class/table.d.ts.map +1 -0
  213. package/dist/remedy-class/table.js +457 -0
  214. package/dist/remedy-class/table.js.map +1 -0
  215. package/dist/resolution/cross-file.d.ts +9 -0
  216. package/dist/resolution/cross-file.d.ts.map +1 -1
  217. package/dist/resolution/cross-file.js +60 -5
  218. package/dist/resolution/cross-file.js.map +1 -1
  219. package/dist/stable-ids/builder.d.ts +20 -0
  220. package/dist/stable-ids/builder.d.ts.map +1 -0
  221. package/dist/stable-ids/builder.js +65 -0
  222. package/dist/stable-ids/builder.js.map +1 -0
  223. package/dist/stable-ids/diff.d.ts +18 -0
  224. package/dist/stable-ids/diff.d.ts.map +1 -0
  225. package/dist/stable-ids/diff.js +37 -0
  226. package/dist/stable-ids/diff.js.map +1 -0
  227. package/dist/stable-ids/go.d.ts +28 -0
  228. package/dist/stable-ids/go.d.ts.map +1 -0
  229. package/dist/stable-ids/go.js +160 -0
  230. package/dist/stable-ids/go.js.map +1 -0
  231. package/dist/stable-ids/hash.d.ts +22 -0
  232. package/dist/stable-ids/hash.d.ts.map +1 -0
  233. package/dist/stable-ids/hash.js +167 -0
  234. package/dist/stable-ids/hash.js.map +1 -0
  235. package/dist/stable-ids/index.d.ts +30 -0
  236. package/dist/stable-ids/index.d.ts.map +1 -0
  237. package/dist/stable-ids/index.js +59 -0
  238. package/dist/stable-ids/index.js.map +1 -0
  239. package/dist/stable-ids/java.d.ts +28 -0
  240. package/dist/stable-ids/java.d.ts.map +1 -0
  241. package/dist/stable-ids/java.js +224 -0
  242. package/dist/stable-ids/java.js.map +1 -0
  243. package/dist/stable-ids/moves.d.ts +87 -0
  244. package/dist/stable-ids/moves.d.ts.map +1 -0
  245. package/dist/stable-ids/moves.js +222 -0
  246. package/dist/stable-ids/moves.js.map +1 -0
  247. package/dist/stable-ids/nodes.d.ts +32 -0
  248. package/dist/stable-ids/nodes.d.ts.map +1 -0
  249. package/dist/stable-ids/nodes.js +92 -0
  250. package/dist/stable-ids/nodes.js.map +1 -0
  251. package/dist/stable-ids/normalize.d.ts +35 -0
  252. package/dist/stable-ids/normalize.d.ts.map +1 -0
  253. package/dist/stable-ids/normalize.js +174 -0
  254. package/dist/stable-ids/normalize.js.map +1 -0
  255. package/dist/stable-ids/parse-errors.d.ts +24 -0
  256. package/dist/stable-ids/parse-errors.d.ts.map +1 -0
  257. package/dist/stable-ids/parse-errors.js +46 -0
  258. package/dist/stable-ids/parse-errors.js.map +1 -0
  259. package/dist/stable-ids/python.d.ts +27 -0
  260. package/dist/stable-ids/python.d.ts.map +1 -0
  261. package/dist/stable-ids/python.js +212 -0
  262. package/dist/stable-ids/python.js.map +1 -0
  263. package/dist/stable-ids/ts-parse-errors.d.ts +27 -0
  264. package/dist/stable-ids/ts-parse-errors.d.ts.map +1 -0
  265. package/dist/stable-ids/ts-parse-errors.js +75 -0
  266. package/dist/stable-ids/ts-parse-errors.js.map +1 -0
  267. package/dist/stable-ids/types.d.ts +106 -0
  268. package/dist/stable-ids/types.d.ts.map +1 -0
  269. package/dist/stable-ids/types.js +16 -0
  270. package/dist/stable-ids/types.js.map +1 -0
  271. package/dist/stable-ids/typescript.d.ts +30 -0
  272. package/dist/stable-ids/typescript.d.ts.map +1 -0
  273. package/dist/stable-ids/typescript.js +362 -0
  274. package/dist/stable-ids/typescript.js.map +1 -0
  275. package/dist/types/config.d.ts +9 -0
  276. package/dist/types/config.d.ts.map +1 -1
  277. package/dist/types/index.d.ts +35 -0
  278. package/dist/types/index.d.ts.map +1 -1
  279. package/dist/types/index.js.map +1 -1
  280. 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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"}
@@ -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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"}