@ttsc/graph 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +15 -3
- package/lib/index.js.map +1 -1
- package/lib/model/TtscGraphMemory.d.ts +26 -0
- package/lib/model/TtscGraphMemory.js +121 -2
- package/lib/model/TtscGraphMemory.js.map +1 -1
- package/lib/model/TtscGraphSession.d.ts +23 -0
- package/lib/model/TtscGraphSession.js +248 -96
- package/lib/model/TtscGraphSession.js.map +1 -1
- package/lib/model/TtscGraphShardStore.js +6 -1
- package/lib/model/TtscGraphShardStore.js.map +1 -1
- package/lib/model/TtscLintDaemon.d.ts +54 -0
- package/lib/model/TtscLintDaemon.js +166 -0
- package/lib/model/TtscLintDaemon.js.map +1 -0
- package/lib/model/loadGraph.d.ts +8 -1
- package/lib/model/loadGraph.js +144 -72
- package/lib/model/loadGraph.js.map +1 -1
- package/lib/model/publishedArtifacts.d.ts +142 -0
- package/lib/model/publishedArtifacts.js +403 -0
- package/lib/model/publishedArtifacts.js.map +1 -0
- package/lib/reduce.js +20 -7
- package/lib/reduce.js.map +1 -1
- package/lib/server/createServer.js +38 -2
- package/lib/server/createServer.js.map +1 -1
- package/lib/server/runDetails.d.ts +15 -0
- package/lib/server/runDetails.js +48 -0
- package/lib/server/runDetails.js.map +1 -1
- package/lib/server/runEntrypoints.js +7 -1
- package/lib/server/runEntrypoints.js.map +1 -1
- package/lib/server/runLookup.js +129 -11
- package/lib/server/runLookup.js.map +1 -1
- package/lib/structures/ITtscGraphApplication.d.ts +3 -1
- package/lib/structures/ITtscGraphDetails.d.ts +12 -0
- package/lib/structures/ITtscGraphDocTag.d.ts +44 -0
- package/lib/structures/ITtscGraphDocTag.js +3 -0
- package/lib/structures/ITtscGraphDocTag.js.map +1 -0
- package/lib/structures/ITtscGraphDump.d.ts +23 -4
- package/lib/structures/ITtscGraphLookup.d.ts +29 -0
- package/lib/structures/ITtscGraphNode.d.ts +25 -0
- package/lib/structures/TtscGraphArtifactNodeKind.d.ts +23 -0
- package/lib/structures/TtscGraphArtifactNodeKind.js +37 -0
- package/lib/structures/TtscGraphArtifactNodeKind.js.map +1 -0
- package/lib/structures/TtscGraphDumpEdgeKind.d.ts +1 -1
- package/lib/structures/TtscGraphDumpNodeKind.d.ts +10 -2
- package/lib/structures/TtscGraphEdgeKind.d.ts +8 -1
- package/lib/structures/TtscGraphNodeKind.d.ts +1 -1
- package/lib/structures/index.d.ts +2 -0
- package/lib/structures/index.js +2 -0
- package/lib/structures/index.js.map +1 -1
- package/lib/view.js +17 -1
- package/lib/view.js.map +1 -1
- package/lib/viewer/index.html +5 -13
- package/lib/viewer/viewer.js +190 -190
- package/package.json +5 -5
- package/src/index.ts +23 -6
- package/src/model/TtscGraphMemory.ts +118 -2
- package/src/model/TtscGraphSession.ts +112 -2
- package/src/model/TtscGraphShardStore.ts +6 -1
- package/src/model/TtscLintDaemon.ts +179 -0
- package/src/model/loadGraph.ts +29 -5
- package/src/model/publishedArtifacts.ts +548 -0
- package/src/reduce.ts +20 -7
- package/src/server/runDetails.ts +52 -1
- package/src/server/runEntrypoints.ts +7 -1
- package/src/server/runLookup.ts +139 -14
- package/src/structures/ITtscGraphApplication.ts +3 -1
- package/src/structures/ITtscGraphDetails.ts +13 -0
- package/src/structures/ITtscGraphDocTag.ts +45 -0
- package/src/structures/ITtscGraphDump.ts +25 -4
- package/src/structures/ITtscGraphLookup.ts +31 -0
- package/src/structures/ITtscGraphNode.ts +27 -0
- package/src/structures/TtscGraphArtifactNodeKind.ts +35 -0
- package/src/structures/TtscGraphDumpEdgeKind.ts +1 -0
- package/src/structures/TtscGraphDumpNodeKind.ts +16 -2
- package/src/structures/TtscGraphEdgeKind.ts +8 -0
- package/src/structures/TtscGraphNodeKind.ts +7 -1
- package/src/structures/index.ts +2 -0
- package/src/view.ts +17 -1
- package/src/viewer/index.html +5 -13
- package/src/viewer/legend.ts +107 -0
- package/src/viewer/main.ts +19 -21
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ITtscGraphDecorator } from "./ITtscGraphDecorator";
|
|
2
|
+
import { ITtscGraphDocTag } from "./ITtscGraphDocTag";
|
|
2
3
|
import { ITtscGraphEvidence } from "./ITtscGraphEvidence";
|
|
3
4
|
/**
|
|
4
5
|
* Source-free facts for a few selected handles, not a file reader: signatures,
|
|
@@ -109,6 +110,17 @@ export declare namespace ITtscGraphDetails {
|
|
|
109
110
|
doc?: string;
|
|
110
111
|
/** Decorators written on this declaration, when any. */
|
|
111
112
|
decorators?: ITtscGraphDecorator[];
|
|
113
|
+
/**
|
|
114
|
+
* Documentation tags naming what outside the type system this declaration
|
|
115
|
+
* answers to: a specification section, an API operation, a reference
|
|
116
|
+
* document (`@evidence docs/pricing.md#sale`, `@reference …`).
|
|
117
|
+
*
|
|
118
|
+
* Part of what the declaration is, so it is returned whole like its members
|
|
119
|
+
* and its values — long text is elided, and nothing else is cut. The tag is
|
|
120
|
+
* reported as written and never interpreted: the graph does not say the
|
|
121
|
+
* text resolves to anything or that the claim is true.
|
|
122
|
+
*/
|
|
123
|
+
docTags?: ITtscGraphDocTag[];
|
|
112
124
|
/** Assigned implementation span, when source comes from one. */
|
|
113
125
|
implementation?: ITtscGraphEvidence;
|
|
114
126
|
/** Direct execution dependencies in source order, with edge evidence. */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One documentation tag TypeScript itself does not recognize, written on a
|
|
3
|
+
* declaration and carried on its {@link ITtscGraphNode}'s `docTags`.
|
|
4
|
+
*
|
|
5
|
+
* A convention attaches a declaration to something outside the type system — a
|
|
6
|
+
* specification section, an API operation, a reference document — and writes
|
|
7
|
+
* that attachment as a tag, because the thing on the other end is not a
|
|
8
|
+
* TypeScript declaration and so cannot be an edge. `@evidence
|
|
9
|
+
* docs/pricing.md#sale`, `@reference https://…`, and a project's own `@spec`
|
|
10
|
+
* are one fact in three spellings.
|
|
11
|
+
*
|
|
12
|
+
* Reported faithfully, never interpreted. The graph does not say a tag's text
|
|
13
|
+
* resolves to anything, is covered, or is true — a target naming nothing is
|
|
14
|
+
* carried exactly as written, the way {@link ITtscGraphDecorator} carries
|
|
15
|
+
* `@Controller` without knowing what a controller is.
|
|
16
|
+
*
|
|
17
|
+
* Which tags arrive is the compiler's boundary, not a list kept here: these are
|
|
18
|
+
* the tags the parser had no meaning for. A known tag — `@param`, `@returns`,
|
|
19
|
+
* `@deprecated` — has its own shape and its own meaning and is not one of
|
|
20
|
+
* these.
|
|
21
|
+
*
|
|
22
|
+
* The parser also decides where a tag begins, and that decision is reported
|
|
23
|
+
* rather than second-guessed. TypeScript opens a tag at an `@` wherever it sits
|
|
24
|
+
* inside a documentation block, so a tag name written mid-sentence arrives here
|
|
25
|
+
* as a tag, while a `//` comment is not documentation and contributes nothing at
|
|
26
|
+
* all. A convention that wants the stricter rule enforces it in its own linter,
|
|
27
|
+
* where the author gets a diagnostic; the graph reports what the compiler
|
|
28
|
+
* parsed.
|
|
29
|
+
*/
|
|
30
|
+
export interface ITtscGraphDocTag {
|
|
31
|
+
/** The tag name without its `@`: `evidence`, `evidenceExclude`, `reference`. */
|
|
32
|
+
name: string;
|
|
33
|
+
/**
|
|
34
|
+
* Everything written after the tag name, joined into one line.
|
|
35
|
+
*
|
|
36
|
+
* An inline link keeps the braced form it was written in (`{@link ISale}`),
|
|
37
|
+
* so a consumer matching a citation target sees what the author typed. The
|
|
38
|
+
* same link is separately a resolved edge on the node, which is what says
|
|
39
|
+
* *which* `ISale` — a name can be declared twice and only the checker knows.
|
|
40
|
+
*
|
|
41
|
+
* Absent when the tag carries no text.
|
|
42
|
+
*/
|
|
43
|
+
text?: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITtscGraphDocTag.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphDocTag.ts"],"names":[],"mappings":""}
|
|
@@ -15,7 +15,7 @@ import { TtscGraphDumpNodeKind } from "./TtscGraphDumpNodeKind";
|
|
|
15
15
|
* the same dump.
|
|
16
16
|
*
|
|
17
17
|
* `project` is the producer-local absolute locator. Every identity-bearing path
|
|
18
|
-
* uses one
|
|
18
|
+
* uses one portable coordinate relative to it: project files are ordinary
|
|
19
19
|
* relative paths; same-filesystem siblings use `../` segments; package files
|
|
20
20
|
* keep their full resolution context (including version/peer-store segments);
|
|
21
21
|
* and a virtual compiler source stays `bundled:///…`. Raw absolute identities
|
|
@@ -68,8 +68,8 @@ export declare namespace ITtscGraphDump {
|
|
|
68
68
|
* guessing from a field's emptiness, because an empty list and an
|
|
69
69
|
* uncollected one look identical on the wire.
|
|
70
70
|
*
|
|
71
|
-
* The known members are `universe`, `sourceDigests`, `diskDigests`,
|
|
72
|
-
* `diagnostics`. The type stays `string[]` rather than a union of those on
|
|
71
|
+
* The known members are `universe`, `sourceDigests`, `diskDigests`,
|
|
72
|
+
* `diagnostics`, and `docTags`. The type stays `string[]` rather than a union of those on
|
|
73
73
|
* purpose: a union would make `typia.assert` reject a newer producer for
|
|
74
74
|
* naming a capability this client has not heard of, turning "proves more
|
|
75
75
|
* than you know about" into a hard failure. An unknown capability is
|
|
@@ -78,6 +78,16 @@ export declare namespace ITtscGraphDump {
|
|
|
78
78
|
capabilities: string[];
|
|
79
79
|
/** What built the snapshot. */
|
|
80
80
|
producer: IProducer;
|
|
81
|
+
/**
|
|
82
|
+
* The second producer behind the artifact nodes, absent when the dump
|
|
83
|
+
* carries none.
|
|
84
|
+
*
|
|
85
|
+
* Every other fact in this dump came from one Program. These did not: a
|
|
86
|
+
* plugin parsed documents that Program never read, in a process of its own.
|
|
87
|
+
* Saying so is what keeps the one-generation contract honest instead of
|
|
88
|
+
* letting an overlay ride the same claim as the compiler's facts.
|
|
89
|
+
*/
|
|
90
|
+
artifactProducer?: IProducer;
|
|
81
91
|
/** The inputs that decide which files are in the program at all. */
|
|
82
92
|
universe: IUniverse;
|
|
83
93
|
/** One entry per file the program loaded, ordered by file. */
|
|
@@ -200,8 +210,17 @@ export declare namespace ITtscGraphDump {
|
|
|
200
210
|
* the loader sees a span without its file.
|
|
201
211
|
*/
|
|
202
212
|
interface INode extends Omit<ITtscGraphNode, "evidence" | "implementation" | "kind"> {
|
|
203
|
-
/**
|
|
213
|
+
/** Node kind written by the native producer. */
|
|
204
214
|
kind: TtscGraphDumpNodeKind;
|
|
215
|
+
/**
|
|
216
|
+
* The artifact containing this one, by id.
|
|
217
|
+
*
|
|
218
|
+
* Present only on an artifact node: a declaration's containment is
|
|
219
|
+
* synthesized by the memory layer, and two producers of one relation would
|
|
220
|
+
* put two answers in the graph. Absent at the top of a chain, and absent
|
|
221
|
+
* rather than invented when the parent was not published.
|
|
222
|
+
*/
|
|
223
|
+
parent?: string;
|
|
205
224
|
/** Declaration span; its file is this node's `file`. */
|
|
206
225
|
evidence?: ITtscGraphSpan;
|
|
207
226
|
/**
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { ITtscGraphDecorator } from "./ITtscGraphDecorator";
|
|
2
|
+
import { ITtscGraphDocTag } from "./ITtscGraphDocTag";
|
|
2
3
|
/** Targeted symbol lookup when a concrete name or handle is being resolved. */
|
|
3
4
|
export interface ITtscGraphLookup {
|
|
4
5
|
/** Discriminator for targeted symbol lookup. */
|
|
5
6
|
type: "lookup";
|
|
6
7
|
/** Ranked symbol matches for the query. */
|
|
7
8
|
hits: ITtscGraphLookup.IHit[];
|
|
9
|
+
/**
|
|
10
|
+
* True when a match was left out by the limit.
|
|
11
|
+
*
|
|
12
|
+
* The audit for the ranked operations already tells a reader that
|
|
13
|
+
* `truncated` marks where more was left out, and this result had no such
|
|
14
|
+
* field — so a cut looked exactly like a complete answer. That is tolerable
|
|
15
|
+
* for a name query, where the ranking is a shortlist by design, and it is not
|
|
16
|
+
* for a documentation target: those hits are an exact match on an address, so
|
|
17
|
+
* a caller asking which code implements a specification is owed the fact that
|
|
18
|
+
* it did not get all of it.
|
|
19
|
+
*/
|
|
20
|
+
truncated?: boolean;
|
|
8
21
|
}
|
|
9
22
|
export declare namespace ITtscGraphLookup {
|
|
10
23
|
/** Find a concrete class, method, function, property, type, or dotted handle. */
|
|
@@ -16,6 +29,14 @@ export declare namespace ITtscGraphLookup {
|
|
|
16
29
|
* short phrase (`request handler`). Exact names are not required, but this
|
|
17
30
|
* is not a second broad entrypoints call; use it for a missing or ambiguous
|
|
18
31
|
* named handle.
|
|
32
|
+
*
|
|
33
|
+
* It also answers the other direction. Give it a documentation target — a
|
|
34
|
+
* document section (`docs/pricing.md#sale`), an API operation
|
|
35
|
+
* (`POST:/orders`), a data model (`prisma:Sale`) — and the hits are the
|
|
36
|
+
* declarations whose documentation cites it, each carrying the tag that
|
|
37
|
+
* matched. That is the question a repository-wide search would otherwise
|
|
38
|
+
* answer, so it is worth asking here first; a target is matched exactly, so
|
|
39
|
+
* spell it as the code does.
|
|
19
40
|
*/
|
|
20
41
|
query: string;
|
|
21
42
|
/**
|
|
@@ -50,6 +71,14 @@ export declare namespace ITtscGraphLookup {
|
|
|
50
71
|
signature?: string;
|
|
51
72
|
/** Decorators written on this declaration, when any. */
|
|
52
73
|
decorators?: ITtscGraphDecorator[];
|
|
74
|
+
/**
|
|
75
|
+
* The documentation tags that matched the query, when the query named one.
|
|
76
|
+
*
|
|
77
|
+
* Present only on a hit found through its tags, so it says why this
|
|
78
|
+
* declaration is here: the query named a specification and this is the code
|
|
79
|
+
* that answers to it. A hit matched by name carries none.
|
|
80
|
+
*/
|
|
81
|
+
docTags?: ITtscGraphDocTag[];
|
|
53
82
|
/** Relative relevance; higher is a better match. */
|
|
54
83
|
score: number;
|
|
55
84
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ITtscGraphDecorator } from "./ITtscGraphDecorator";
|
|
2
|
+
import { ITtscGraphDocTag } from "./ITtscGraphDocTag";
|
|
2
3
|
import { ITtscGraphEvidence } from "./ITtscGraphEvidence";
|
|
3
4
|
import { TtscGraphNodeKind } from "./TtscGraphNodeKind";
|
|
4
5
|
import { TtscGraphNodeModifier } from "./TtscGraphNodeModifier";
|
|
@@ -15,6 +16,16 @@ export interface ITtscGraphNode {
|
|
|
15
16
|
id: string;
|
|
16
17
|
/** What this node represents. */
|
|
17
18
|
kind: TtscGraphNodeKind;
|
|
19
|
+
/**
|
|
20
|
+
* The artifact containing this one, by id.
|
|
21
|
+
*
|
|
22
|
+
* Present only on an artifact node — a section's document or enclosing
|
|
23
|
+
* section, a column's model. A declaration's containment is synthesized by
|
|
24
|
+
* the memory layer from its owner and its file, which an artifact has no
|
|
25
|
+
* equivalent of: a Prisma model has no file in its address, and an API
|
|
26
|
+
* operation has no file at all.
|
|
27
|
+
*/
|
|
28
|
+
parent?: string;
|
|
18
29
|
/** The simple, unqualified declared name (`create`, `OrderService`, `App`). */
|
|
19
30
|
name: string;
|
|
20
31
|
/**
|
|
@@ -90,6 +101,20 @@ export interface ITtscGraphNode {
|
|
|
90
101
|
* (`@Controller`, `@Get`) a consumer interprets without re-parsing source.
|
|
91
102
|
*/
|
|
92
103
|
decorators?: ITtscGraphDecorator[];
|
|
104
|
+
/**
|
|
105
|
+
* Documentation tags TypeScript does not recognize, in source order: raw
|
|
106
|
+
* facts (`@evidence docs/pricing.md#sale`, `@reference …`) a consumer
|
|
107
|
+
* interprets without re-parsing source.
|
|
108
|
+
*
|
|
109
|
+
* This is where a declaration says what outside the type system it answers
|
|
110
|
+
* to, and it is the only place the graph holds it: the other end of such a
|
|
111
|
+
* relation is a document section or an API operation, which is not a node.
|
|
112
|
+
*
|
|
113
|
+
* Read it only when `provenance.capabilities` lists `docTags`. Without that
|
|
114
|
+
* claim the field is absent because the producer never looked, which is a
|
|
115
|
+
* different fact from a declaration that carries none.
|
|
116
|
+
*/
|
|
117
|
+
docTags?: ITtscGraphDocTag[];
|
|
93
118
|
/**
|
|
94
119
|
* The declaration head, cut by the producer where the compiler says the body
|
|
95
120
|
* opens.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The node kinds that are published artifacts rather than TypeScript
|
|
3
|
+
* declarations.
|
|
4
|
+
*
|
|
5
|
+
* A citation whose target is a TypeScript symbol is a relation the checker
|
|
6
|
+
* resolved. A citation whose target is a document section, a data model field,
|
|
7
|
+
* or an API operation is one of these: a plugin parsed the artifact and
|
|
8
|
+
* published what it is, and the graph indexes that without interpreting any of
|
|
9
|
+
* it. What the linter decided about the citation — covered, excluded, missing —
|
|
10
|
+
* never travels; that is its product and it delivers it as a compile error.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TTSC_GRAPH_ARTIFACT_NODE_KINDS: readonly ["markdown_document", "markdown_section", "prisma_model", "prisma_column", "prisma_relation", "swagger_operation"];
|
|
13
|
+
/**
|
|
14
|
+
* Whether a node kind names a published artifact.
|
|
15
|
+
*
|
|
16
|
+
* It is the gate an id parser needs. An artifact's id is the address a citation
|
|
17
|
+
* writes — `docs/sale.md#pricing`, `prisma:Sale.price`, `POST:/orders` — and
|
|
18
|
+
* none of those follow the `path#qualifiedName:kind` grammar
|
|
19
|
+
* {@link TtscGraphNodeId} assumes: a Prisma address carries no path because a
|
|
20
|
+
* model name is unique across the schema folder, and an operation has no file
|
|
21
|
+
* at all.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isArtifactNodeKind(kind: string): boolean;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TTSC_GRAPH_ARTIFACT_NODE_KINDS = void 0;
|
|
4
|
+
exports.isArtifactNodeKind = isArtifactNodeKind;
|
|
5
|
+
/**
|
|
6
|
+
* The node kinds that are published artifacts rather than TypeScript
|
|
7
|
+
* declarations.
|
|
8
|
+
*
|
|
9
|
+
* A citation whose target is a TypeScript symbol is a relation the checker
|
|
10
|
+
* resolved. A citation whose target is a document section, a data model field,
|
|
11
|
+
* or an API operation is one of these: a plugin parsed the artifact and
|
|
12
|
+
* published what it is, and the graph indexes that without interpreting any of
|
|
13
|
+
* it. What the linter decided about the citation — covered, excluded, missing —
|
|
14
|
+
* never travels; that is its product and it delivers it as a compile error.
|
|
15
|
+
*/
|
|
16
|
+
exports.TTSC_GRAPH_ARTIFACT_NODE_KINDS = [
|
|
17
|
+
"markdown_document",
|
|
18
|
+
"markdown_section",
|
|
19
|
+
"prisma_model",
|
|
20
|
+
"prisma_column",
|
|
21
|
+
"prisma_relation",
|
|
22
|
+
"swagger_operation",
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* Whether a node kind names a published artifact.
|
|
26
|
+
*
|
|
27
|
+
* It is the gate an id parser needs. An artifact's id is the address a citation
|
|
28
|
+
* writes — `docs/sale.md#pricing`, `prisma:Sale.price`, `POST:/orders` — and
|
|
29
|
+
* none of those follow the `path#qualifiedName:kind` grammar
|
|
30
|
+
* {@link TtscGraphNodeId} assumes: a Prisma address carries no path because a
|
|
31
|
+
* model name is unique across the schema folder, and an operation has no file
|
|
32
|
+
* at all.
|
|
33
|
+
*/
|
|
34
|
+
function isArtifactNodeKind(kind) {
|
|
35
|
+
return exports.TTSC_GRAPH_ARTIFACT_NODE_KINDS.includes(kind);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=TtscGraphArtifactNodeKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TtscGraphArtifactNodeKind.js","sourceRoot":"","sources":["../../src/structures/TtscGraphArtifactNodeKind.ts"],"names":[],"mappings":";;;;AAEA;;;;;;;;;;GAUG;AACU,QAAA,8BAA8B,GAAG;IAC5C,mBAAmB;IACnB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;CAC4B,CAAC;AAElD;;;;;;;;;GASG;AACH,4BAAmC,IAAY;IAC7C,OAAQ,QAAA,8BAAoD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Relationship kinds the native Go dump producer can write. */
|
|
2
|
-
export type TtscGraphDumpEdgeKind = "exports" | "calls" | "accesses" | "instantiates" | "type_ref" | "extends" | "implements" | "overrides" | "renders";
|
|
2
|
+
export type TtscGraphDumpEdgeKind = "exports" | "calls" | "accesses" | "instantiates" | "type_ref" | "doc_ref" | "extends" | "implements" | "overrides" | "renders";
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Node kinds the native Go dump producer can write.
|
|
3
|
+
*
|
|
4
|
+
* The last six are not declarations. A plugin materialized them from a Markdown
|
|
5
|
+
* document, a Prisma schema, or an API document — artifacts a citation can name
|
|
6
|
+
* that the type system holds nothing for — and their ids are the address a
|
|
7
|
+
* citation writes rather than the `path#name:kind` grammar, which is why an id
|
|
8
|
+
* is parsed only after its kind says it can be.
|
|
9
|
+
*/
|
|
10
|
+
export type TtscGraphDumpNodeKind = "module" | "function" | "class" | "interface" | "type" | "enum" | "variable" | "method" | "markdown_document" | "markdown_section" | "prisma_model" | "prisma_column" | "prisma_relation" | "swagger_operation";
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
* — `renders` is a JSX component use. Decorators are facts on their target node,
|
|
9
9
|
* not edges.
|
|
10
10
|
*
|
|
11
|
+
* `doc_ref` is a declaration's own documentation naming a symbol through an
|
|
12
|
+
* inline link. The checker resolves that name and counts it as a use, so it is
|
|
13
|
+
* a compiler fact like the rest; it is its own kind rather than a `type_ref`
|
|
14
|
+
* because a link is not a type position and may name a function. The tag around
|
|
15
|
+
* a link decides nothing — one under `@evidence`, under `@see`, and in ordinary
|
|
16
|
+
* prose are one relation.
|
|
17
|
+
*
|
|
11
18
|
* `dispatches` is the runtime counterpart of `overrides`/`implements`: the
|
|
12
19
|
* checker resolves a call to the declaration it names, and where that
|
|
13
20
|
* declaration is abstract or an interface member, the code that runs is its
|
|
@@ -15,4 +22,4 @@
|
|
|
15
22
|
* traversal that follows what executes emits it in place of the dead end. It is
|
|
16
23
|
* trace-only and never appears in a native dump.
|
|
17
24
|
*/
|
|
18
|
-
export type TtscGraphEdgeKind = "contains" | "exports" | "calls" | "accesses" | "instantiates" | "type_ref" | "extends" | "implements" | "overrides" | "dispatches" | "renders";
|
|
25
|
+
export type TtscGraphEdgeKind = "contains" | "exports" | "calls" | "accesses" | "instantiates" | "type_ref" | "doc_ref" | "extends" | "implements" | "overrides" | "dispatches" | "renders";
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Used as the `kind` discriminant on {@link ITtscGraphNode}.
|
|
10
10
|
*/
|
|
11
|
-
export type TtscGraphNodeKind = "file" | "function" | "class" | "interface" | "type" | "enum" | "variable" | "method" | "property";
|
|
11
|
+
export type TtscGraphNodeKind = "file" | "function" | "class" | "interface" | "type" | "enum" | "variable" | "method" | "property" | "markdown_document" | "markdown_section" | "prisma_model" | "prisma_column" | "prisma_relation" | "swagger_operation";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./ITtscGraphApplication";
|
|
2
2
|
export * from "./ITtscGraphDecorator";
|
|
3
|
+
export * from "./ITtscGraphDocTag";
|
|
3
4
|
export * from "./ITtscGraphDump";
|
|
4
5
|
export * from "./ITtscGraphEdge";
|
|
5
6
|
export * from "./ITtscGraphEvidence";
|
|
@@ -17,5 +18,6 @@ export * from "./ITtscGraphTour";
|
|
|
17
18
|
export * from "./TtscGraphEdgeKind";
|
|
18
19
|
export * from "./TtscGraphDumpEdgeKind";
|
|
19
20
|
export * from "./TtscGraphDumpNodeKind";
|
|
21
|
+
export * from "./TtscGraphArtifactNodeKind";
|
|
20
22
|
export * from "./TtscGraphNodeKind";
|
|
21
23
|
export * from "./TtscGraphNodeModifier";
|
package/lib/structures/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
__exportStar(require("./ITtscGraphApplication"), exports);
|
|
23
23
|
__exportStar(require("./ITtscGraphDecorator"), exports);
|
|
24
|
+
__exportStar(require("./ITtscGraphDocTag"), exports);
|
|
24
25
|
__exportStar(require("./ITtscGraphDump"), exports);
|
|
25
26
|
__exportStar(require("./ITtscGraphEdge"), exports);
|
|
26
27
|
__exportStar(require("./ITtscGraphEvidence"), exports);
|
|
@@ -38,6 +39,7 @@ __exportStar(require("./ITtscGraphTour"), exports);
|
|
|
38
39
|
__exportStar(require("./TtscGraphEdgeKind"), exports);
|
|
39
40
|
__exportStar(require("./TtscGraphDumpEdgeKind"), exports);
|
|
40
41
|
__exportStar(require("./TtscGraphDumpNodeKind"), exports);
|
|
42
|
+
__exportStar(require("./TtscGraphArtifactNodeKind"), exports);
|
|
41
43
|
__exportStar(require("./TtscGraphNodeKind"), exports);
|
|
42
44
|
__exportStar(require("./TtscGraphNodeModifier"), exports);
|
|
43
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,6BAA6B;;;;;;;;;;;;;;;;AAE7B,0DAAwC;AACxC,wDAAsC;AACtC,mDAAiC;AACjC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,0DAAwC;AACxC,0DAAwC;AACxC,sDAAoC;AACpC,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,6BAA6B;;;;;;;;;;;;;;;;AAE7B,0DAAwC;AACxC,wDAAsC;AACtC,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,0DAAwC;AACxC,0DAAwC;AACxC,8DAA4C;AAC5C,sDAAoC;AACpC,0DAAwC"}
|
package/lib/view.js
CHANGED
|
@@ -10,6 +10,7 @@ const node_http_1 = __importDefault(require("node:http"));
|
|
|
10
10
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
11
|
const launcherArgs_1 = require("./launcherArgs");
|
|
12
12
|
const loadGraph_1 = require("./model/loadGraph");
|
|
13
|
+
const publishedArtifacts_1 = require("./model/publishedArtifacts");
|
|
13
14
|
const nativeExecutable_1 = require("./nativeExecutable");
|
|
14
15
|
const reduce_1 = require("./reduce");
|
|
15
16
|
const resolveGraphBinary_1 = require("./resolveGraphBinary");
|
|
@@ -58,7 +59,22 @@ function runView(argv) {
|
|
|
58
59
|
let dumpStdout;
|
|
59
60
|
let dumpStderr;
|
|
60
61
|
try {
|
|
61
|
-
|
|
62
|
+
// The same artifacts the dump, the loader, and the resident session ask
|
|
63
|
+
// for. Without this the viewer draws a different graph from the one every
|
|
64
|
+
// other entry point answers with — and it already carries the colours for
|
|
65
|
+
// the nodes it would be missing.
|
|
66
|
+
const artifacts = (0, publishedArtifacts_1.publishArtifacts)({
|
|
67
|
+
cwd: opts.cwd,
|
|
68
|
+
tsconfig: opts.tsconfig,
|
|
69
|
+
});
|
|
70
|
+
dump = (0, node_child_process_1.spawnSync)(binary, [
|
|
71
|
+
"dump",
|
|
72
|
+
"--cwd",
|
|
73
|
+
opts.cwd,
|
|
74
|
+
"--tsconfig",
|
|
75
|
+
opts.tsconfig,
|
|
76
|
+
...(artifacts.file === null ? [] : ["--artifacts", artifacts.file]),
|
|
77
|
+
], {
|
|
62
78
|
stdio: ["ignore", capture.stdoutFd, capture.stderrFd],
|
|
63
79
|
windowsHide: true,
|
|
64
80
|
});
|
package/lib/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAsD;AACtD,sDAAyB;AACzB,0DAA6B;AAC7B,0DAA6B;AAE7B,iDAKwB;AACxB,iDAA8C;AAC9C,yDAA4E;AAC5E,qCAAkC;AAClC,6DAA0D;AAU1D,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,MAAM,GAAG,IAAA,mCAAoB,EAAC,IAAI,EAAE;QACxC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/C,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QACjD,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACnD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5D,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,6BAAc,EAAC,MAAM,CAAC,CAAC;IACvC,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;YACzB,CAAC,CAAC,IAAA,uCAAwB,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;QACjC,QAAQ,EACN,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI;YAC9B,CAAC,CAAC,IAAA,oCAAqB,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACrE,CAAC,CAAC,IAAI;KACX,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,iBAAwB,IAAuB;IAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEjC,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uDAAuD;YACrD,qDAAqD;YACrD,iDAAiD,CACpD,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAA,mCAAgB,EAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uCAAuC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,QAAQ,CAC1E,CAAC;IACF,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAA,uCAAoB,GAAE,CAAC;IACvC,IAAI,IAAI,CAAC;IACT,IAAI,UAAkB,CAAC;IACvB,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,IAAA,8BAAS,EACd,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"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"}
|
package/lib/viewer/index.html
CHANGED
|
@@ -102,19 +102,11 @@
|
|
|
102
102
|
<span id="counts"></span>
|
|
103
103
|
</header>
|
|
104
104
|
<div id="graph"></div>
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
<span class="dot"
|
|
111
|
-
><span class="swatch" style="background: #f5b042"></span
|
|
112
|
-
>type-ref</span
|
|
113
|
-
>
|
|
114
|
-
<span class="dot"
|
|
115
|
-
><span class="swatch" style="background: #6ea8ff"></span
|
|
116
|
-
>heritage</span
|
|
117
|
-
>
|
|
105
|
+
<!-- The edge-family swatches are prepended here from the one colour map
|
|
106
|
+
in legend.ts. They used to be written out by hand, so a new family
|
|
107
|
+
rendered in the graph with no entry beside it until someone opened
|
|
108
|
+
both files. -->
|
|
109
|
+
<footer id="legend">
|
|
118
110
|
<span>node size = connection count · color = declaration kind</span>
|
|
119
111
|
</footer>
|
|
120
112
|
</div>
|