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.
- package/bin/runtime-resolver.js +1 -1
- package/cli/commands/resolve.js +9 -6
- package/data/deno-defaults.js +8 -0
- package/data/node-defaults.js +5 -0
- package/index.d.ts +11 -12
- package/package.json +2 -2
- package/schemas/bun-release.js +4 -2
- package/schemas/deno-release.js +4 -2
- package/schemas/node-release.js +4 -1
package/bin/runtime-resolver.js
CHANGED
|
@@ -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.
|
|
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)));
|
package/cli/commands/resolve.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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({
|
package/data/deno-defaults.js
CHANGED
package/data/node-defaults.js
CHANGED
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.
|
|
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.
|
|
48
|
+
"semver-effect": "^0.3.1"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"@effect/cli": "^0.75.2",
|
package/schemas/bun-release.js
CHANGED
|
@@ -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
|
|
54
|
-
date
|
|
55
|
+
version,
|
|
56
|
+
date
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
59
|
}
|
package/schemas/deno-release.js
CHANGED
|
@@ -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
|
|
54
|
-
date
|
|
55
|
+
version,
|
|
56
|
+
date
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
59
|
}
|
package/schemas/node-release.js
CHANGED
|
@@ -121,7 +121,10 @@ var NodeRelease = class NodeRelease {
|
|
|
121
121
|
*/
|
|
122
122
|
static fromInput(input, scheduleRef) {
|
|
123
123
|
return Effect.gen(function* () {
|
|
124
|
-
|
|
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
|
};
|