@lzehrung/codegraph 2.3.26 → 2.3.28
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/codegraph-skill/codegraph/SKILL.md +1 -0
- package/dist/agent/explain.d.ts +9 -1
- package/dist/agent/explain.d.ts.map +1 -1
- package/dist/agent/explain.js +18 -1
- package/dist/agent/explain.js.map +1 -1
- package/dist/agent/refactor-plan.d.ts +2 -0
- package/dist/agent/refactor-plan.d.ts.map +1 -1
- package/dist/agent/refactor-plan.js +11 -0
- package/dist/agent/refactor-plan.js.map +1 -1
- package/dist/agent/rename-preview.d.ts.map +1 -1
- package/dist/agent/rename-preview.js +49 -11
- package/dist/agent/rename-preview.js.map +1 -1
- package/dist/agent-tools.d.ts +2 -1
- package/dist/agent-tools.d.ts.map +1 -1
- package/dist/agent-tools.js +8 -0
- package/dist/agent-tools.js.map +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/bin/cli.js +3933 -2390
- package/dist/bin/query-index-worker.js +56 -18
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +4 -0
- package/dist/cli/navigation.js.map +1 -1
- package/dist/impact/call-compatibility.js +3 -3
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/impact/direct.js +1 -1
- package/dist/impact/direct.js.map +1 -1
- package/dist/impact/reference-cache.d.ts +1 -0
- package/dist/impact/reference-cache.d.ts.map +1 -1
- package/dist/impact/reference-cache.js +44 -18
- package/dist/impact/reference-cache.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +30 -0
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +14 -2
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +14 -2
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +60 -5
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/import-types.d.ts +14 -1
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/imports/binding-ranges.d.ts +50 -0
- package/dist/indexer/imports/binding-ranges.d.ts.map +1 -0
- package/dist/indexer/imports/binding-ranges.js +297 -0
- package/dist/indexer/imports/binding-ranges.js.map +1 -0
- package/dist/indexer/imports/js-text-imports.d.ts +4 -0
- package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
- package/dist/indexer/imports/js-text-imports.js +210 -48
- package/dist/indexer/imports/js-text-imports.js.map +1 -1
- package/dist/indexer/imports/language-specific.d.ts +3 -0
- package/dist/indexer/imports/language-specific.d.ts.map +1 -1
- package/dist/indexer/imports/language-specific.js +97 -23
- package/dist/indexer/imports/language-specific.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +52 -30
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts +2 -0
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +55 -18
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +15 -1
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts +1 -1
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +66 -17
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +23 -2
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +196 -4
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation.d.ts +9 -3
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +154 -41
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +18 -0
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/symbols.d.ts +1 -0
- package/dist/indexer/symbols.d.ts.map +1 -1
- package/dist/indexer/types.d.ts +10 -0
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer.d.ts +1 -1
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js.map +1 -1
- package/dist/languages/definitions/javascript.d.ts.map +1 -1
- package/dist/languages/definitions/javascript.js +10 -2
- package/dist/languages/definitions/javascript.js.map +1 -1
- package/dist/languages/definitions/php.d.ts.map +1 -1
- package/dist/languages/definitions/php.js +15 -8
- package/dist/languages/definitions/php.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +11 -1
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/definitions/typescript.d.ts.map +1 -1
- package/dist/languages/definitions/typescript.js +20 -3
- package/dist/languages/definitions/typescript.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +10 -3
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/languages/import-statement-parsers.d.ts +3 -0
- package/dist/languages/import-statement-parsers.d.ts.map +1 -1
- package/dist/languages/import-statement-parsers.js +4 -0
- package/dist/languages/import-statement-parsers.js.map +1 -1
- package/dist/mcp/handlers.d.ts +2 -1
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +15 -1
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/review/summaries.d.ts.map +1 -1
- package/dist/review/summaries.js +11 -19
- package/dist/review/summaries.js.map +1 -1
- package/dist/review/types.d.ts +2 -1
- package/dist/review/types.d.ts.map +1 -1
- package/dist/review/types.js.map +1 -1
- package/dist/session.d.ts +2 -9
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js.map +1 -1
- package/dist/sql/navigation.d.ts +6 -1
- package/dist/sql/navigation.d.ts.map +1 -1
- package/dist/sql/navigation.js +35 -3
- package/dist/sql/navigation.js.map +1 -1
- package/dist/util/comments.d.ts +10 -0
- package/dist/util/comments.d.ts.map +1 -1
- package/dist/util/comments.js +43 -2
- package/dist/util/comments.js.map +1 -1
- package/dist/util/lines.d.ts +2 -0
- package/dist/util/lines.d.ts.map +1 -1
- package/dist/util/lines.js +14 -0
- package/dist/util/lines.js.map +1 -1
- package/dist/util/resolution/cargo-targets.d.ts +8 -0
- package/dist/util/resolution/cargo-targets.d.ts.map +1 -0
- package/dist/util/resolution/cargo-targets.js +186 -0
- package/dist/util/resolution/cargo-targets.js.map +1 -0
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +264 -26
- package/dist/util/resolution/rust.js.map +1 -1
- package/docs/mcp.md +1 -1
- package/package.json +3 -3
|
@@ -1,36 +1,159 @@
|
|
|
1
1
|
import { maskJsLikeCommentsStringsAndRegex, stripJsLikeComments } from "../../util/comments.js";
|
|
2
2
|
import { ECMASCRIPT_IDENTIFIER_SOURCE } from "../../util/identifiers.js";
|
|
3
|
+
import { collectLineStartOffsets, positionAtOffset } from "../../util/lines.js";
|
|
3
4
|
const TYPE_NAMED_IMPORT_SPECIFIER_PATTERN = new RegExp(String.raw `^type\s+(${ECMASCRIPT_IDENTIFIER_SOURCE})(?:\s+as\s+(${ECMASCRIPT_IDENTIFIER_SOURCE}))?$`, "u");
|
|
4
5
|
const NAMED_IMPORT_SPECIFIER_PATTERN = new RegExp(String.raw `^(${ECMASCRIPT_IDENTIFIER_SOURCE})(?:\s+as\s+(${ECMASCRIPT_IDENTIFIER_SOURCE}))?$`, "u");
|
|
5
6
|
const NAMESPACE_IMPORT_PATTERN = new RegExp(String.raw `^\*\s+as\s+(${ECMASCRIPT_IDENTIFIER_SOURCE})$`, "u");
|
|
6
7
|
const DEFAULT_REQUIRE_PATTERN = new RegExp(String.raw `(?:^|[;{}])\s*(?:export\s+)?(?:const|let|var)\s+(${ECMASCRIPT_IDENTIFIER_SOURCE})\s*=\s*require\s*\(\s*(["'])(?<module>[^"']+)\2\s*\)`, "gmu");
|
|
7
8
|
const NAMED_REQUIRE_SPECIFIER_PATTERN = new RegExp(String.raw `^(${ECMASCRIPT_IDENTIFIER_SOURCE})(?::\s*(${ECMASCRIPT_IDENTIFIER_SOURCE}))?$`, "u");
|
|
8
9
|
const IMPORT_EQUALS_REQUIRE_PATTERN = new RegExp(String.raw `(?:^|[;{}])\s*import\s+(${ECMASCRIPT_IDENTIFIER_SOURCE})\s*=\s*require\s*\(\s*(["'])(?<module>[^"']+)\2\s*\)`, "gmu");
|
|
10
|
+
const NAMED_REQUIRE_DECLARATION_PATTERN = /(?:^|[;{}])\s*(?:export\s+)?(?:const|let|var)\s*\{/gmu;
|
|
11
|
+
const REQUIRE_AFTER_BINDING_PATTERN = /^\s*=\s*require\s*\(\s*(["'])(?<module>[^"']+)\1\s*\)/u;
|
|
9
12
|
function sourceForTextImportExtraction(context) {
|
|
10
13
|
if (context.languageId === "ts" || context.languageId === "tsx" || context.languageId === "js") {
|
|
11
14
|
return stripJsLikeComments(context.source);
|
|
12
15
|
}
|
|
13
16
|
return context.source;
|
|
14
17
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Builds a binding token range only when the computed offset really holds `token`.
|
|
20
|
+
* Text extraction can mis-locate a token for exotic syntax, and a wrong range would
|
|
21
|
+
* be worse than an absent one, so an unverifiable offset yields `undefined`.
|
|
22
|
+
*/
|
|
23
|
+
function tokenRange(source, lineStarts, index, token) {
|
|
24
|
+
if (index < 0 || !token)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (source.slice(index, index + token.length) !== token)
|
|
27
|
+
return undefined;
|
|
28
|
+
return {
|
|
29
|
+
start: positionAtOffset(lineStarts, index),
|
|
30
|
+
end: positionAtOffset(lineStarts, index + token.length),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function splitNamedImportsWithOffsets(namedBlock) {
|
|
34
|
+
const out = [];
|
|
35
|
+
let cursor = 0;
|
|
36
|
+
for (const raw of namedBlock.split(",")) {
|
|
37
|
+
const leading = raw.length - raw.trimStart().length;
|
|
38
|
+
const spec = raw.trim();
|
|
39
|
+
if (spec)
|
|
40
|
+
out.push({ spec, start: cursor + leading });
|
|
41
|
+
cursor += raw.length + 1;
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
function closingBraceIndex(maskedSource, openingIndex) {
|
|
46
|
+
let depth = 0;
|
|
47
|
+
for (let index = openingIndex; index < maskedSource.length; index += 1) {
|
|
48
|
+
const character = maskedSource[index];
|
|
49
|
+
if (character === "{") {
|
|
50
|
+
depth += 1;
|
|
51
|
+
}
|
|
52
|
+
else if (character === "}") {
|
|
53
|
+
depth -= 1;
|
|
54
|
+
if (depth === 0)
|
|
55
|
+
return index;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
export function splitNamedRequireBindingsWithOffsets(source, maskedSource, blockStart, blockEnd) {
|
|
61
|
+
const out = [];
|
|
62
|
+
let specStart = blockStart;
|
|
63
|
+
let braceDepth = 0;
|
|
64
|
+
let bracketDepth = 0;
|
|
65
|
+
let parenDepth = 0;
|
|
66
|
+
const push = (end) => {
|
|
67
|
+
const raw = source.slice(specStart, end);
|
|
68
|
+
const leading = raw.length - raw.trimStart().length;
|
|
69
|
+
const spec = raw.trim();
|
|
70
|
+
if (spec)
|
|
71
|
+
out.push({ spec, start: specStart - blockStart + leading });
|
|
72
|
+
};
|
|
73
|
+
for (let index = blockStart; index < blockEnd; index += 1) {
|
|
74
|
+
const character = maskedSource[index];
|
|
75
|
+
if (character === "{")
|
|
76
|
+
braceDepth += 1;
|
|
77
|
+
else if (character === "}")
|
|
78
|
+
braceDepth -= 1;
|
|
79
|
+
else if (character === "[")
|
|
80
|
+
bracketDepth += 1;
|
|
81
|
+
else if (character === "]")
|
|
82
|
+
bracketDepth -= 1;
|
|
83
|
+
else if (character === "(")
|
|
84
|
+
parenDepth += 1;
|
|
85
|
+
else if (character === ")")
|
|
86
|
+
parenDepth -= 1;
|
|
87
|
+
else if (character === "," && braceDepth === 0 && bracketDepth === 0 && parenDepth === 0) {
|
|
88
|
+
push(index);
|
|
89
|
+
specStart = index + 1;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
push(blockEnd);
|
|
93
|
+
return out;
|
|
21
94
|
}
|
|
22
95
|
function parseNamedImportSpecifier(spec) {
|
|
23
96
|
// JS/TS identifiers permit Unicode ID_Start/ID_Continue plus $/_, not just ASCII.
|
|
24
97
|
const typeOnlyMatch = spec.match(TYPE_NAMED_IMPORT_SPECIFIER_PATTERN);
|
|
25
98
|
if (typeOnlyMatch) {
|
|
26
99
|
const imported = typeOnlyMatch[1];
|
|
27
|
-
|
|
100
|
+
// `type ` is a fixed-width prefix; anchors keep the imported/alias tokens at known edges.
|
|
101
|
+
const importedOffset = /^type\s+/.exec(spec)[0].length;
|
|
102
|
+
if (typeOnlyMatch[2] !== undefined) {
|
|
103
|
+
const local = typeOnlyMatch[2];
|
|
104
|
+
return {
|
|
105
|
+
imported,
|
|
106
|
+
local,
|
|
107
|
+
typeOnly: true,
|
|
108
|
+
importedOffset,
|
|
109
|
+
localOffset: spec.length - local.length,
|
|
110
|
+
explicitAlias: true,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
imported,
|
|
115
|
+
local: imported,
|
|
116
|
+
typeOnly: true,
|
|
117
|
+
importedOffset,
|
|
118
|
+
localOffset: importedOffset,
|
|
119
|
+
explicitAlias: false,
|
|
120
|
+
};
|
|
28
121
|
}
|
|
29
122
|
const namedMatch = spec.match(NAMED_IMPORT_SPECIFIER_PATTERN);
|
|
30
123
|
if (!namedMatch)
|
|
31
124
|
return null;
|
|
32
125
|
const imported = namedMatch[1];
|
|
33
|
-
|
|
126
|
+
if (namedMatch[2] !== undefined) {
|
|
127
|
+
const local = namedMatch[2];
|
|
128
|
+
return {
|
|
129
|
+
imported,
|
|
130
|
+
local,
|
|
131
|
+
typeOnly: false,
|
|
132
|
+
importedOffset: 0,
|
|
133
|
+
localOffset: spec.length - local.length,
|
|
134
|
+
explicitAlias: true,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return { imported, local: imported, typeOnly: false, importedOffset: 0, localOffset: 0, explicitAlias: false };
|
|
138
|
+
}
|
|
139
|
+
function parseNamedRequireSpecifier(spec) {
|
|
140
|
+
const bindingSpec = spec.replace(/\s*=\s*[\s\S]*$/u, "").trimEnd();
|
|
141
|
+
// CommonJS destructuring uses `imported: local`, not ES's `imported as local`.
|
|
142
|
+
const namedMatch = bindingSpec.match(NAMED_REQUIRE_SPECIFIER_PATTERN);
|
|
143
|
+
if (!namedMatch)
|
|
144
|
+
return null;
|
|
145
|
+
const imported = namedMatch[1];
|
|
146
|
+
if (namedMatch[2] !== undefined) {
|
|
147
|
+
const local = namedMatch[2];
|
|
148
|
+
return {
|
|
149
|
+
imported,
|
|
150
|
+
local,
|
|
151
|
+
importedOffset: 0,
|
|
152
|
+
localOffset: bindingSpec.length - local.length,
|
|
153
|
+
explicitAlias: true,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return { imported, local: imported, importedOffset: 0, localOffset: 0, explicitAlias: false };
|
|
34
157
|
}
|
|
35
158
|
function matchStartsInCode(maskedSource, match) {
|
|
36
159
|
const index = match.index;
|
|
@@ -45,24 +168,38 @@ function matchStartsInCode(maskedSource, match) {
|
|
|
45
168
|
}
|
|
46
169
|
return true;
|
|
47
170
|
}
|
|
48
|
-
async function collectEsImports(context, source, maskedSource) {
|
|
171
|
+
async function collectEsImports(context, source, maskedSource, lineStarts) {
|
|
49
172
|
const typeOnlyImport = /\bimport\s+type\b/;
|
|
50
173
|
const fromPattern = /^\s*import\s+([^\n;]*?)\s+from\s+(["'])(?<module>[^"']+)\2/gm;
|
|
51
174
|
for (const match of source.matchAll(fromPattern)) {
|
|
52
175
|
if (!matchStartsInCode(maskedSource, match))
|
|
53
176
|
continue;
|
|
54
|
-
const clause = match[1].trim().replace(/^type\s+/, "");
|
|
55
177
|
const moduleSpecifier = match.groups?.module;
|
|
56
178
|
if (!moduleSpecifier)
|
|
57
179
|
continue;
|
|
180
|
+
// `clauseStart` is the exact source offset of the clause capture: the pattern's
|
|
181
|
+
// fixed `^\s*import\s+` prefix sits immediately before it, so no re-scan is needed.
|
|
182
|
+
const importPrefix = /^\s*import\s+/.exec(match[0]);
|
|
183
|
+
const clauseStart = importPrefix && match.index !== undefined ? match.index + importPrefix[0].length : -1;
|
|
184
|
+
const clauseRaw = match[1];
|
|
185
|
+
const leading = clauseRaw.length - clauseRaw.trimStart().length;
|
|
186
|
+
const trimmedClause = clauseRaw.trim();
|
|
187
|
+
const typePrefix = /^type\s+/.exec(trimmedClause);
|
|
188
|
+
const clause = typePrefix ? trimmedClause.slice(typePrefix[0].length) : trimmedClause;
|
|
189
|
+
const bodyStart = clauseStart < 0 ? -1 : clauseStart + leading + (typePrefix ? typePrefix[0].length : 0);
|
|
58
190
|
const typeOnly = typeOnlyImport.test(match[0]);
|
|
59
191
|
const resolved = await context.resolveFrom(moduleSpecifier);
|
|
60
192
|
const namespaceMatch = clause.match(NAMESPACE_IMPORT_PATTERN);
|
|
61
193
|
if (namespaceMatch) {
|
|
194
|
+
const localNS = namespaceMatch[1];
|
|
195
|
+
const localRange = bodyStart < 0
|
|
196
|
+
? undefined
|
|
197
|
+
: tokenRange(source, lineStarts, bodyStart + namespaceMatch[0].indexOf(localNS), localNS);
|
|
62
198
|
context.pushBinding({
|
|
63
199
|
kind: "namespace",
|
|
64
|
-
localNS
|
|
200
|
+
localNS,
|
|
65
201
|
from: moduleSpecifier,
|
|
202
|
+
...(localRange ? { localRange } : {}),
|
|
66
203
|
resolved,
|
|
67
204
|
typeOnly,
|
|
68
205
|
});
|
|
@@ -73,33 +210,46 @@ async function collectEsImports(context, source, maskedSource) {
|
|
|
73
210
|
? clause.split(",", 1)[0].trim()
|
|
74
211
|
: clause.slice(0, namedBlockMatch.index).replace(/,\s*$/, "").trim();
|
|
75
212
|
if (defaultPart) {
|
|
213
|
+
const localRange = bodyStart < 0
|
|
214
|
+
? undefined
|
|
215
|
+
: tokenRange(source, lineStarts, bodyStart + clause.indexOf(defaultPart), defaultPart);
|
|
76
216
|
context.pushBinding({
|
|
77
217
|
kind: "default",
|
|
78
218
|
local: defaultPart,
|
|
79
219
|
from: moduleSpecifier,
|
|
220
|
+
...(localRange ? { localRange } : {}),
|
|
80
221
|
resolved,
|
|
81
222
|
typeOnly,
|
|
82
223
|
});
|
|
83
224
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
225
|
+
if (namedBlockMatch?.index !== undefined && bodyStart >= 0) {
|
|
226
|
+
const namedBlockContentStart = bodyStart + namedBlockMatch.index + namedBlockMatch[0].indexOf("{") + 1;
|
|
227
|
+
for (const { spec, start } of splitNamedImportsWithOffsets(namedBlockMatch.groups?.named ?? "")) {
|
|
228
|
+
const namedImport = parseNamedImportSpecifier(spec);
|
|
229
|
+
if (!namedImport)
|
|
230
|
+
continue;
|
|
231
|
+
const specStart = namedBlockContentStart + start;
|
|
232
|
+
const bindingTypeOnly = typeOnly || namedImport.typeOnly;
|
|
233
|
+
const importedRange = tokenRange(source, lineStarts, specStart + namedImport.importedOffset, namedImport.imported);
|
|
234
|
+
const localRange = tokenRange(source, lineStarts, specStart + namedImport.localOffset, namedImport.local);
|
|
235
|
+
context.pushBinding({
|
|
236
|
+
kind: "named",
|
|
237
|
+
local: namedImport.local,
|
|
238
|
+
imported: namedImport.imported,
|
|
239
|
+
from: moduleSpecifier,
|
|
240
|
+
...(namedImport.explicitAlias ? { explicitAlias: true } : {}),
|
|
241
|
+
...(importedRange ? { importedRange } : {}),
|
|
242
|
+
...(localRange ? { localRange } : {}),
|
|
243
|
+
resolved,
|
|
244
|
+
typeOnly: bindingTypeOnly,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
98
247
|
}
|
|
99
248
|
}
|
|
100
249
|
}
|
|
101
|
-
async function collectCommonJsRequireDeclarations(context, source, maskedSource) {
|
|
250
|
+
async function collectCommonJsRequireDeclarations(context, source, maskedSource, lineStarts) {
|
|
102
251
|
const defaultRequirePattern = DEFAULT_REQUIRE_PATTERN;
|
|
252
|
+
const defaultRequirePrefix = /(?:^|[;{}])\s*(?:export\s+)?(?:const|let|var)\s+/;
|
|
103
253
|
for (const match of source.matchAll(defaultRequirePattern)) {
|
|
104
254
|
if (!matchStartsInCode(maskedSource, match))
|
|
105
255
|
continue;
|
|
@@ -107,46 +257,53 @@ async function collectCommonJsRequireDeclarations(context, source, maskedSource)
|
|
|
107
257
|
const moduleSpecifier = match.groups?.module;
|
|
108
258
|
if (!moduleSpecifier)
|
|
109
259
|
continue;
|
|
260
|
+
const localStart = (match.index ?? 0) + (defaultRequirePrefix.exec(match[0])?.[0].length ?? 0);
|
|
261
|
+
const localRange = tokenRange(source, lineStarts, localStart, local);
|
|
110
262
|
const resolved = await context.resolveFrom(moduleSpecifier);
|
|
111
263
|
context.pushBinding({
|
|
112
264
|
kind: "default",
|
|
113
265
|
local,
|
|
114
266
|
from: moduleSpecifier,
|
|
267
|
+
...(localRange ? { localRange } : {}),
|
|
115
268
|
resolved,
|
|
116
269
|
mechanism: "cjs",
|
|
117
270
|
});
|
|
118
271
|
}
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
272
|
+
for (const match of maskedSource.matchAll(NAMED_REQUIRE_DECLARATION_PATTERN)) {
|
|
273
|
+
const openingIndex = (match.index ?? 0) + match[0].lastIndexOf("{");
|
|
274
|
+
const closingIndex = closingBraceIndex(maskedSource, openingIndex);
|
|
275
|
+
if (closingIndex < 0)
|
|
122
276
|
continue;
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
.map((spec) => spec.trim())
|
|
126
|
-
.filter(Boolean);
|
|
127
|
-
const moduleSpecifier = match.groups?.module;
|
|
277
|
+
const requireMatch = REQUIRE_AFTER_BINDING_PATTERN.exec(source.slice(closingIndex + 1));
|
|
278
|
+
const moduleSpecifier = requireMatch?.groups?.module;
|
|
128
279
|
if (!moduleSpecifier)
|
|
129
280
|
continue;
|
|
281
|
+
const namedBlockStart = openingIndex + 1;
|
|
130
282
|
const resolved = await context.resolveFrom(moduleSpecifier);
|
|
131
|
-
for (const spec of
|
|
132
|
-
const
|
|
133
|
-
if (!
|
|
283
|
+
for (const { spec, start } of splitNamedRequireBindingsWithOffsets(source, maskedSource, namedBlockStart, closingIndex)) {
|
|
284
|
+
const namedRequire = parseNamedRequireSpecifier(spec);
|
|
285
|
+
if (!namedRequire)
|
|
134
286
|
continue;
|
|
135
|
-
const
|
|
136
|
-
const
|
|
287
|
+
const specStart = namedBlockStart + start;
|
|
288
|
+
const importedRange = tokenRange(source, lineStarts, specStart + namedRequire.importedOffset, namedRequire.imported);
|
|
289
|
+
const localRange = tokenRange(source, lineStarts, specStart + namedRequire.localOffset, namedRequire.local);
|
|
137
290
|
context.pushBinding({
|
|
138
291
|
kind: "named",
|
|
139
|
-
local,
|
|
140
|
-
imported,
|
|
292
|
+
local: namedRequire.local,
|
|
293
|
+
imported: namedRequire.imported,
|
|
141
294
|
from: moduleSpecifier,
|
|
295
|
+
...(namedRequire.explicitAlias ? { explicitAlias: true } : {}),
|
|
296
|
+
...(importedRange ? { importedRange } : {}),
|
|
297
|
+
...(localRange ? { localRange } : {}),
|
|
142
298
|
resolved,
|
|
143
299
|
mechanism: "cjs",
|
|
144
300
|
});
|
|
145
301
|
}
|
|
146
302
|
}
|
|
147
303
|
}
|
|
148
|
-
async function collectCommonJsImportEquals(context, source, maskedSource) {
|
|
304
|
+
async function collectCommonJsImportEquals(context, source, maskedSource, lineStarts) {
|
|
149
305
|
const importEqualsPattern = IMPORT_EQUALS_REQUIRE_PATTERN;
|
|
306
|
+
const importEqualsPrefix = /(?:^|[;{}])\s*import\s+/;
|
|
150
307
|
for (const match of source.matchAll(importEqualsPattern)) {
|
|
151
308
|
if (!matchStartsInCode(maskedSource, match))
|
|
152
309
|
continue;
|
|
@@ -154,28 +311,33 @@ async function collectCommonJsImportEquals(context, source, maskedSource) {
|
|
|
154
311
|
const moduleSpecifier = match.groups?.module;
|
|
155
312
|
if (!moduleSpecifier)
|
|
156
313
|
continue;
|
|
314
|
+
const localStart = (match.index ?? 0) + (importEqualsPrefix.exec(match[0])?.[0].length ?? 0);
|
|
315
|
+
const localRange = tokenRange(source, lineStarts, localStart, local);
|
|
157
316
|
const resolved = await context.resolveFrom(moduleSpecifier);
|
|
158
317
|
context.pushBinding({
|
|
159
318
|
kind: "default",
|
|
160
319
|
local,
|
|
161
320
|
from: moduleSpecifier,
|
|
321
|
+
...(localRange ? { localRange } : {}),
|
|
162
322
|
resolved,
|
|
163
323
|
mechanism: "cjs",
|
|
164
324
|
});
|
|
165
325
|
}
|
|
166
326
|
}
|
|
167
|
-
async function collectCommonJsImports(context, source, maskedSource) {
|
|
168
|
-
await collectCommonJsRequireDeclarations(context, source, maskedSource);
|
|
169
|
-
await collectCommonJsImportEquals(context, source, maskedSource);
|
|
327
|
+
async function collectCommonJsImports(context, source, maskedSource, lineStarts) {
|
|
328
|
+
await collectCommonJsRequireDeclarations(context, source, maskedSource, lineStarts);
|
|
329
|
+
await collectCommonJsImportEquals(context, source, maskedSource, lineStarts);
|
|
170
330
|
}
|
|
171
331
|
export async function collectJsTextValueRequireImports(context) {
|
|
172
332
|
const source = sourceForTextImportExtraction(context);
|
|
173
|
-
|
|
333
|
+
const lineStarts = collectLineStartOffsets(source);
|
|
334
|
+
await collectCommonJsRequireDeclarations(context, source, maskJsLikeCommentsStringsAndRegex(source), lineStarts);
|
|
174
335
|
}
|
|
175
336
|
export async function collectJsTextImports(context) {
|
|
176
337
|
const source = sourceForTextImportExtraction(context);
|
|
177
338
|
const maskedSource = maskJsLikeCommentsStringsAndRegex(source);
|
|
178
|
-
|
|
179
|
-
await
|
|
339
|
+
const lineStarts = collectLineStartOffsets(source);
|
|
340
|
+
await collectEsImports(context, source, maskedSource, lineStarts);
|
|
341
|
+
await collectCommonJsImports(context, source, maskedSource, lineStarts);
|
|
180
342
|
}
|
|
181
343
|
//# sourceMappingURL=js-text-imports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-text-imports.js","sourceRoot":"","sources":["../../../src/indexer/imports/js-text-imports.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"js-text-imports.js","sourceRoot":"","sources":["../../../src/indexer/imports/js-text-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,9 @@ export declare function appendImplicitImportBinding(context: LanguageSpecificImp
|
|
|
20
20
|
resolved: ResolvedImportTarget;
|
|
21
21
|
typeOnly: boolean;
|
|
22
22
|
stmtText: string;
|
|
23
|
+
/** UTF-16 start index of `stmtText` within the source file, when known. */
|
|
24
|
+
stmtStartIndex?: number;
|
|
25
|
+
source?: string;
|
|
23
26
|
alias?: string;
|
|
24
27
|
wildcard?: boolean;
|
|
25
28
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-specific.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/language-specific.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5F,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,GAAG;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,aAAa,EAAE,CAAC;IACnC,eAAe,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,kCAAkC,IAAI,4BAA4B,CAEjF;
|
|
1
|
+
{"version":3,"file":"language-specific.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/language-specific.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5F,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,GAAG;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,aAAa,EAAE,CAAC;IACnC,eAAe,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,kCAAkC,IAAI,4BAA4B,CAEjF;AAqMD,wBAAsB,+BAA+B,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3G;AA0XD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,6BAA6B,EACtC,KAAK,EAAE,4BAA4B,EACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,OAAO,CAAC,CA+BlB;AASD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,6BAA6B,EACtC,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,IAAI,CAiFN"}
|