codeanalyzer-typescript 0.4.0__py3-none-win_amd64.whl → 0.4.2__py3-none-win_amd64.whl
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.
- codeanalyzer_typescript/__init__.py +1 -1
- codeanalyzer_typescript/_bin/cants.exe +0 -0
- codeanalyzer_typescript/_bin/schema.json +21 -8
- {codeanalyzer_typescript-0.4.0.dist-info → codeanalyzer_typescript-0.4.2.dist-info}/METADATA +34 -14
- codeanalyzer_typescript-0.4.2.dist-info/RECORD +9 -0
- codeanalyzer_typescript-0.4.0.dist-info/RECORD +0 -9
- {codeanalyzer_typescript-0.4.0.dist-info → codeanalyzer_typescript-0.4.2.dist-info}/WHEEL +0 -0
- {codeanalyzer_typescript-0.4.0.dist-info → codeanalyzer_typescript-0.4.2.dist-info}/entry_points.txt +0 -0
|
Binary file
|
|
@@ -174,6 +174,19 @@
|
|
|
174
174
|
"module": "string"
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
|
+
{
|
|
178
|
+
"label": "AnonymousCallable",
|
|
179
|
+
"mergeLabel": "Symbol",
|
|
180
|
+
"key": "signature",
|
|
181
|
+
"properties": {
|
|
182
|
+
"signature": "string",
|
|
183
|
+
"name": "string",
|
|
184
|
+
"path": "string",
|
|
185
|
+
"start_line": "integer",
|
|
186
|
+
"start_column": "integer",
|
|
187
|
+
"_module": "string"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
177
190
|
{
|
|
178
191
|
"label": "Package",
|
|
179
192
|
"mergeLabel": "Package",
|
|
@@ -430,14 +443,14 @@
|
|
|
430
443
|
}
|
|
431
444
|
],
|
|
432
445
|
"constraints": [
|
|
433
|
-
"CREATE CONSTRAINT
|
|
434
|
-
"CREATE CONSTRAINT
|
|
435
|
-
"CREATE CONSTRAINT
|
|
436
|
-
"CREATE CONSTRAINT package_name IF NOT EXISTS FOR (
|
|
437
|
-
"CREATE CONSTRAINT
|
|
438
|
-
"CREATE CONSTRAINT callsite_id IF NOT EXISTS FOR (
|
|
439
|
-
"CREATE CONSTRAINT attribute_id IF NOT EXISTS FOR (
|
|
440
|
-
"CREATE CONSTRAINT variable_id IF NOT EXISTS FOR (
|
|
446
|
+
"CREATE CONSTRAINT application_name IF NOT EXISTS FOR (x:Application) REQUIRE x.name IS UNIQUE",
|
|
447
|
+
"CREATE CONSTRAINT module_file_key IF NOT EXISTS FOR (x:Module) REQUIRE x.file_key IS UNIQUE",
|
|
448
|
+
"CREATE CONSTRAINT symbol_signature IF NOT EXISTS FOR (x:Symbol) REQUIRE x.signature IS UNIQUE",
|
|
449
|
+
"CREATE CONSTRAINT package_name IF NOT EXISTS FOR (x:Package) REQUIRE x.name IS UNIQUE",
|
|
450
|
+
"CREATE CONSTRAINT decorator_qualified_name IF NOT EXISTS FOR (x:Decorator) REQUIRE x.qualified_name IS UNIQUE",
|
|
451
|
+
"CREATE CONSTRAINT callsite_id IF NOT EXISTS FOR (x:CallSite) REQUIRE x.id IS UNIQUE",
|
|
452
|
+
"CREATE CONSTRAINT attribute_id IF NOT EXISTS FOR (x:Attribute) REQUIRE x.id IS UNIQUE",
|
|
453
|
+
"CREATE CONSTRAINT variable_id IF NOT EXISTS FOR (x:Variable) REQUIRE x.id IS UNIQUE"
|
|
441
454
|
],
|
|
442
455
|
"indexes": [
|
|
443
456
|
"CREATE INDEX callable_name IF NOT EXISTS FOR (c:Callable) ON (c.name)",
|
{codeanalyzer_typescript-0.4.0.dist-info → codeanalyzer_typescript-0.4.2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeanalyzer-typescript
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: Prebuilt codeanalyzer-typescript backend binary for CLDK (codellm-devkit).
|
|
5
5
|
Project-URL: Homepage, https://codellm-devkit.info
|
|
6
6
|
Project-URL: Repository, https://github.com/codellm-devkit/codeanalyzer-ts
|
|
@@ -39,10 +39,11 @@ analysis into a **Neo4j property graph**. It is the TypeScript backend behind
|
|
|
39
39
|
[Python](https://github.com/codellm-devkit/codeanalyzer-python) and
|
|
40
40
|
[Java](https://github.com/codellm-devkit/codeanalyzer-java) siblings.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
By default the call graph is the **union** of two backends: the TypeScript compiler's resolver and
|
|
43
43
|
[Jelly](https://github.com/cs-au-dk/jelly) — a flow-based analyzer that resolves higher-order and
|
|
44
|
-
callback edges the resolver misses
|
|
45
|
-
`
|
|
44
|
+
callback edges the resolver misses, embedded in the `cants` binary (no extra install). Merged edges
|
|
45
|
+
keep a `provenance` tag (`tsc` / `jelly`), so you can still tell the two apart. Pass `--tsc-only` to
|
|
46
|
+
drop Jelly and run the resolver alone, or `--call-graph-provider jelly` for Jelly alone.
|
|
46
47
|
|
|
47
48
|
## Table of Contents
|
|
48
49
|
|
|
@@ -69,8 +70,9 @@ callback edges the resolver misses — as an experimental backend (`--call-graph
|
|
|
69
70
|
methods, variables, decorators, and JSDoc, with precise source spans.
|
|
70
71
|
- **Call graph** — the TypeScript compiler's resolver plus Rapid Type Analysis (RTA), with
|
|
71
72
|
**phantom (external) nodes** for calls into imported libraries and Node builtins.
|
|
72
|
-
- **Pluggable call-graph backend** — the `tsc` resolver
|
|
73
|
-
[Jelly](https://github.com/cs-au-dk/jelly) flow analyzer
|
|
73
|
+
- **Pluggable call-graph backend** — the `union` of the `tsc` resolver and the embedded
|
|
74
|
+
[Jelly](https://github.com/cs-au-dk/jelly) flow analyzer by default (`--tsc-only` for the resolver
|
|
75
|
+
alone, `--call-graph-provider jelly` for Jelly alone).
|
|
74
76
|
- **Neo4j output** — project the analysis into a labeled property graph: a self-contained
|
|
75
77
|
`graph.cypher` snapshot, or an **incremental** push to a live database over Bolt.
|
|
76
78
|
- **Versioned schema** — a machine-readable, version-stamped Neo4j schema contract
|
|
@@ -163,10 +165,14 @@ Options:
|
|
|
163
165
|
--app-name <name> logical application name for the graph
|
|
164
166
|
:Application anchor (default: input dir name)
|
|
165
167
|
--neo4j-uri <uri> push the graph to a live Neo4j over Bolt
|
|
166
|
-
(incremental); omit to write graph.cypher
|
|
167
|
-
|
|
168
|
-
--neo4j-
|
|
169
|
-
|
|
168
|
+
(incremental); omit to write graph.cypher (env:
|
|
169
|
+
NEO4J_URI)
|
|
170
|
+
--neo4j-user <user> Neo4j username (default: "neo4j", env:
|
|
171
|
+
NEO4J_USERNAME)
|
|
172
|
+
--neo4j-password <password> Neo4j password (prefer the env var; a flag is
|
|
173
|
+
visible in shell history / process list)
|
|
174
|
+
(default: "neo4j", env: NEO4J_PASSWORD)
|
|
175
|
+
--neo4j-database <db> Neo4j database name (env: NEO4J_DATABASE)
|
|
170
176
|
-a, --analysis-level <n> analysis depth: 1 = symbol table + tsc resolver
|
|
171
177
|
call graph + RTA (default); 2 = call graph
|
|
172
178
|
(default: "1")
|
|
@@ -181,8 +187,11 @@ Options:
|
|
|
181
187
|
node_modules)
|
|
182
188
|
--no-phantoms disable phantom (external) nodes for
|
|
183
189
|
imported/required library calls
|
|
184
|
-
--call-graph-provider <name> call-graph backend:
|
|
185
|
-
both (
|
|
190
|
+
--call-graph-provider <name> call-graph backend: union (default, tsc ∪
|
|
191
|
+
jelly) | tsc | jelly | both (deprecated alias
|
|
192
|
+
of union) (default: "union")
|
|
193
|
+
--tsc-only use the tsc resolver only — opt out of Jelly
|
|
194
|
+
edges (overrides --call-graph-provider)
|
|
186
195
|
-c, --cache-dir <dir> cache/intermediate directory
|
|
187
196
|
-v, --verbose increase verbosity (repeatable)
|
|
188
197
|
-h, --help display help for command
|
|
@@ -210,9 +219,9 @@ Options:
|
|
|
210
219
|
cants --input ./my-ts-project --target-files src/a.ts src/b.ts
|
|
211
220
|
```
|
|
212
221
|
|
|
213
|
-
4. **
|
|
222
|
+
4. **Resolver-only call graph (opt out of Jelly):**
|
|
214
223
|
```sh
|
|
215
|
-
cants --input ./my-ts-project --
|
|
224
|
+
cants --input ./my-ts-project --tsc-only
|
|
216
225
|
```
|
|
217
226
|
|
|
218
227
|
5. **Force a clean rebuild with a custom cache directory:**
|
|
@@ -253,6 +262,17 @@ sites as relationships):
|
|
|
253
262
|
content hash changed are rewritten, and on a full run modules whose source file vanished are
|
|
254
263
|
pruned. Every graph carries a `schema_version` on its `:Application` node.
|
|
255
264
|
|
|
265
|
+
The connection options also read the standard Neo4j environment variables — `NEO4J_URI`,
|
|
266
|
+
`NEO4J_USERNAME`, `NEO4J_PASSWORD`, `NEO4J_DATABASE` — when the corresponding flag is omitted (an
|
|
267
|
+
explicit flag wins). Prefer the env var for the password so it doesn't land in shell history or the
|
|
268
|
+
process list:
|
|
269
|
+
|
|
270
|
+
```sh
|
|
271
|
+
export NEO4J_URI=bolt://localhost:7687
|
|
272
|
+
export NEO4J_PASSWORD=secret
|
|
273
|
+
cants --input ./my-ts-project --emit neo4j # credentials picked up from the environment
|
|
274
|
+
```
|
|
275
|
+
|
|
256
276
|
### Schema contract
|
|
257
277
|
|
|
258
278
|
`--emit schema` writes the machine-readable, version-stamped Neo4j schema (`schema.json`: node
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
codeanalyzer_typescript/__init__.py,sha256=oLUBq_rNjih1pCXN_cYqOYL0qTE5nyAwIrkKEhrnMP4,2734
|
|
2
|
+
codeanalyzer_typescript/__main__.py,sha256=f8C3GgPB5RutSyYkwjas31c3M0zae5sKeudYWXHuQIg,1054
|
|
3
|
+
codeanalyzer_typescript/_bin/.gitignore,sha256=_mZ_61eDWQ65V05VrmLP33rSeppQmwCwV8_qsgHUOHM,251
|
|
4
|
+
codeanalyzer_typescript/_bin/cants.exe,sha256=MZTer89irVVSRfSWc22C8u-_kUq2MsqwiMzMOdH3uHg,125326336
|
|
5
|
+
codeanalyzer_typescript/_bin/schema.json,sha256=FhFz2LlDgdihev9Hli1RIjtdVj9JB3tr0FlSBw35YTU,11016
|
|
6
|
+
codeanalyzer_typescript-0.4.2.dist-info/METADATA,sha256=OOU7Y1RAyA2j0lUYsGDq4fsi43XcydvGZJhKWk1cVG0,13367
|
|
7
|
+
codeanalyzer_typescript-0.4.2.dist-info/WHEEL,sha256=pp_iTzO0EBcCvlZZV2dJYp6L2tdDWBsn1ceo50wEt8Q,94
|
|
8
|
+
codeanalyzer_typescript-0.4.2.dist-info/entry_points.txt,sha256=-kWzUa53_kUEbiwup53Q5GqeSOdQM1iIRJHzPIwV7S0,64
|
|
9
|
+
codeanalyzer_typescript-0.4.2.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
codeanalyzer_typescript/__init__.py,sha256=JT668Rl9peZDvEuWcpnNFE22ZGWKqjNHl1wtAgz0830,2734
|
|
2
|
-
codeanalyzer_typescript/__main__.py,sha256=f8C3GgPB5RutSyYkwjas31c3M0zae5sKeudYWXHuQIg,1054
|
|
3
|
-
codeanalyzer_typescript/_bin/.gitignore,sha256=_mZ_61eDWQ65V05VrmLP33rSeppQmwCwV8_qsgHUOHM,251
|
|
4
|
-
codeanalyzer_typescript/_bin/cants.exe,sha256=6ueGY4e_EQoTPlty_tEZa6ZbK9xQkNjXkEUl4KvAQlY,125322752
|
|
5
|
-
codeanalyzer_typescript/_bin/schema.json,sha256=QIXUpCeGp8VZFGQzyooXkBHiERFovuzBUrYkajshqyY,10671
|
|
6
|
-
codeanalyzer_typescript-0.4.0.dist-info/METADATA,sha256=5NJSPjOuMnIdZtHH4jMCCaAAzsitGsNWvBfz6UVp_eA,12210
|
|
7
|
-
codeanalyzer_typescript-0.4.0.dist-info/WHEEL,sha256=pp_iTzO0EBcCvlZZV2dJYp6L2tdDWBsn1ceo50wEt8Q,94
|
|
8
|
-
codeanalyzer_typescript-0.4.0.dist-info/entry_points.txt,sha256=-kWzUa53_kUEbiwup53Q5GqeSOdQM1iIRJHzPIwV7S0,64
|
|
9
|
-
codeanalyzer_typescript-0.4.0.dist-info/RECORD,,
|
|
File without changes
|
{codeanalyzer_typescript-0.4.0.dist-info → codeanalyzer_typescript-0.4.2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|