skir 1.2.3 → 1.2.5
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 +1 -1
- package/dist/config_parser.d.ts.map +1 -1
- package/dist/module_collector.d.ts.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/config_parser.ts +4 -1
- package/src/module_collector.ts +18 -20
- package/src/parser.ts +12 -0
- package/src/project_initializer.ts +18 -0
- package/dist/casing.d.ts +0 -5
- package/dist/casing.js +0 -23
- package/dist/casing.js.map +0 -1
- package/dist/command_line_parser.d.ts +0 -36
- package/dist/command_line_parser.d.ts.map +0 -1
- package/dist/command_line_parser.js +0 -240
- package/dist/command_line_parser.js.map +0 -1
- package/dist/compatibility_checker.d.ts +0 -74
- package/dist/compatibility_checker.js +0 -331
- package/dist/compatibility_checker.js.map +0 -1
- package/dist/compiler.d.ts +0 -3
- package/dist/compiler.js +0 -406
- package/dist/compiler.js.map +0 -1
- package/dist/completion_helper.d.ts +0 -27
- package/dist/completion_helper.js +0 -101
- package/dist/completion_helper.js.map +0 -1
- package/dist/config.d.ts +0 -18
- package/dist/config.js +0 -19
- package/dist/config.js.map +0 -1
- package/dist/config_parser.d.ts +0 -34
- package/dist/config_parser.js +0 -214
- package/dist/config_parser.js.map +0 -1
- package/dist/definition_finder.d.ts +0 -16
- package/dist/definition_finder.js +0 -375
- package/dist/definition_finder.js.map +0 -1
- package/dist/dependency_manager.d.ts +0 -14
- package/dist/dependency_manager.js +0 -109
- package/dist/dependency_manager.js.map +0 -1
- package/dist/doc_comment_parser.d.ts +0 -6
- package/dist/doc_comment_parser.js +0 -269
- package/dist/doc_comment_parser.js.map +0 -1
- package/dist/doc_reference_resolver.d.ts +0 -5
- package/dist/doc_reference_resolver.js +0 -232
- package/dist/doc_reference_resolver.js.map +0 -1
- package/dist/error_renderer.d.ts +0 -24
- package/dist/error_renderer.js +0 -326
- package/dist/error_renderer.js.map +0 -1
- package/dist/exit_error.d.ts +0 -8
- package/dist/exit_error.d.ts.map +0 -1
- package/dist/exit_error.js +0 -8
- package/dist/exit_error.js.map +0 -1
- package/dist/expected_names.d.ts +0 -11
- package/dist/expected_names.js +0 -34
- package/dist/expected_names.js.map +0 -1
- package/dist/formatter.d.ts +0 -28
- package/dist/formatter.js +0 -338
- package/dist/formatter.js.map +0 -1
- package/dist/get_dependencies_flow.d.ts +0 -40
- package/dist/get_dependencies_flow.js +0 -177
- package/dist/get_dependencies_flow.js.map +0 -1
- package/dist/import_block_formatter.d.ts +0 -3
- package/dist/import_block_formatter.js +0 -36
- package/dist/import_block_formatter.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/io.d.ts +0 -23
- package/dist/io.d.ts.map +0 -1
- package/dist/io.js +0 -58
- package/dist/io.js.map +0 -1
- package/dist/literals.d.ts +0 -12
- package/dist/literals.js +0 -96
- package/dist/literals.js.map +0 -1
- package/dist/module_collector.d.ts +0 -9
- package/dist/module_collector.js +0 -75
- package/dist/module_collector.js.map +0 -1
- package/dist/module_set.d.ts +0 -51
- package/dist/module_set.js +0 -1331
- package/dist/module_set.js.map +0 -1
- package/dist/package_downloader.d.ts +0 -4
- package/dist/package_downloader.js +0 -256
- package/dist/package_downloader.js.map +0 -1
- package/dist/package_types.d.ts +0 -30
- package/dist/package_types.d.ts.map +0 -1
- package/dist/package_types.js +0 -2
- package/dist/package_types.js.map +0 -1
- package/dist/parser.d.ts +0 -7
- package/dist/parser.js +0 -1323
- package/dist/parser.js.map +0 -1
- package/dist/project_initializer.d.ts +0 -2
- package/dist/project_initializer.d.ts.map +0 -1
- package/dist/project_initializer.js +0 -189
- package/dist/project_initializer.js.map +0 -1
- package/dist/snapshotter.d.ts +0 -16
- package/dist/snapshotter.js +0 -263
- package/dist/snapshotter.js.map +0 -1
- package/dist/tokenizer.d.ts +0 -18
- package/dist/tokenizer.js +0 -244
- package/dist/tokenizer.js.map +0 -1
package/dist/config_parser.js
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import * as CcGen from "skir-cc-gen";
|
|
2
|
-
import * as DartGen from "skir-dart-gen";
|
|
3
|
-
import * as GoGen from "skir-go-gen";
|
|
4
|
-
import * as JavaGen from "skir-java-gen";
|
|
5
|
-
import * as KotlinGen from "skir-kotlin-gen";
|
|
6
|
-
import * as PythonGen from "skir-python-gen";
|
|
7
|
-
import * as RustGen from "skir-rust-gen";
|
|
8
|
-
import * as SwiftGen from "skir-swift-gen";
|
|
9
|
-
import * as TypescriptGen from "skir-typescript-gen";
|
|
10
|
-
import { LineCounter, parseDocument } from "yaml";
|
|
11
|
-
import { SkirConfig } from "./config.js";
|
|
12
|
-
/** Synchronous version - doesn't import any module. */
|
|
13
|
-
export function parseSkirConfig(yamlCode) {
|
|
14
|
-
return parseSkirConfigInternal(yamlCode, (mod) => STATIC_GENERATORS[mod]);
|
|
15
|
-
}
|
|
16
|
-
/** Async version - dynamically imports generator modules. */
|
|
17
|
-
export async function parseSkirConfigWithDynamicImports(yamlCode) {
|
|
18
|
-
return parseSkirConfigInternalAsync(yamlCode, importCodeGenerator);
|
|
19
|
-
}
|
|
20
|
-
export async function importCodeGenerator(mod) {
|
|
21
|
-
const module = await import(mod);
|
|
22
|
-
const generator = module.GENERATOR;
|
|
23
|
-
if (typeof generator !== "object") {
|
|
24
|
-
throw new Error(`Cannot import GENERATOR from module ${mod}`);
|
|
25
|
-
}
|
|
26
|
-
return generator;
|
|
27
|
-
}
|
|
28
|
-
function parseYaml(yamlCode) {
|
|
29
|
-
const errors = [];
|
|
30
|
-
// 1. Parse YAML into a Document object
|
|
31
|
-
const lineCounter = new LineCounter();
|
|
32
|
-
const doc = parseDocument(yamlCode, { lineCounter });
|
|
33
|
-
const offsetToPos = (offset) => {
|
|
34
|
-
const pos = lineCounter.linePos(offset);
|
|
35
|
-
return {
|
|
36
|
-
offset: offset,
|
|
37
|
-
lineNumber: pos.line,
|
|
38
|
-
colNumber: pos.col,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
const offsetRangeToRange = (start, end) => ({
|
|
42
|
-
start: offsetToPos(start),
|
|
43
|
-
end: offsetToPos(end),
|
|
44
|
-
});
|
|
45
|
-
const pathToRange = (path) => {
|
|
46
|
-
const node = doc.getIn(path, true);
|
|
47
|
-
if (!node || !node.range) {
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
return offsetRangeToRange(node.range[0], node.range[1]);
|
|
51
|
-
};
|
|
52
|
-
const pushErrorAtPath = (path, message) => {
|
|
53
|
-
const pathRemainder = [];
|
|
54
|
-
while (path.length !== 0) {
|
|
55
|
-
const range = pathToRange(path);
|
|
56
|
-
if (range) {
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// It's possible that 'path' does not map to a node if 'path' refers to
|
|
61
|
-
// a property which is missing. In that case, we pop the last element
|
|
62
|
-
// of 'path' and try again, until we find a node that exists. The
|
|
63
|
-
// elements which were popped will be included in the error message.
|
|
64
|
-
pathRemainder.push(path.at(-1));
|
|
65
|
-
path = path.slice(0, -1);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
pathRemainder.reverse();
|
|
69
|
-
const pathRemainderStr = pathRemainder
|
|
70
|
-
.map((p, i) => typeof p === "number" ? `[${p}]` : i === 0 ? p : `.${String(p)}`)
|
|
71
|
-
.join("");
|
|
72
|
-
const messagePrefix = pathRemainder.length
|
|
73
|
-
? `Missing property '${pathRemainderStr}': `
|
|
74
|
-
: "";
|
|
75
|
-
const range = pathToRange(path);
|
|
76
|
-
errors.push({
|
|
77
|
-
message: messagePrefix + message,
|
|
78
|
-
range: range,
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
// Check for YAML parsing errors
|
|
82
|
-
if (doc.errors.length > 0) {
|
|
83
|
-
for (const error of doc.errors) {
|
|
84
|
-
const range = offsetRangeToRange(error.pos[0], error.pos[1]);
|
|
85
|
-
errors.push({
|
|
86
|
-
message: error.message,
|
|
87
|
-
range: range,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
earlyReturn: {
|
|
92
|
-
skirConfig: undefined,
|
|
93
|
-
errors: errors,
|
|
94
|
-
},
|
|
95
|
-
zodResult: { success: false },
|
|
96
|
-
errors,
|
|
97
|
-
pushErrorAtPath,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
// 2. Validate with Zod schema
|
|
101
|
-
const jsData = doc.toJS();
|
|
102
|
-
const zodResult = SkirConfig.safeParse(jsData);
|
|
103
|
-
if (!zodResult.success) {
|
|
104
|
-
for (const issue of zodResult.error.issues) {
|
|
105
|
-
pushErrorAtPath(issue.path, issue.message);
|
|
106
|
-
}
|
|
107
|
-
const maybeForgotToEditAfterInit = jsData &&
|
|
108
|
-
typeof jsData === "object" &&
|
|
109
|
-
"generators" in jsData &&
|
|
110
|
-
jsData.generators === null
|
|
111
|
-
? true
|
|
112
|
-
: false;
|
|
113
|
-
return {
|
|
114
|
-
earlyReturn: {
|
|
115
|
-
skirConfig: undefined,
|
|
116
|
-
errors: errors,
|
|
117
|
-
maybeForgotToEditAfterInit,
|
|
118
|
-
},
|
|
119
|
-
zodResult,
|
|
120
|
-
errors,
|
|
121
|
-
pushErrorAtPath,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
return {
|
|
125
|
-
zodResult,
|
|
126
|
-
errors,
|
|
127
|
-
pushErrorAtPath,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
function parseSkirConfigInternal(yamlCode, getGenerator) {
|
|
131
|
-
const { earlyReturn, errors, zodResult, pushErrorAtPath } = parseYaml(yamlCode);
|
|
132
|
-
if (earlyReturn) {
|
|
133
|
-
return earlyReturn;
|
|
134
|
-
}
|
|
135
|
-
// Validate each generator's config with Zod schema
|
|
136
|
-
for (let i = 0; i < zodResult.data.generators.length; i++) {
|
|
137
|
-
const generatorConfig = zodResult.data.generators[i];
|
|
138
|
-
const { mod } = generatorConfig;
|
|
139
|
-
const generator = getGenerator(mod);
|
|
140
|
-
if (generator) {
|
|
141
|
-
const parsedGeneratorConfig = generator.configType.safeParse(generatorConfig.config);
|
|
142
|
-
if (!parsedGeneratorConfig.success) {
|
|
143
|
-
for (const issue of parsedGeneratorConfig.error.issues) {
|
|
144
|
-
const path = [
|
|
145
|
-
"generators",
|
|
146
|
-
i,
|
|
147
|
-
"config",
|
|
148
|
-
...issue.path,
|
|
149
|
-
];
|
|
150
|
-
pushErrorAtPath(path, issue.message ?? "Error");
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
if (errors.length > 0) {
|
|
156
|
-
return { skirConfig: undefined, errors: errors };
|
|
157
|
-
}
|
|
158
|
-
return { skirConfig: zodResult.data, errors: [] };
|
|
159
|
-
}
|
|
160
|
-
async function parseSkirConfigInternalAsync(yamlCode, getGenerator) {
|
|
161
|
-
const { earlyReturn, errors, zodResult, pushErrorAtPath } = parseYaml(yamlCode);
|
|
162
|
-
if (earlyReturn) {
|
|
163
|
-
return earlyReturn;
|
|
164
|
-
}
|
|
165
|
-
// Validate each generator's config with Zod schema
|
|
166
|
-
for (let i = 0; i < zodResult.data.generators.length; i++) {
|
|
167
|
-
const generatorConfig = zodResult.data.generators[i];
|
|
168
|
-
const { mod } = generatorConfig;
|
|
169
|
-
let generator;
|
|
170
|
-
try {
|
|
171
|
-
generator = await getGenerator(mod);
|
|
172
|
-
}
|
|
173
|
-
catch (e) {
|
|
174
|
-
if (e instanceof Error) {
|
|
175
|
-
pushErrorAtPath(["generators", i, "mod"], e.message);
|
|
176
|
-
continue;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
throw e;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (generator) {
|
|
183
|
-
const parsedGeneratorConfig = generator.configType.safeParse(generatorConfig.config);
|
|
184
|
-
if (!parsedGeneratorConfig.success) {
|
|
185
|
-
for (const issue of parsedGeneratorConfig.error.issues) {
|
|
186
|
-
const path = [
|
|
187
|
-
"generators",
|
|
188
|
-
i,
|
|
189
|
-
"config",
|
|
190
|
-
...issue.path,
|
|
191
|
-
];
|
|
192
|
-
pushErrorAtPath(path, issue.message ?? "Error");
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if (errors.length > 0) {
|
|
198
|
-
return { skirConfig: undefined, errors: errors };
|
|
199
|
-
}
|
|
200
|
-
return { skirConfig: zodResult.data, errors: [] };
|
|
201
|
-
}
|
|
202
|
-
// TODO: remove the casts
|
|
203
|
-
const STATIC_GENERATORS = {
|
|
204
|
-
"skir-cc-gen": CcGen.GENERATOR,
|
|
205
|
-
"skir-dart-gen": DartGen.GENERATOR,
|
|
206
|
-
"skir-go-gen": GoGen.GENERATOR,
|
|
207
|
-
"skir-java-gen": JavaGen.GENERATOR,
|
|
208
|
-
"skir-kotlin-gen": KotlinGen.GENERATOR,
|
|
209
|
-
"skir-python-gen": PythonGen.GENERATOR,
|
|
210
|
-
"skir-rust-gen": RustGen.GENERATOR,
|
|
211
|
-
"skir-swift-gen": SwiftGen.GENERATOR,
|
|
212
|
-
"skir-typescript-gen": TypescriptGen.GENERATOR,
|
|
213
|
-
};
|
|
214
|
-
//# sourceMappingURL=config_parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config_parser.js","sourceRoot":"","sources":["../src/config_parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities to help implement the jump-to-definition functionality for skir
|
|
3
|
-
* files in IDEs.
|
|
4
|
-
*/
|
|
5
|
-
import { type Constant, type Field, type ImportAlias, type Method, type Module, type Record, type Token } from "skir-internal";
|
|
6
|
-
export interface DefinitionMatch {
|
|
7
|
-
/** Module containing the definition. */
|
|
8
|
-
modulePath: string;
|
|
9
|
-
/** Position of the definition within the module. */
|
|
10
|
-
declaration: Constant | Field | ImportAlias | Method | Record | undefined;
|
|
11
|
-
/** Token which got hovered. */
|
|
12
|
-
referenceToken: Token;
|
|
13
|
-
}
|
|
14
|
-
export declare function findDefinition(module: Module, position: number): DefinitionMatch | null;
|
|
15
|
-
export declare function findReferences(definition: Token, modules: readonly Module[]): Token[];
|
|
16
|
-
//# sourceMappingURL=definition_finder.d.ts.map
|
|
@@ -1,375 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities to help implement the jump-to-definition functionality for skir
|
|
3
|
-
* files in IDEs.
|
|
4
|
-
*/
|
|
5
|
-
import { unquoteAndUnescape, } from "skir-internal";
|
|
6
|
-
export function findDefinition(module, position) {
|
|
7
|
-
return findDefinitionInDeclarations(module.declarations, position);
|
|
8
|
-
}
|
|
9
|
-
function findDefinitionInDeclarations(declarations, position) {
|
|
10
|
-
for (const declaration of declarations) {
|
|
11
|
-
const maybeMatch = findDefinitionInDeclaration(declaration, position);
|
|
12
|
-
if (maybeMatch) {
|
|
13
|
-
return maybeMatch;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
function findDefinitionInDeclaration(declaration, position) {
|
|
19
|
-
// First, look for a match in the doc comment.
|
|
20
|
-
switch (declaration.kind) {
|
|
21
|
-
case "import":
|
|
22
|
-
case "import-alias":
|
|
23
|
-
case "removed":
|
|
24
|
-
// No doc.
|
|
25
|
-
break;
|
|
26
|
-
default: {
|
|
27
|
-
for (const docPiece of declaration.doc.pieces) {
|
|
28
|
-
if (docPiece.kind === "reference") {
|
|
29
|
-
for (const namePart of docPiece.nameParts) {
|
|
30
|
-
if (tokenContains(namePart.token, position)) {
|
|
31
|
-
const { declaration } = namePart;
|
|
32
|
-
if (declaration) {
|
|
33
|
-
return declarationToMatch(declaration, namePart.token);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// If the position lands on the declaration's own name token, return it as
|
|
45
|
-
// its own definition.
|
|
46
|
-
switch (declaration.kind) {
|
|
47
|
-
case "constant":
|
|
48
|
-
case "field":
|
|
49
|
-
case "import-alias":
|
|
50
|
-
case "method":
|
|
51
|
-
case "record": {
|
|
52
|
-
if (tokenContains(declaration.name, position)) {
|
|
53
|
-
return declarationToMatch(declaration, declaration.name);
|
|
54
|
-
}
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Then look for a match in the declaration itself.
|
|
59
|
-
switch (declaration.kind) {
|
|
60
|
-
case "constant": {
|
|
61
|
-
if (declaration.type) {
|
|
62
|
-
const maybeMatch = findDefinitionInResolvedType(declaration.type, position);
|
|
63
|
-
if (maybeMatch) {
|
|
64
|
-
return maybeMatch;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const maybeMatch = findDefinitionInValue(declaration.value, position);
|
|
68
|
-
if (maybeMatch) {
|
|
69
|
-
return maybeMatch;
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
case "field": {
|
|
74
|
-
if (declaration.type) {
|
|
75
|
-
return findDefinitionInResolvedType(declaration.type, position);
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
case "import":
|
|
80
|
-
case "import-alias": {
|
|
81
|
-
if (tokenContains(declaration.modulePath, position) &&
|
|
82
|
-
declaration.resolvedModulePath) {
|
|
83
|
-
return {
|
|
84
|
-
modulePath: declaration.resolvedModulePath,
|
|
85
|
-
declaration: undefined,
|
|
86
|
-
referenceToken: declaration.modulePath,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
case "method": {
|
|
92
|
-
if (declaration.requestType) {
|
|
93
|
-
const maybeMatch = findDefinitionInResolvedType(declaration.requestType, position);
|
|
94
|
-
if (maybeMatch) {
|
|
95
|
-
return maybeMatch;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (declaration.responseType) {
|
|
99
|
-
const maybeMatch = findDefinitionInResolvedType(declaration.responseType, position);
|
|
100
|
-
if (maybeMatch) {
|
|
101
|
-
return maybeMatch;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
case "record": {
|
|
107
|
-
return (findDefinitionInDeclarations(declaration.fields, position) ??
|
|
108
|
-
findDefinitionInDeclarations(declaration.nestedRecords, position));
|
|
109
|
-
}
|
|
110
|
-
case "removed": {
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
function findDefinitionInResolvedType(type, position) {
|
|
116
|
-
switch (type.kind) {
|
|
117
|
-
case "array": {
|
|
118
|
-
if (type.key) {
|
|
119
|
-
for (const item of type.key.path) {
|
|
120
|
-
if (tokenContains(item.name, position)) {
|
|
121
|
-
const { declaration } = item;
|
|
122
|
-
if (declaration) {
|
|
123
|
-
return declarationToMatch(declaration, item.name);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return findDefinitionInResolvedType(type.item, position);
|
|
129
|
-
}
|
|
130
|
-
case "optional": {
|
|
131
|
-
return findDefinitionInResolvedType(type.other, position);
|
|
132
|
-
}
|
|
133
|
-
case "primitive": {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
case "record": {
|
|
137
|
-
for (const namePart of type.nameParts) {
|
|
138
|
-
if (tokenContains(namePart.token, position)) {
|
|
139
|
-
return declarationToMatch(namePart.declaration, namePart.token);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return null;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
function findDefinitionInValue(value, position) {
|
|
147
|
-
switch (value.kind) {
|
|
148
|
-
case "array": {
|
|
149
|
-
for (const item of value.items) {
|
|
150
|
-
const maybeMatch = findDefinitionInValue(item, position);
|
|
151
|
-
if (maybeMatch) {
|
|
152
|
-
return maybeMatch;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
case "object": {
|
|
158
|
-
if (!value.record) {
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
if (value.record.recordType === "struct") {
|
|
162
|
-
// Look for a match with a field name.
|
|
163
|
-
for (const entry of Object.values(value.entries)) {
|
|
164
|
-
if (tokenContains(entry.name, position)) {
|
|
165
|
-
const { fieldDeclaration } = entry;
|
|
166
|
-
if (fieldDeclaration) {
|
|
167
|
-
return declarationToMatch(fieldDeclaration, entry.name);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
// An enum. Look for a match with the "kind" field.
|
|
177
|
-
const kindEntry = value.entries["kind"];
|
|
178
|
-
if (kindEntry && isStringLiteral(kindEntry.value)) {
|
|
179
|
-
if (tokenContains(kindEntry.value.token, position)) {
|
|
180
|
-
const variantName = unquoteAndUnescape(kindEntry.value.token.text);
|
|
181
|
-
const variantDeclaration = value.record.nameToDeclaration[variantName];
|
|
182
|
-
if (variantDeclaration?.kind === "field") {
|
|
183
|
-
return declarationToMatch(variantDeclaration, kindEntry.value.token);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
// Look for a match within the field values.
|
|
192
|
-
for (const entry of Object.values(value.entries)) {
|
|
193
|
-
const maybeMatch = findDefinitionInValue(entry.value, position);
|
|
194
|
-
if (maybeMatch) {
|
|
195
|
-
return maybeMatch;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
case "literal": {
|
|
201
|
-
if (isStringLiteral(value) && value.type?.kind === "enum") {
|
|
202
|
-
const { variant } = value.type;
|
|
203
|
-
return declarationToMatch(variant, value.token);
|
|
204
|
-
}
|
|
205
|
-
return null;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
function tokenContains(token, position) {
|
|
210
|
-
const end = token.position + token.text.length;
|
|
211
|
-
return position >= token.position && position <= end;
|
|
212
|
-
}
|
|
213
|
-
function declarationToMatch(declaration, referenceToken) {
|
|
214
|
-
const { name } = declaration;
|
|
215
|
-
return {
|
|
216
|
-
modulePath: name.line.modulePath,
|
|
217
|
-
declaration: declaration,
|
|
218
|
-
referenceToken,
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
function isStringLiteral(value) {
|
|
222
|
-
return value.kind === "literal" && /^["']/.test(value.token.text);
|
|
223
|
-
}
|
|
224
|
-
// -----------------------------------------------------------------------------
|
|
225
|
-
// REFERENCES FINDER
|
|
226
|
-
// -----------------------------------------------------------------------------
|
|
227
|
-
export function findReferences(definition, modules) {
|
|
228
|
-
const references = [];
|
|
229
|
-
for (const module of modules) {
|
|
230
|
-
findReferencesInDeclarations(definition, module.declarations, references);
|
|
231
|
-
}
|
|
232
|
-
return references;
|
|
233
|
-
}
|
|
234
|
-
function findReferencesInDeclarations(definition, declarations, references) {
|
|
235
|
-
for (const declaration of declarations) {
|
|
236
|
-
findReferencesInDeclaration(definition, declaration, references);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
function findReferencesInDeclaration(definition, declaration, references) {
|
|
240
|
-
// First, collect references from the doc comment.
|
|
241
|
-
switch (declaration.kind) {
|
|
242
|
-
case "import":
|
|
243
|
-
case "import-alias":
|
|
244
|
-
case "removed":
|
|
245
|
-
// No doc.
|
|
246
|
-
break;
|
|
247
|
-
default: {
|
|
248
|
-
for (const docPiece of declaration.doc.pieces) {
|
|
249
|
-
if (docPiece.kind === "reference") {
|
|
250
|
-
for (const namePart of docPiece.nameParts) {
|
|
251
|
-
if (namePart.declaration?.name === definition) {
|
|
252
|
-
references.push(namePart.token);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
// Then collect references from the declaration body.
|
|
260
|
-
switch (declaration.kind) {
|
|
261
|
-
case "constant": {
|
|
262
|
-
if (declaration.type) {
|
|
263
|
-
findReferencesInResolvedType(definition, declaration.type, references);
|
|
264
|
-
}
|
|
265
|
-
findReferencesInValue(definition, declaration.value, references);
|
|
266
|
-
break;
|
|
267
|
-
}
|
|
268
|
-
case "field": {
|
|
269
|
-
if (declaration.type) {
|
|
270
|
-
findReferencesInResolvedType(definition, declaration.type, references);
|
|
271
|
-
}
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
|
-
case "import":
|
|
275
|
-
case "import-alias": {
|
|
276
|
-
// Module path tokens are not declaration references.
|
|
277
|
-
break;
|
|
278
|
-
}
|
|
279
|
-
case "method": {
|
|
280
|
-
if (declaration.requestType) {
|
|
281
|
-
findReferencesInResolvedType(definition, declaration.requestType, references);
|
|
282
|
-
}
|
|
283
|
-
if (declaration.responseType) {
|
|
284
|
-
findReferencesInResolvedType(definition, declaration.responseType, references);
|
|
285
|
-
}
|
|
286
|
-
break;
|
|
287
|
-
}
|
|
288
|
-
case "record": {
|
|
289
|
-
findReferencesInDeclarations(definition, declaration.fields, references);
|
|
290
|
-
break;
|
|
291
|
-
}
|
|
292
|
-
case "removed": {
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
function findReferencesInResolvedType(definition, type, references) {
|
|
298
|
-
switch (type.kind) {
|
|
299
|
-
case "array": {
|
|
300
|
-
if (type.key) {
|
|
301
|
-
for (const item of type.key.path) {
|
|
302
|
-
if (item.declaration?.name === definition) {
|
|
303
|
-
references.push(item.name);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
findReferencesInResolvedType(definition, type.item, references);
|
|
308
|
-
break;
|
|
309
|
-
}
|
|
310
|
-
case "optional": {
|
|
311
|
-
findReferencesInResolvedType(definition, type.other, references);
|
|
312
|
-
break;
|
|
313
|
-
}
|
|
314
|
-
case "primitive": {
|
|
315
|
-
break;
|
|
316
|
-
}
|
|
317
|
-
case "record": {
|
|
318
|
-
for (const namePart of type.nameParts) {
|
|
319
|
-
if (namePart.declaration.name === definition) {
|
|
320
|
-
references.push(namePart.token);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
break;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
function findReferencesInValue(definition, value, references) {
|
|
328
|
-
switch (value.kind) {
|
|
329
|
-
case "array": {
|
|
330
|
-
for (const item of value.items) {
|
|
331
|
-
findReferencesInValue(definition, item, references);
|
|
332
|
-
}
|
|
333
|
-
break;
|
|
334
|
-
}
|
|
335
|
-
case "object": {
|
|
336
|
-
if (!value.record) {
|
|
337
|
-
break;
|
|
338
|
-
}
|
|
339
|
-
if (value.record.recordType === "struct") {
|
|
340
|
-
// Check field name keys, then recurse into field values.
|
|
341
|
-
for (const entry of Object.values(value.entries)) {
|
|
342
|
-
if (entry.fieldDeclaration?.name === definition) {
|
|
343
|
-
references.push(entry.name);
|
|
344
|
-
}
|
|
345
|
-
findReferencesInValue(definition, entry.value, references);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
// An enum. Only the "kind" token is a navigable reference — mirrors
|
|
350
|
-
// findDefinition's behavior of returning null when the position is
|
|
351
|
-
// not within the kind token.
|
|
352
|
-
const kindEntry = value.entries["kind"];
|
|
353
|
-
if (kindEntry && kindEntry.value.kind === "literal") {
|
|
354
|
-
const variantName = unquoteAndUnescape(kindEntry.value.token.text);
|
|
355
|
-
const variantDeclaration = value.record.nameToDeclaration[variantName];
|
|
356
|
-
if (variantDeclaration?.kind === "field" &&
|
|
357
|
-
variantDeclaration.name === definition) {
|
|
358
|
-
references.push(kindEntry.value.token);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
break;
|
|
363
|
-
}
|
|
364
|
-
case "literal": {
|
|
365
|
-
if (isStringLiteral(value) && value.type?.kind === "enum") {
|
|
366
|
-
const { variant } = value.type;
|
|
367
|
-
if (variant.name === definition) {
|
|
368
|
-
references.push(value.token);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
break;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
//# sourceMappingURL=definition_finder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"definition_finder.js","sourceRoot":"","sources":["../src/definition_finder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AsyncFileReader } from "./io.js";
|
|
2
|
-
import type { DependenciesResult, PackageDownloader, PackageIdToVersion } from "./package_types.js";
|
|
3
|
-
export declare class DependencyManager {
|
|
4
|
-
private readonly rootDir;
|
|
5
|
-
private readonly githubToken;
|
|
6
|
-
private readonly fileReader;
|
|
7
|
-
private readonly packageDownloader;
|
|
8
|
-
constructor(rootDir: string, githubToken: string | undefined, fileReader?: AsyncFileReader, packageDownloader?: PackageDownloader);
|
|
9
|
-
getDependencies(dependencies: PackageIdToVersion, writeOption?: "write" | "no-write"): Promise<DependenciesResult>;
|
|
10
|
-
private writeOnDisk;
|
|
11
|
-
private get externalDir();
|
|
12
|
-
private readDependenciesFile;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=dependency_manager.d.ts.map
|