runtime-resolver 0.3.20 → 0.3.22

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.
@@ -25,7 +25,7 @@ const rootCommand = Command.make("runtime-resolver", {
25
25
  }, resolveHandler);
26
26
  const cli = Command.run(rootCommand, {
27
27
  name: "runtime-resolver",
28
- version: "0.3.20"
28
+ version: "0.3.22"
29
29
  });
30
30
  const main = Effect.suspend(() => cli(process.argv)).pipe(Effect.provide(NodeContext.layer), Effect.catchAllCause((cause) => {
31
31
  if (Cause.defects(cause).length > 0) return Console.error(Cause.pretty(cause)).pipe(Effect.andThen(Effect.failCause(cause)));
@@ -98,27 +98,30 @@ const toError = (name, error) => [name, {
98
98
  error: serializeError(error)
99
99
  }];
100
100
  const resolveNode = (semverRange, phases, increments, defaultVersion, date, authOverride) => Effect.gen(function* () {
101
- return toSuccess("node", yield* (yield* NodeResolver).resolve({
101
+ const result = yield* (yield* NodeResolver).resolve({
102
102
  semverRange,
103
103
  ...phases ? { phases } : {},
104
104
  ...increments ? { increments } : {},
105
105
  ...defaultVersion ? { defaultVersion } : {},
106
106
  ...date ? { date } : {}
107
- }));
107
+ });
108
+ return toSuccess("node", result);
108
109
  }).pipe(Effect.provide(makeNodeLayer(authOverride)), Effect.catchAll((error) => Effect.succeed(toError("node", error))));
109
110
  const resolveBun = (semverRange, increments, defaultVersion, authOverride) => Effect.gen(function* () {
110
- return toSuccess("bun", yield* (yield* BunResolver).resolve({
111
+ const result = yield* (yield* BunResolver).resolve({
111
112
  semverRange,
112
113
  ...increments ? { increments } : {},
113
114
  ...defaultVersion ? { defaultVersion } : {}
114
- }));
115
+ });
116
+ return toSuccess("bun", result);
115
117
  }).pipe(Effect.provide(makeBunLayer(authOverride)), Effect.catchAll((error) => Effect.succeed(toError("bun", error))));
116
118
  const resolveDeno = (semverRange, increments, defaultVersion, authOverride) => Effect.gen(function* () {
117
- return toSuccess("deno", yield* (yield* DenoResolver).resolve({
119
+ const result = yield* (yield* DenoResolver).resolve({
118
120
  semverRange,
119
121
  ...increments ? { increments } : {},
120
122
  ...defaultVersion ? { defaultVersion } : {}
121
- }));
123
+ });
124
+ return toSuccess("deno", result);
122
125
  }).pipe(Effect.provide(makeDenoLayer(authOverride)), Effect.catchAll((error) => Effect.succeed(toError("deno", error))));
123
126
  const formatResponse = (ok, results, pretty) => {
124
127
  return JSON.stringify({
@@ -1,5 +1,13 @@
1
1
  //#region src/data/deno-defaults.ts
2
2
  const denoDefaultInputs = [
3
+ {
4
+ version: "2.9.2",
5
+ date: "2026-07-08T14:36:21Z"
6
+ },
7
+ {
8
+ version: "2.9.1",
9
+ date: "2026-07-01T16:31:16Z"
10
+ },
3
11
  {
4
12
  version: "2.9.0",
5
13
  date: "2026-06-25T15:00:40Z"
@@ -1,5 +1,10 @@
1
1
  //#region src/data/node-defaults.ts
2
2
  const nodeDefaultInputs = [
3
+ {
4
+ version: "26.5.0",
5
+ npm: "11.17.0",
6
+ date: "2026-07-08"
7
+ },
3
8
  {
4
9
  version: "26.4.0",
5
10
  npm: "11.17.0",
package/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Context, DateTime, Effect, Layer, Option, Ref, Schema } from "effect";
2
2
  import { EmptyCacheError, InvalidRangeError, InvalidVersionError, SemVer, UnsatisfiedRangeError, VersionCache } from "semver-effect";
3
-
4
3
  //#region src/schemas/common.d.ts
5
4
  /**
6
5
  * Discriminates which JavaScript runtime a resolver targets.
@@ -124,7 +123,7 @@ declare const Increments: Schema.Literal<["latest", "minor", "patch"]>;
124
123
  type Increments = typeof Increments.Type;
125
124
  //#endregion
126
125
  //#region src/errors/VersionNotFoundError.d.ts
127
- declare const VersionNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
126
+ declare const VersionNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
128
127
  readonly _tag: "VersionNotFoundError";
129
128
  } & Readonly<A>;
130
129
  /**
@@ -486,7 +485,7 @@ declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolve
486
485
  declare class NodeResolver extends NodeResolver_base {}
487
486
  //#endregion
488
487
  //#region src/errors/AuthenticationError.d.ts
489
- declare const AuthenticationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
488
+ declare const AuthenticationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
490
489
  readonly _tag: "AuthenticationError";
491
490
  } & Readonly<A>;
492
491
  /**
@@ -523,7 +522,7 @@ declare class AuthenticationError extends AuthenticationError_base<{
523
522
  }> {}
524
523
  //#endregion
525
524
  //#region src/errors/CacheError.d.ts
526
- declare const CacheError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
525
+ declare const CacheError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
527
526
  readonly _tag: "CacheError";
528
527
  } & Readonly<A>;
529
528
  /**
@@ -557,7 +556,7 @@ declare class CacheError extends CacheError_base<{
557
556
  }> {}
558
557
  //#endregion
559
558
  //#region src/errors/FreshnessError.d.ts
560
- declare const FreshnessError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
559
+ declare const FreshnessError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
561
560
  readonly _tag: "FreshnessError";
562
561
  } & Readonly<A>;
563
562
  /**
@@ -597,7 +596,7 @@ declare class FreshnessError extends FreshnessError_base<{
597
596
  }> {}
598
597
  //#endregion
599
598
  //#region src/errors/InvalidInputError.d.ts
600
- declare const InvalidInputError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
599
+ declare const InvalidInputError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
601
600
  readonly _tag: "InvalidInputError";
602
601
  } & Readonly<A>;
603
602
  /**
@@ -633,7 +632,7 @@ declare class InvalidInputError extends InvalidInputError_base<{
633
632
  }> {}
634
633
  //#endregion
635
634
  //#region src/errors/NetworkError.d.ts
636
- declare const NetworkError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
635
+ declare const NetworkError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
637
636
  readonly _tag: "NetworkError";
638
637
  } & Readonly<A>;
639
638
  /**
@@ -670,7 +669,7 @@ declare class NetworkError extends NetworkError_base<{
670
669
  }> {}
671
670
  //#endregion
672
671
  //#region src/errors/ParseError.d.ts
673
- declare const ParseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
672
+ declare const ParseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
674
673
  readonly _tag: "ParseError";
675
674
  } & Readonly<A>;
676
675
  /**
@@ -705,7 +704,7 @@ declare class ParseError extends ParseError_base<{
705
704
  }> {}
706
705
  //#endregion
707
706
  //#region src/errors/RateLimitError.d.ts
708
- declare const RateLimitError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => import("effect/Cause").YieldableError & {
707
+ declare const RateLimitError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
709
708
  readonly _tag: "RateLimitError";
710
709
  } & Readonly<A>;
711
710
  /**
@@ -795,7 +794,7 @@ declare const RuntimeReleaseInput: Schema.Struct<{
795
794
  type RuntimeReleaseInput = typeof RuntimeReleaseInput.Type;
796
795
  //#endregion
797
796
  //#region src/schemas/bun-release.d.ts
798
- declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => Readonly<A> & {
797
+ declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
799
798
  readonly _tag: "BunRelease";
800
799
  };
801
800
  /**
@@ -1048,7 +1047,7 @@ declare class BunVersionFetcher extends BunVersionFetcher_base {}
1048
1047
  declare const AutoBunCacheLive: Layer.Layer<BunReleaseCache, never, BunVersionFetcher>;
1049
1048
  //#endregion
1050
1049
  //#region src/schemas/deno-release.d.ts
1051
- declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => Readonly<A> & {
1050
+ declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
1052
1051
  readonly _tag: "DenoRelease";
1053
1052
  };
1054
1053
  /**
@@ -1250,7 +1249,7 @@ type NodeScheduleData = Record<string, {
1250
1249
  readonly end: string;
1251
1250
  readonly codename?: string;
1252
1251
  }>;
1253
- declare const NodeSchedule_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => Readonly<A> & {
1252
+ declare const NodeSchedule_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
1254
1253
  readonly _tag: "NodeSchedule";
1255
1254
  };
1256
1255
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runtime-resolver",
3
- "version": "0.3.20",
3
+ "version": "0.3.22",
4
4
  "private": false,
5
5
  "description": "Resolve semver-compatible versions of Node.js, Bun, and Deno runtimes with Effect-based architecture and offline fallback.",
6
6
  "keywords": [
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "@octokit/auth-app": "^8.2.0",
47
47
  "octokit": "^5.0.5",
48
- "semver-effect": "^0.3.0"
48
+ "semver-effect": "^0.3.1"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "@effect/cli": "^0.75.2",
@@ -49,9 +49,11 @@ var BunRelease = class BunRelease extends Data.TaggedClass("BunRelease") {
49
49
  */
50
50
  static fromInput(input) {
51
51
  return Effect.gen(function* () {
52
+ const version = yield* SemVer.parse(input.version);
53
+ const date = input.date ? DateTime.unsafeMake(input.date) : DateTime.unsafeMake(/* @__PURE__ */ new Date());
52
54
  return new BunRelease({
53
- version: yield* SemVer.parse(input.version),
54
- date: input.date ? DateTime.unsafeMake(input.date) : DateTime.unsafeMake(/* @__PURE__ */ new Date())
55
+ version,
56
+ date
55
57
  });
56
58
  });
57
59
  }
@@ -49,9 +49,11 @@ var DenoRelease = class DenoRelease extends Data.TaggedClass("DenoRelease") {
49
49
  */
50
50
  static fromInput(input) {
51
51
  return Effect.gen(function* () {
52
+ const version = yield* SemVer.parse(input.version);
53
+ const date = input.date ? DateTime.unsafeMake(input.date) : DateTime.unsafeMake(/* @__PURE__ */ new Date());
52
54
  return new DenoRelease({
53
- version: yield* SemVer.parse(input.version),
54
- date: input.date ? DateTime.unsafeMake(input.date) : DateTime.unsafeMake(/* @__PURE__ */ new Date())
55
+ version,
56
+ date
55
57
  });
56
58
  });
57
59
  }
@@ -121,7 +121,10 @@ var NodeRelease = class NodeRelease {
121
121
  */
122
122
  static fromInput(input, scheduleRef) {
123
123
  return Effect.gen(function* () {
124
- return new NodeRelease(yield* SemVer.parse(input.version), yield* SemVer.parse(input.npm), DateTime.unsafeMake(input.date), scheduleRef);
124
+ const version = yield* SemVer.parse(input.version);
125
+ const npm = yield* SemVer.parse(input.npm);
126
+ const date = DateTime.unsafeMake(input.date);
127
+ return new NodeRelease(version, npm, date, scheduleRef);
125
128
  });
126
129
  }
127
130
  };