@nithin554/code-crawler 0.1.63 → 0.1.64
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 +21 -12
- package/dist/crawler.js +4 -7
- package/dist/crawler.js.map +1 -1
- package/dist/parser/language.d.ts +16 -0
- package/dist/parser/languages/index.d.ts +4 -2
- package/dist/parser/languages/index.js +8 -4
- package/dist/parser/languages/index.js.map +1 -1
- package/dist/parser/languages/java.d.ts +2 -2
- package/dist/parser/languages/java.js +3 -0
- package/dist/parser/languages/java.js.map +1 -1
- package/dist/parser/languages/python.d.ts +2 -2
- package/dist/parser/languages/python.js +3 -0
- package/dist/parser/languages/python.js.map +1 -1
- package/dist/parser/languages/typescript.d.ts +2 -2
- package/dist/parser/languages/typescript.js +3 -0
- package/dist/parser/languages/typescript.js.map +1 -1
- package/dist/resolver/genericResolver.d.ts +7 -1
- package/dist/resolver/genericResolver.js +10 -0
- package/dist/resolver/genericResolver.js.map +1 -1
- package/dist/resolver/javaResolver.d.ts +6 -1
- package/dist/resolver/javaResolver.js +9 -0
- package/dist/resolver/javaResolver.js.map +1 -1
- package/dist/resolver/registry.d.ts +15 -0
- package/dist/resolver/registry.js +36 -0
- package/dist/resolver/registry.js.map +1 -0
- package/dist/resolver/types.d.ts +22 -0
- package/dist/resolver/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { moduleResolver } from "./genericResolver.js";
|
|
2
|
+
import { javaResolver } from "./javaResolver.js";
|
|
3
|
+
/**
|
|
4
|
+
* Call resolvers, keyed by the name a language descriptor declares. Adding a
|
|
5
|
+
* language means adding a descriptor and (if it needs new resolution rules) one
|
|
6
|
+
* entry here — no edits to `crawler.ts` or to any existing language module.
|
|
7
|
+
*/
|
|
8
|
+
const registry = new Map([
|
|
9
|
+
[javaResolver.name, javaResolver],
|
|
10
|
+
[moduleResolver.name, moduleResolver],
|
|
11
|
+
]);
|
|
12
|
+
/** The resolver used when a language declares no specialised one. */
|
|
13
|
+
export const DEFAULT_RESOLVER = moduleResolver.name;
|
|
14
|
+
export function getResolver(name) {
|
|
15
|
+
return registry.get(name);
|
|
16
|
+
}
|
|
17
|
+
export function listResolvers() {
|
|
18
|
+
return [...registry.values()];
|
|
19
|
+
}
|
|
20
|
+
export function resolverNames() {
|
|
21
|
+
return [...registry.keys()];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a parsed file's calls with the given resolver, falling back to the
|
|
25
|
+
* default when the name is unknown so an unregistered language degrades to
|
|
26
|
+
* module resolution instead of failing the whole crawl.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveFileWith(resolverName, parsed, index) {
|
|
29
|
+
const resolver = getResolver(resolverName) ?? moduleResolver;
|
|
30
|
+
return resolver.resolveFile(parsed, index);
|
|
31
|
+
}
|
|
32
|
+
/** Capabilities a language buys, given its descriptor's resolver name. */
|
|
33
|
+
export function capabilitiesOf(resolverName) {
|
|
34
|
+
return (getResolver(resolverName) ?? moduleResolver).capabilities;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/resolver/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;;GAIG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAmB;IACzC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;IACjC,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC;CACtC,CAAC,CAAC;AAEH,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC;AAEpD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAoB,EACpB,MAAkB,EAClB,KAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC;IAC7D,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,CAAC,YAAY,CAAC;AACpE,CAAC"}
|
package/dist/resolver/types.d.ts
CHANGED
|
@@ -21,6 +21,28 @@ export interface ResolvedCall {
|
|
|
21
21
|
/** Package/specifier of the external target (also used as node id suffix). */
|
|
22
22
|
externalModule?: string;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* What a resolver is able to do. Declared rather than discovered, so a language
|
|
26
|
+
* descriptor can state what it buys without the caller probing behaviour, and a
|
|
27
|
+
* gap (a language with no hierarchy support) is visible instead of silent.
|
|
28
|
+
*/
|
|
29
|
+
export type ResolverCapability =
|
|
30
|
+
/** Infers a receiver's declared type from locals, parameters, and fields. */
|
|
31
|
+
"declared-types"
|
|
32
|
+
/** Follows extends/implements when a method is not on the receiver's own type. */
|
|
33
|
+
| "hierarchy"
|
|
34
|
+
/** Selects among overloads using argument count and inferred argument types. */
|
|
35
|
+
| "overloads"
|
|
36
|
+
/** Resolves through module ids: imports, barrels, `export default`. */
|
|
37
|
+
| "module-exports";
|
|
38
|
+
/** A call resolver for one family of languages. */
|
|
39
|
+
export interface Resolver {
|
|
40
|
+
/** Registry key, matched by a language descriptor's `resolver` field. */
|
|
41
|
+
readonly name: string;
|
|
42
|
+
readonly capabilities: readonly ResolverCapability[];
|
|
43
|
+
/** Turn a parsed file's raw call sites into resolved (or phantom) calls. */
|
|
44
|
+
resolveFile(parsed: ParsedFile, index: TypeIndex): ResolvedCall[];
|
|
45
|
+
}
|
|
24
46
|
/**
|
|
25
47
|
* Global index over all parsed files, used to resolve type and method names
|
|
26
48
|
* across the whole project. Built once per crawl pass.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resolver/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resolver/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED