typebulb 0.19.2 → 0.19.4
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/agents/claude/client.js +245 -250
- package/dist/agents/pi/client.js +251 -256
- package/dist/ai/aiProvider.d.ts +3 -6
- package/dist/ai/aiProvider.d.ts.map +1 -1
- package/dist/ai/aiProvider.js +5 -9
- package/dist/ai/aiProvider.js.map +1 -1
- package/dist/ai/aiProviders.d.ts +0 -1
- package/dist/ai/aiProviders.d.ts.map +1 -1
- package/dist/ai/aiProviders.js +2 -2
- package/dist/ai/aiProviders.js.map +1 -1
- package/dist/ai/index.d.ts +1 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/protocol.d.ts +43 -2
- package/dist/ai/protocol.d.ts.map +1 -1
- package/dist/ai/protocol.js +2 -2
- package/dist/ai/protocol.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts +1 -2
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +2 -12
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/chatCompletions.d.ts +38 -0
- package/dist/ai/providers/chatCompletions.d.ts.map +1 -0
- package/dist/ai/providers/chatCompletions.js +34 -0
- package/dist/ai/providers/chatCompletions.js.map +1 -0
- package/dist/ai/providers/gemini.d.ts.map +1 -1
- package/dist/ai/providers/gemini.js +4 -17
- package/dist/ai/providers/gemini.js.map +1 -1
- package/dist/ai/providers/ollama.d.ts +5 -31
- package/dist/ai/providers/ollama.d.ts.map +1 -1
- package/dist/ai/providers/ollama.js +2 -35
- package/dist/ai/providers/ollama.js.map +1 -1
- package/dist/ai/providers/openAI.d.ts +3 -53
- package/dist/ai/providers/openAI.d.ts.map +1 -1
- package/dist/ai/providers/openAI.js +2 -22
- package/dist/ai/providers/openAI.js.map +1 -1
- package/dist/ai/providers/openRouter.d.ts +6 -39
- package/dist/ai/providers/openRouter.d.ts.map +1 -1
- package/dist/ai/providers/openRouter.js +5 -37
- package/dist/ai/providers/openRouter.js.map +1 -1
- package/dist/ai/sseParser.d.ts +3 -2
- package/dist/ai/sseParser.d.ts.map +1 -1
- package/dist/ai/sseParser.js +20 -47
- package/dist/ai/sseParser.js.map +1 -1
- package/dist/dts/definitelyTypedProvider.d.ts +8 -9
- package/dist/dts/definitelyTypedProvider.d.ts.map +1 -1
- package/dist/dts/definitelyTypedProvider.js +9 -15
- package/dist/dts/definitelyTypedProvider.js.map +1 -1
- package/dist/dts/dtsConfig.d.ts +4 -0
- package/dist/dts/dtsConfig.d.ts.map +1 -1
- package/dist/dts/dtsConfig.js +15 -10
- package/dist/dts/dtsConfig.js.map +1 -1
- package/dist/dts/dtsResolver.d.ts +2 -7
- package/dist/dts/dtsResolver.d.ts.map +1 -1
- package/dist/dts/dtsResolver.js +12 -28
- package/dist/dts/dtsResolver.js.map +1 -1
- package/dist/dts/fetchDts.d.ts.map +1 -1
- package/dist/dts/fetchDts.js +4 -4
- package/dist/dts/fetchDts.js.map +1 -1
- package/dist/dts/index.d.ts +2 -10
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/index.js +2 -10
- package/dist/dts/index.js.map +1 -1
- package/dist/dts/libManifest.d.ts +0 -5
- package/dist/dts/libManifest.d.ts.map +1 -1
- package/dist/dts/libManifest.js +0 -5
- package/dist/dts/libManifest.js.map +1 -1
- package/dist/dts/tarballFetcher.d.ts +0 -1
- package/dist/dts/tarballFetcher.d.ts.map +1 -1
- package/dist/dts/tarballFetcher.js +0 -1
- package/dist/dts/tarballFetcher.js.map +1 -1
- package/dist/dts/typeProvider.d.ts +2 -14
- package/dist/dts/typeProvider.d.ts.map +1 -1
- package/dist/dts/typeProvider.js +1 -29
- package/dist/dts/typeProvider.js.map +1 -1
- package/dist/dts/typeRefScanner.d.ts +0 -1
- package/dist/dts/typeRefScanner.d.ts.map +1 -1
- package/dist/dts/typeRefScanner.js +12 -17
- package/dist/dts/typeRefScanner.js.map +1 -1
- package/dist/dts/typescriptProvider.d.ts +5 -3
- package/dist/dts/typescriptProvider.d.ts.map +1 -1
- package/dist/dts/typescriptProvider.js +30 -22
- package/dist/dts/typescriptProvider.js.map +1 -1
- package/dist/dts/virtualFs.d.ts +1 -4
- package/dist/dts/virtualFs.d.ts.map +1 -1
- package/dist/dts/virtualFs.js +1 -19
- package/dist/dts/virtualFs.js.map +1 -1
- package/dist/index.js +226 -229
- package/dist/lint/index.d.ts +1 -3
- package/dist/lint/index.d.ts.map +1 -1
- package/dist/lint/index.js +26 -33
- package/dist/lint/index.js.map +1 -1
- package/dist/render.js +137 -142
- package/dist/resolver/cdnClient.d.ts +2 -6
- package/dist/resolver/cdnClient.d.ts.map +1 -1
- package/dist/resolver/cdnClient.js +12 -20
- package/dist/resolver/cdnClient.js.map +1 -1
- package/dist/resolver/index.d.ts +1 -1
- package/dist/resolver/index.d.ts.map +1 -1
- package/dist/resolver/index.js +2 -2
- package/dist/resolver/index.js.map +1 -1
- package/dist/resolver/packageRef.d.ts +0 -2
- package/dist/resolver/packageRef.d.ts.map +1 -1
- package/dist/resolver/packageRef.js +0 -8
- package/dist/resolver/packageRef.js.map +1 -1
- package/dist/resolver/packageService.d.ts +5 -3
- package/dist/resolver/packageService.d.ts.map +1 -1
- package/dist/resolver/packageService.js +13 -22
- package/dist/resolver/packageService.js.map +1 -1
- package/dist/resolver/semver.d.ts +0 -3
- package/dist/resolver/semver.d.ts.map +1 -1
- package/dist/resolver/semver.js +1 -16
- package/dist/resolver/semver.js.map +1 -1
- package/dist/resolver/versionResolver.d.ts +0 -1
- package/dist/resolver/versionResolver.d.ts.map +1 -1
- package/dist/resolver/versionResolver.js +17 -21
- package/dist/resolver/versionResolver.js.map +1 -1
- package/dist/servers.js +59 -59
- package/package.json +1 -1
- package/dist/ai/chat.d.ts +0 -32
- package/dist/ai/chat.d.ts.map +0 -1
- package/dist/ai/chat.js +0 -5
- package/dist/ai/chat.js.map +0 -1
- package/dist/ai/stream.d.ts +0 -20
- package/dist/ai/stream.d.ts.map +0 -1
- package/dist/ai/stream.js +0 -6
- package/dist/ai/stream.js.map +0 -1
|
@@ -14,19 +14,16 @@ type JsDelivrMeta = {
|
|
|
14
14
|
versions: string[];
|
|
15
15
|
distTags?: Record<string, string>;
|
|
16
16
|
};
|
|
17
|
+
export declare function normalizeRelative(rel: string): string;
|
|
18
|
+
export declare function ensureLeadingDotSlash(rel: string): string;
|
|
17
19
|
export declare class CdnClient {
|
|
18
20
|
private cache;
|
|
19
21
|
private http;
|
|
20
|
-
readonly esmHost = "https://esm.sh";
|
|
21
|
-
readonly jsDelivrBase = "https://cdn.jsdelivr.net/npm/";
|
|
22
|
-
readonly jsDelivrMeta = "https://data.jsdelivr.com/v1/package/npm/";
|
|
23
22
|
private readonly pinMs;
|
|
24
23
|
private readonly versionsIndexMs;
|
|
25
24
|
private readonly metaTtlMs;
|
|
26
25
|
private readonly pinCache;
|
|
27
26
|
constructor(cache: PackageCache, http: HttpClient);
|
|
28
|
-
normalizeRelative(rel: string): string;
|
|
29
|
-
ensureLeadingDotSlash(rel: string): string;
|
|
30
27
|
baseDir(input: string | PackageRef): string;
|
|
31
28
|
file(input: string | PackageRef, rel: string): string;
|
|
32
29
|
packageJson(input: string | PackageRef): string;
|
|
@@ -35,7 +32,6 @@ export declare class CdnClient {
|
|
|
35
32
|
bundle?: boolean;
|
|
36
33
|
external?: string[];
|
|
37
34
|
}): string;
|
|
38
|
-
pinEsmUrl(pkg: string, target?: string): Promise<string | undefined>;
|
|
39
35
|
resolveExactVersion(pkg: string): Promise<Semver | undefined>;
|
|
40
36
|
private tryResolveFromUrls;
|
|
41
37
|
fetchVersionsIndex(name: string): Promise<JsDelivrMeta | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdnClient.d.ts","sourceRoot":"","sources":["../../resolver/src/cdnClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEpE,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AACvD,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAE,CAAA;AAG9L,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;CAAE,CAAA;AAG5E,
|
|
1
|
+
{"version":3,"file":"cdnClient.d.ts","sourceRoot":"","sources":["../../resolver/src/cdnClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEpE,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AACvD,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAE,CAAA;AAG9L,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;CAAE,CAAA;AAG5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,UAG5C;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,UAEhD;AAED,qBAAa,SAAS;IAMR,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,IAAI;IALrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;gBAEpC,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,UAAU;IAEjE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAKlC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM;IAI5C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAItC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO;IAQ3F,mBAAmB,CAAC,GAAG,EAAE,MAAM;YAcvB,kBAAkB;IAS1B,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAuBrC,OAAO,CAAC,mBAAmB;IAKrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAmBxF"}
|
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import { PackageRef } from './packageRef.js';
|
|
2
2
|
import { attempt } from './attempt.js';
|
|
3
3
|
import { ESM_HOST, JSDELIVR_BASE, JSDELIVR_META } from './cdnConstants.js';
|
|
4
|
+
export function normalizeRelative(rel) {
|
|
5
|
+
const s = rel || '';
|
|
6
|
+
return s.startsWith('./') ? s.slice(2) : s.replace(/^\/+/, '');
|
|
7
|
+
}
|
|
8
|
+
export function ensureLeadingDotSlash(rel) {
|
|
9
|
+
return rel.startsWith('./') ? rel : `./${rel}`;
|
|
10
|
+
}
|
|
4
11
|
export class CdnClient {
|
|
5
12
|
constructor(cache, http) {
|
|
6
13
|
this.cache = cache;
|
|
7
14
|
this.http = http;
|
|
8
|
-
this.esmHost = ESM_HOST;
|
|
9
|
-
this.jsDelivrBase = JSDELIVR_BASE;
|
|
10
|
-
this.jsDelivrMeta = JSDELIVR_META;
|
|
11
15
|
this.pinMs = 10000;
|
|
12
16
|
this.versionsIndexMs = 24 * 60 * 60 * 1000;
|
|
13
17
|
this.metaTtlMs = 7 * 24 * 60 * 60 * 1000; // 7 days
|
|
14
18
|
this.pinCache = new Map();
|
|
15
19
|
}
|
|
16
|
-
normalizeRelative(rel) {
|
|
17
|
-
const s = rel || '';
|
|
18
|
-
return s.startsWith('./') ? s.slice(2) : s.replace(/^\/+/, '');
|
|
19
|
-
}
|
|
20
|
-
ensureLeadingDotSlash(rel) {
|
|
21
|
-
return rel.startsWith('./') ? rel : `./${rel}`;
|
|
22
|
-
}
|
|
23
20
|
baseDir(input) {
|
|
24
21
|
const s = typeof input === 'string' ? new PackageRef(input) : input;
|
|
25
|
-
return `${
|
|
22
|
+
return `${JSDELIVR_BASE}${s.name}${s.version ? `@${s.version}` : ''}/`;
|
|
26
23
|
}
|
|
27
24
|
file(input, rel) {
|
|
28
|
-
return new URL(
|
|
25
|
+
return new URL(normalizeRelative(rel), this.baseDir(input)).toString();
|
|
29
26
|
}
|
|
30
27
|
packageJson(input) {
|
|
31
28
|
return this.file(input, 'package.json');
|
|
@@ -37,12 +34,7 @@ export class CdnClient {
|
|
|
37
34
|
qs.append('bundle', '');
|
|
38
35
|
if (external?.length)
|
|
39
36
|
qs.append('external', external.join(','));
|
|
40
|
-
return `${
|
|
41
|
-
}
|
|
42
|
-
async pinEsmUrl(pkg, target = 'es2022') {
|
|
43
|
-
const url = this.buildEsmUrl(pkg, { target });
|
|
44
|
-
const resp = await attempt(() => this.http.head(url));
|
|
45
|
-
return resp?.ok ? (resp.url || url) : undefined;
|
|
37
|
+
return `${ESM_HOST}/${pkg}?${qs.toString()}`;
|
|
46
38
|
}
|
|
47
39
|
async resolveExactVersion(pkg) {
|
|
48
40
|
const now = Date.now();
|
|
@@ -51,7 +43,7 @@ export class CdnClient {
|
|
|
51
43
|
return hit.value;
|
|
52
44
|
const value = await this.tryResolveFromUrls([
|
|
53
45
|
this.buildEsmUrl(pkg),
|
|
54
|
-
`${
|
|
46
|
+
`${ESM_HOST}/${pkg}`
|
|
55
47
|
]);
|
|
56
48
|
this.pinCache.set(pkg, { value, ts: now });
|
|
57
49
|
return value;
|
|
@@ -72,7 +64,7 @@ export class CdnClient {
|
|
|
72
64
|
if (cached && Date.now() - cached.updatedAt < this.versionsIndexMs) {
|
|
73
65
|
return { versions: cached.versions, distTags: cached.distTags };
|
|
74
66
|
}
|
|
75
|
-
const data = await attempt(() => this.http.getJson(`${
|
|
67
|
+
const data = await attempt(() => this.http.getJson(`${JSDELIVR_META}${encodeURIComponent(name)}`));
|
|
76
68
|
if (!data?.versions?.length) {
|
|
77
69
|
await this.cache.recordNegative(name);
|
|
78
70
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdnClient.js","sourceRoot":"","sources":["../../resolver/src/cdnClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAU1E,MAAM,
|
|
1
|
+
{"version":3,"file":"cdnClient.js","sourceRoot":"","sources":["../../resolver/src/cdnClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAU1E,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,CAAA;IACnB,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAA;AAChD,CAAC;AAED,MAAM,OAAO,SAAS;IAMpB,YAAoB,KAAmB,EAAU,IAAgB;QAA7C,UAAK,GAAL,KAAK,CAAc;QAAU,SAAI,GAAJ,IAAI,CAAY;QALhD,UAAK,GAAG,KAAM,CAAA;QACd,oBAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QACrC,cAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,SAAS;QAC7C,aAAQ,GAAG,IAAI,GAAG,EAAqB,CAAA;IAEY,CAAC;IAErE,OAAO,CAAC,KAA0B;QAChC,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACnE,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IACxE,CAAC;IAED,IAAI,CAAC,KAA0B,EAAE,GAAW;QAC1C,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,CAAC;IAED,WAAW,CAAC,KAA0B;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACzC,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,UAAsE,EAAE;QAC/F,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAC/D,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1C,IAAI,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnC,IAAI,QAAQ,EAAE,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,OAAO,GAAG,QAAQ,IAAI,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAW;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,KAAK,CAAA;QAEtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACrB,GAAG,QAAQ,IAAI,GAAG,EAAE;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAc;QAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAClD,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;YACjD,IAAI,CAAC;gBAAE,OAAO,CAAW,CAAA;QAC3B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,GAAG,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/E,CAAA;QAED,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/F,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;QAC/C,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAA;YACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;QAChF,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqB,GAAG,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAA;QAE3B,MAAM,QAAQ,GAAG,CAAmB,GAAO,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;QAChG,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACxD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;QAC7F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;IAChF,CAAC;CACF"}
|
package/dist/resolver/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare function createResolver(cache: PackageCache, http: HttpClient): {
|
|
|
12
12
|
export { PackageRef, type IPackageRef } from './packageRef.js';
|
|
13
13
|
export { semverService, SemverService, type Version } from './semver.js';
|
|
14
14
|
export { ESM_HOST, JSDELIVR_BASE, JSDELIVR_META } from './cdnConstants.js';
|
|
15
|
-
export { CdnClient, type Semver, type PackageMeta } from './cdnClient.js';
|
|
15
|
+
export { CdnClient, normalizeRelative, ensureLeadingDotSlash, type Semver, type PackageMeta } from './cdnClient.js';
|
|
16
16
|
export { PeerResolver, type ResolvedRoot, type PackageFlags, type AutoAddedPeer } from './peerResolver.js';
|
|
17
17
|
export { VersionResolver, type EffectivePackageResult } from './versionResolver.js';
|
|
18
18
|
export { PackageService, type ImportMap } from './packageService.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU;;;;;EAMnE;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU;;;;;EAMnE;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/resolver/index.js
CHANGED
|
@@ -7,13 +7,13 @@ export function createResolver(cache, http) {
|
|
|
7
7
|
const cdnClient = new CdnClient(cache, http);
|
|
8
8
|
const peerResolver = new PeerResolver(cdnClient);
|
|
9
9
|
const versionResolver = new VersionResolver(cache, cdnClient, semverService);
|
|
10
|
-
const packageService = new PackageService(versionResolver, cdnClient, peerResolver
|
|
10
|
+
const packageService = new PackageService(versionResolver, cdnClient, peerResolver);
|
|
11
11
|
return { packageService, versionResolver, cdnClient, peerResolver };
|
|
12
12
|
}
|
|
13
13
|
export { PackageRef } from './packageRef.js';
|
|
14
14
|
export { semverService, SemverService } from './semver.js';
|
|
15
15
|
export { ESM_HOST, JSDELIVR_BASE, JSDELIVR_META } from './cdnConstants.js';
|
|
16
|
-
export { CdnClient } from './cdnClient.js';
|
|
16
|
+
export { CdnClient, normalizeRelative, ensureLeadingDotSlash } from './cdnClient.js';
|
|
17
17
|
export { PeerResolver } from './peerResolver.js';
|
|
18
18
|
export { VersionResolver } from './versionResolver.js';
|
|
19
19
|
export { PackageService } from './packageService.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../resolver/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,UAAU,cAAc,CAAC,KAAmB,EAAE,IAAgB;IAClE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;IAC5E,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../resolver/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,UAAU,cAAc,CAAC,KAAmB,EAAE,IAAgB;IAClE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;IAC5E,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;IACnF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA;AACrE,CAAC;AAED,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAiC,MAAM,gBAAgB,CAAA;AACnH,OAAO,EAAE,YAAY,EAA4D,MAAM,mBAAmB,CAAA;AAC1G,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAkB,MAAM,qBAAqB,CAAA"}
|
|
@@ -10,12 +10,10 @@ export declare class PackageRef implements IPackageRef {
|
|
|
10
10
|
constructor(input: string | IPackageRef, version?: string, subpath?: string);
|
|
11
11
|
static parse(input: string): PackageRef;
|
|
12
12
|
static fromUrl(url: string): PackageRef | undefined;
|
|
13
|
-
static versionFromUrl(url: string): string | undefined;
|
|
14
13
|
format(): string;
|
|
15
14
|
root(): string;
|
|
16
15
|
static rootOf(pkg: string): string;
|
|
17
16
|
withVersion(v: string | undefined): PackageRef;
|
|
18
|
-
withPreferredVersion(exact?: string, range?: string): PackageRef;
|
|
19
17
|
static isBare(pkg: string): boolean;
|
|
20
18
|
}
|
|
21
19
|
//# sourceMappingURL=packageRef.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageRef.d.ts","sourceRoot":"","sources":["../../resolver/src/packageRef.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAOD,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;gBAEb,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO3E,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAiBvC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IA0BnD,MAAM,
|
|
1
|
+
{"version":3,"file":"packageRef.d.ts","sourceRoot":"","sources":["../../resolver/src/packageRef.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAOD,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;gBAEb,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO3E,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAiBvC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IA0BnD,MAAM,IAAI,MAAM;IAKhB,IAAI,IAAI,MAAM;IAEd,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU;IAM9C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;CAK1B"}
|
|
@@ -53,10 +53,6 @@ export class PackageRef {
|
|
|
53
53
|
return undefined;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
static versionFromUrl(url) {
|
|
57
|
-
const s = PackageRef.fromUrl(url);
|
|
58
|
-
return s?.version;
|
|
59
|
-
}
|
|
60
56
|
format() {
|
|
61
57
|
const base = this.version ? `${this.name}@${this.version}` : this.name;
|
|
62
58
|
return this.subpath ? `${base}/${this.subpath}` : base;
|
|
@@ -70,10 +66,6 @@ export class PackageRef {
|
|
|
70
66
|
// Using a string would trigger the string constructor path and drop the provided args
|
|
71
67
|
return new PackageRef({ name: this.name, version: undefIfEmpty(v), subpath: this.subpath });
|
|
72
68
|
}
|
|
73
|
-
withPreferredVersion(exact, range) {
|
|
74
|
-
const version = exact || range;
|
|
75
|
-
return version ? this.withVersion(version) : this;
|
|
76
|
-
}
|
|
77
69
|
static isBare(pkg) {
|
|
78
70
|
if (!pkg || pkg.startsWith('.') || pkg.startsWith('/'))
|
|
79
71
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageRef.js","sourceRoot":"","sources":["../../resolver/src/packageRef.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"packageRef.js","sourceRoot":"","sources":["../../resolver/src/packageRef.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VersionResolver } from './versionResolver.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PackageRanges } from './types.js';
|
|
3
3
|
import { CdnClient } from './cdnClient.js';
|
|
4
4
|
import { PeerResolver } from './peerResolver.js';
|
|
5
5
|
export type ImportMap = {
|
|
@@ -9,9 +9,8 @@ export declare class PackageService {
|
|
|
9
9
|
private version;
|
|
10
10
|
private cdn;
|
|
11
11
|
private peer;
|
|
12
|
-
private cache;
|
|
13
12
|
private static importPatterns;
|
|
14
|
-
constructor(version: VersionResolver, cdn: CdnClient, peer: PeerResolver
|
|
13
|
+
constructor(version: VersionResolver, cdn: CdnClient, peer: PeerResolver);
|
|
15
14
|
/** Fast sync import extraction using regex (for quick comparisons) */
|
|
16
15
|
extractImportsSync(source: string): string[];
|
|
17
16
|
/** Async import extraction using es-module-lexer (more accurate) */
|
|
@@ -32,6 +31,9 @@ export declare class PackageService {
|
|
|
32
31
|
};
|
|
33
32
|
prefetchUrls: string[];
|
|
34
33
|
}>;
|
|
34
|
+
/** Resolution is `resolveExactForRoot`'s pipeline or a clear failure — never an unpinned range.
|
|
35
|
+
* (Its final step already probes esm.sh, exact-version-guarded, so a registry outage still
|
|
36
|
+
* resolves when the CDN redirect names an exact version.) */
|
|
35
37
|
private resolveVersion;
|
|
36
38
|
private buildEntries;
|
|
37
39
|
/** Get dependencies (peer or regular) that are singletons and need to be externalized */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageService.d.ts","sourceRoot":"","sources":["../../resolver/src/packageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"packageService.d.ts","sourceRoot":"","sources":["../../resolver/src/packageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAA6D,MAAM,mBAAmB,CAAA;AAG3G,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AAE3D,qBAAa,cAAc;IAOb,OAAO,CAAC,OAAO;IAAmB,OAAO,CAAC,GAAG;IAAa,OAAO,CAAC,IAAI;IALlF,OAAO,CAAC,MAAM,CAAC,cAAc,CAG5B;gBAEmB,OAAO,EAAE,eAAe,EAAU,GAAG,EAAE,SAAS,EAAU,IAAI,EAAE,YAAY;IAEhG,sEAAsE;IACtE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAW5C,oEAAoE;IAC9D,cAAc,CAAC,MAAM,EAAE,MAAM;IAenC;;;;;;;OAOG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;;;;;;;;IAuBzF;;kEAE8D;YAChD,cAAc;IAa5B,OAAO,CAAC,YAAY;IAmFpB,yFAAyF;IACzF,OAAO,CAAC,eAAe;CAGxB"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { PackageRef } from './packageRef.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ESM_HOST } from './cdnConstants.js';
|
|
3
3
|
import { peerNames, depNames } from './peerResolver.js';
|
|
4
4
|
import { init, parse } from 'es-module-lexer';
|
|
5
5
|
export class PackageService {
|
|
6
|
-
constructor(version, cdn, peer
|
|
6
|
+
constructor(version, cdn, peer) {
|
|
7
7
|
this.version = version;
|
|
8
8
|
this.cdn = cdn;
|
|
9
9
|
this.peer = peer;
|
|
10
|
-
this.cache = cache;
|
|
11
10
|
}
|
|
12
11
|
/** Fast sync import extraction using regex (for quick comparisons) */
|
|
13
12
|
extractImportsSync(source) {
|
|
@@ -51,38 +50,30 @@ export class PackageService {
|
|
|
51
50
|
const directRoots = [...new Set(directImports.map(PackageRef.rootOf))];
|
|
52
51
|
const resolvedRoots = await Promise.all(directRoots.map(async (name) => ({ name, version: await this.resolveVersion(name, ranges) })));
|
|
53
52
|
const { allRoots, flags, autoAddedPeers } = await this.peer.resolve(resolvedRoots, name => this.resolveVersion(name, ranges));
|
|
54
|
-
const entries = this.buildEntries([...directImports, ...autoAddedPeers.map(p => p.name)], allRoots, flags
|
|
53
|
+
const entries = this.buildEntries([...directImports, ...autoAddedPeers.map(p => p.name)], allRoots, flags);
|
|
55
54
|
return {
|
|
56
55
|
importMap: { imports: Object.fromEntries(entries) },
|
|
57
56
|
prefetchUrls: entries.map(([, url]) => url)
|
|
58
57
|
};
|
|
59
58
|
}
|
|
59
|
+
/** Resolution is `resolveExactForRoot`'s pipeline or a clear failure — never an unpinned range.
|
|
60
|
+
* (Its final step already probes esm.sh, exact-version-guarded, so a registry outage still
|
|
61
|
+
* resolves when the CDN redirect names an exact version.) */
|
|
60
62
|
async resolveVersion(name, ranges) {
|
|
61
63
|
const range = ranges[name];
|
|
62
|
-
const
|
|
63
|
-
let version = await this.version.resolveExactForRoot(name, range);
|
|
64
|
+
const version = await this.version.resolveExactForRoot(name, range);
|
|
64
65
|
if (!version) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// no published version (e.g. ^0.3.0 before 0.3.0 ships), not an outage.
|
|
69
|
-
throw new Error(`Cannot resolve ${pkgSpec}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);
|
|
70
|
-
}
|
|
71
|
-
version = PackageRef.versionFromUrl(pinned);
|
|
72
|
-
if (version && range) {
|
|
73
|
-
await attempt(() => this.cache.setPinnedExact(name, range, version));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (!version) {
|
|
77
|
-
throw new Error(`Cannot resolve ${pkgSpec}: no concrete version found.`);
|
|
66
|
+
// Don't claim "network down" — the usual cause is a range that matches
|
|
67
|
+
// no published version (e.g. ^0.3.0 before 0.3.0 ships), not an outage.
|
|
68
|
+
throw new Error(`Cannot resolve ${range ? `${name}@${range}` : name}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);
|
|
78
69
|
}
|
|
79
70
|
return version;
|
|
80
71
|
}
|
|
81
|
-
buildEntries(imports, roots, flags
|
|
72
|
+
buildEntries(imports, roots, flags) {
|
|
82
73
|
const rootMap = new Map(roots.map(r => [r.name, r]));
|
|
83
74
|
const versionedPkg = (pkg) => {
|
|
84
75
|
const root = rootMap.get(PackageRef.rootOf(pkg));
|
|
85
|
-
return new PackageRef(pkg).
|
|
76
|
+
return new PackageRef(pkg).withVersion(root.version).format();
|
|
86
77
|
};
|
|
87
78
|
// Packages that must be singletons: peer roots OR shared deps
|
|
88
79
|
// - Peer roots: packages appearing in peerDependencies (react, vue, three)
|
|
@@ -140,7 +131,7 @@ export class PackageService {
|
|
|
140
131
|
if (!addedPkgs.has(name)) {
|
|
141
132
|
entries.push([name, this.cdn.buildEsmUrl(versionedPkg(name), {})]);
|
|
142
133
|
}
|
|
143
|
-
entries.push([`${name}/`, `${
|
|
134
|
+
entries.push([`${name}/`, `${ESM_HOST}/${versionedPkg(name)}/`]);
|
|
144
135
|
}
|
|
145
136
|
return entries;
|
|
146
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageService.js","sourceRoot":"","sources":["../../resolver/src/packageService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"packageService.js","sourceRoot":"","sources":["../../resolver/src/packageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,12 @@ export type Version = string;
|
|
|
2
2
|
export declare class SemverService {
|
|
3
3
|
cmp(a: Version, b: Version): number;
|
|
4
4
|
satisfies(range: string, v: Version): boolean;
|
|
5
|
-
pickMaxSatisfying(versions: Version[], range: string): Version | undefined;
|
|
6
|
-
pickLatest(versions: Version[]): Version | undefined;
|
|
7
5
|
selectBestVersion(versions: Version[], options?: {
|
|
8
6
|
distTags?: Record<string, string>;
|
|
9
7
|
range?: string;
|
|
10
8
|
preferStable?: boolean;
|
|
11
9
|
}): Version | undefined;
|
|
12
10
|
majorOf(v: Version): number;
|
|
13
|
-
isPrerelease(version: Version): boolean;
|
|
14
11
|
isExactVersion(version: string): boolean;
|
|
15
12
|
}
|
|
16
13
|
export declare const semverService: SemverService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAI5B,qBAAa,aAAa;IAExB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM;IAKnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAK7C,iBAAiB,
|
|
1
|
+
{"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAI5B,qBAAa,aAAa;IAExB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM;IAKnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAK7C,iBAAiB,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,GACA,OAAO,GAAG,SAAS;IAuBtB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAI3B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AACD,eAAO,MAAM,aAAa,eAAsB,CAAA"}
|
package/dist/resolver/semver.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { gt, satisfies as satisfiesFn, maxSatisfying, major,
|
|
1
|
+
import { gt, satisfies as satisfiesFn, maxSatisfying, major, valid } from 'semver';
|
|
2
2
|
export class SemverService {
|
|
3
3
|
cmp(a, b) {
|
|
4
4
|
if (a === b)
|
|
@@ -10,18 +10,6 @@ export class SemverService {
|
|
|
10
10
|
return true;
|
|
11
11
|
return Boolean(satisfiesFn(v, range, { includePrerelease: true }));
|
|
12
12
|
}
|
|
13
|
-
pickMaxSatisfying(versions, range) {
|
|
14
|
-
if (!versions?.length)
|
|
15
|
-
return undefined;
|
|
16
|
-
const res = maxSatisfying(versions, range, { includePrerelease: true });
|
|
17
|
-
return res === null ? undefined : res;
|
|
18
|
-
}
|
|
19
|
-
pickLatest(versions) {
|
|
20
|
-
if (!versions?.length)
|
|
21
|
-
return undefined;
|
|
22
|
-
const sorted = rsort(versions);
|
|
23
|
-
return sorted[0];
|
|
24
|
-
}
|
|
25
13
|
selectBestVersion(versions, options) {
|
|
26
14
|
if (!versions?.length)
|
|
27
15
|
return undefined;
|
|
@@ -45,9 +33,6 @@ export class SemverService {
|
|
|
45
33
|
majorOf(v) {
|
|
46
34
|
return major(v);
|
|
47
35
|
}
|
|
48
|
-
isPrerelease(version) {
|
|
49
|
-
return prerelease(version) !== null;
|
|
50
|
-
}
|
|
51
36
|
isExactVersion(version) {
|
|
52
37
|
return valid(version) !== null;
|
|
53
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,SAAS,IAAI,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,SAAS,IAAI,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAElF,MAAM,OAAO,aAAa;IAExB,GAAG,CAAC,CAAU,EAAE,CAAU;QACxB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,CAAU;QACjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAA;QACxC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,iBAAiB,CACf,QAAmB,EACnB,OAIC;QAED,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,SAAS,CAAA;QAEvC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAA;QAC3C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAA;QAElD,+DAA+D;QAC/D,MAAM,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAA;QACxC,IAAI,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACzE,OAAO,MAAM,CAAA;QACf,CAAC;QAED,mDAAmD;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAkB,CAAA;YAC5F,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QAED,oEAAoE;QACpE,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAkB,CAAA;QACxF,OAAO,GAAG,IAAI,SAAS,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,CAAU;QAChB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAChC,CAAC;CACF;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA"}
|
|
@@ -12,7 +12,6 @@ export declare class VersionResolver {
|
|
|
12
12
|
private cdn;
|
|
13
13
|
private semver;
|
|
14
14
|
constructor(cache: PackageCache, cdn: CdnClient, semver: SemverService);
|
|
15
|
-
private selectVersionFromIndex;
|
|
16
15
|
/**
|
|
17
16
|
* Learns the best available version for a package (no caching).
|
|
18
17
|
* Used by packageAuto to determine what version we'd assign fresh.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionResolver.d.ts","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,GAAG;IAAa,OAAO,CAAC,MAAM;gBAA3D,KAAK,EAAE,YAAY,EAAU,GAAG,EAAE,SAAS,EAAU,MAAM,EAAE,aAAa;IAE9F
|
|
1
|
+
{"version":3,"file":"versionResolver.d.ts","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,GAAG;IAAa,OAAO,CAAC,MAAM;gBAA3D,KAAK,EAAE,YAAY,EAAU,GAAG,EAAE,SAAS,EAAU,MAAM,EAAE,aAAa;IAE9F;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS5D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAyChD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;;;;;;CAc1D"}
|
|
@@ -6,9 +6,6 @@ export class VersionResolver {
|
|
|
6
6
|
this.cdn = cdn;
|
|
7
7
|
this.semver = semver;
|
|
8
8
|
}
|
|
9
|
-
selectVersionFromIndex(versions, range, distTags) {
|
|
10
|
-
return this.semver.selectBestVersion(versions, { range, distTags });
|
|
11
|
-
}
|
|
12
9
|
/**
|
|
13
10
|
* Learns the best available version for a package (no caching).
|
|
14
11
|
* Used by packageAuto to determine what version we'd assign fresh.
|
|
@@ -32,9 +29,16 @@ export class VersionResolver {
|
|
|
32
29
|
// Routine, not an error: a cached pin that isn't an exact version just gets re-resolved below.
|
|
33
30
|
console.debug('[typebulb] cached version for', root, 'is not exact (', pinned, '); re-resolving from registry');
|
|
34
31
|
}
|
|
32
|
+
const pinIfExact = async (v) => {
|
|
33
|
+
if (v && this.semver.isExactVersion(v)) {
|
|
34
|
+
await this.cache.setPinnedExact(root, range, v);
|
|
35
|
+
return v;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
};
|
|
35
39
|
const idx = await attempt(() => this.cdn.fetchVersionsIndex(root));
|
|
36
40
|
if (idx?.versions?.length) {
|
|
37
|
-
const chosen = this.
|
|
41
|
+
const chosen = this.semver.selectBestVersion(idx.versions, { range, distTags: idx.distTags });
|
|
38
42
|
if (!chosen) {
|
|
39
43
|
// Routine cache refresh after a new release: the cached version set predates a release that
|
|
40
44
|
// satisfies `range`, so drop it and re-fetch. Not an error — expected right after an upgrade.
|
|
@@ -42,32 +46,24 @@ export class VersionResolver {
|
|
|
42
46
|
await this.cache.invalidateVersionsCache(root);
|
|
43
47
|
const freshIdx = await attempt(() => this.cdn.fetchVersionsIndex(root));
|
|
44
48
|
if (freshIdx?.versions?.length) {
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
return freshChosen;
|
|
49
|
-
}
|
|
49
|
+
const fresh = await pinIfExact(this.semver.selectBestVersion(freshIdx.versions, { range, distTags: freshIdx.distTags }));
|
|
50
|
+
if (fresh)
|
|
51
|
+
return fresh;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
|
-
else
|
|
53
|
-
await
|
|
54
|
-
|
|
54
|
+
else {
|
|
55
|
+
const exact = await pinIfExact(chosen);
|
|
56
|
+
if (exact)
|
|
57
|
+
return exact;
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
|
-
|
|
58
|
-
if (exact && this.semver.isExactVersion(exact)) {
|
|
59
|
-
await this.cache.setPinnedExact(root, range, exact);
|
|
60
|
-
return exact;
|
|
61
|
-
}
|
|
62
|
-
return undefined;
|
|
60
|
+
return pinIfExact(await this.cdn.resolveExactVersion(`${root}@${range}`));
|
|
63
61
|
}
|
|
64
62
|
async effectivePackage(pkg, ranges) {
|
|
65
63
|
const parsed = new PackageRef(pkg);
|
|
66
64
|
const root = parsed.root();
|
|
67
65
|
const range = ranges[root];
|
|
68
|
-
const pinned = range
|
|
69
|
-
? await attempt(() => this.cache.getPinnedExact(root, range)) ?? await attempt(() => this.resolveExactForRoot(root, range))
|
|
70
|
-
: undefined;
|
|
66
|
+
const pinned = range ? await attempt(() => this.resolveExactForRoot(root, range)) : undefined;
|
|
71
67
|
return {
|
|
72
68
|
effectivePackage: pinned ? parsed.withVersion(pinned).format() : pkg,
|
|
73
69
|
root,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionResolver.js","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAStC,MAAM,OAAO,eAAe;IAC1B,YAAoB,KAAmB,EAAU,GAAc,EAAU,MAAqB;QAA1E,UAAK,GAAL,KAAK,CAAc;QAAU,QAAG,GAAH,GAAG,CAAW;QAAU,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"versionResolver.js","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"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"}
|