typebulb 0.56.0 → 0.56.1

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.
@@ -9,6 +9,8 @@ export declare class SemverService {
9
9
  }): Version | undefined;
10
10
  majorOf(v: Version): number;
11
11
  isExactVersion(version: string): boolean;
12
+ /** False for a dist-tag such as `next`, which npm accepts as a spec but no semver check can judge. */
13
+ isRange(range: string): boolean;
12
14
  }
13
15
  export declare const semverService: SemverService;
14
16
  //# sourceMappingURL=semver.d.ts.map
@@ -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,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"}
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;IAIxC,sGAAsG;IACtG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGhC;AACD,eAAO,MAAM,aAAa,eAAsB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { gt, satisfies as satisfiesFn, maxSatisfying, major, valid } from 'semver';
1
+ import { gt, satisfies as satisfiesFn, maxSatisfying, major, valid, validRange } from 'semver';
2
2
  export class SemverService {
3
3
  cmp(a, b) {
4
4
  if (a === b)
@@ -36,6 +36,10 @@ export class SemverService {
36
36
  isExactVersion(version) {
37
37
  return valid(version) !== null;
38
38
  }
39
+ /** False for a dist-tag such as `next`, which npm accepts as a spec but no semver check can judge. */
40
+ isRange(range) {
41
+ return validRange(range) !== null;
42
+ }
39
43
  }
40
44
  export const semverService = new SemverService();
41
45
  //# sourceMappingURL=semver.js.map
@@ -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,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"}
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,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE9F,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;IAED,sGAAsG;IACtG,OAAO,CAAC,KAAa;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACnC,CAAC;CACF;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA"}
@@ -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;;;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"}
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;IA4ChD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;;;;;;CAc1D"}
@@ -22,15 +22,17 @@ export class VersionResolver {
22
22
  async resolveExactForRoot(root, range) {
23
23
  if (!range)
24
24
  return this.learnExactVersion(root);
25
+ // A dist-tag "range" (`next`) has nothing to check; only a real semver range constrains the pin.
26
+ const inRange = (v) => !this.semver.isRange(range) || this.semver.satisfies(range, v);
25
27
  const pinned = await this.cache.getPinnedExact(root, range);
26
28
  if (pinned) {
27
- if (this.semver.isExactVersion(pinned))
29
+ if (this.semver.isExactVersion(pinned) && inRange(pinned))
28
30
  return pinned;
29
- // Routine, not an error: a cached pin that isn't an exact version just gets re-resolved below.
30
- console.debug('[typebulb] cached version for', root, 'is not exact (', pinned, '); re-resolving from registry');
31
+ // Routine, not an error: a pin that isn't exact or falls outside the range just gets re-resolved below.
32
+ console.debug('[typebulb] cached version for', root, 'is not exact or not in', range, '(', pinned, '); re-resolving from registry');
31
33
  }
32
34
  const pinIfExact = async (v) => {
33
- if (v && this.semver.isExactVersion(v)) {
35
+ if (v && this.semver.isExactVersion(v) && inRange(v)) {
34
36
  await this.cache.setPinnedExact(root, range, v);
35
37
  return v;
36
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"versionResolver.js","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versionResolver.js","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"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"}