@effected/runtimes 0.13.0 → 0.14.0
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/BunResolver.js +1 -2
- package/DenoResolver.js +1 -2
- package/GitHub.js +1 -2
- package/NodeRelease.js +1 -2
- package/NodeResolver.js +1 -2
- package/NodeSchedule.js +1 -2
- package/ResolvedVersions.js +1 -2
- package/index.d.ts +0 -14
- package/internal/defaults/bun.js +5 -2
- package/internal/defaults/deno.js +5 -2
- package/internal/defaults/node.js +17 -3
- package/internal/feeds.js +1 -2
- package/internal/githubRuntime.js +1 -2
- package/internal/http.js +1 -2
- package/internal/once.js +1 -2
- package/internal/releaseIndex.js +1 -2
- package/internal/resolve.js +1 -2
- package/internal/strategy.js +1 -2
- package/package.json +2 -2
package/BunResolver.js
CHANGED
|
@@ -5,7 +5,7 @@ import { populateAuto, populateFresh, populateOffline } from "./internal/strateg
|
|
|
5
5
|
import { SemVer } from "@effected/semver";
|
|
6
6
|
import { Context, Schema } from "effect";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/BunResolver.ts
|
|
9
9
|
/**
|
|
10
10
|
* One published Bun release.
|
|
11
11
|
*
|
|
@@ -97,5 +97,4 @@ function mk(tag, strategy) {
|
|
|
97
97
|
}, strategy);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
//#endregion
|
|
101
100
|
export { BunRelease, BunResolver, BunResolverOptions };
|
package/DenoResolver.js
CHANGED
|
@@ -5,7 +5,7 @@ import { denoDefaults } from "./internal/defaults/deno.js";
|
|
|
5
5
|
import { SemVer } from "@effected/semver";
|
|
6
6
|
import { Context, Schema } from "effect";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/DenoResolver.ts
|
|
9
9
|
/**
|
|
10
10
|
* One published Deno release.
|
|
11
11
|
*
|
|
@@ -97,5 +97,4 @@ function mk(tag, strategy) {
|
|
|
97
97
|
}, strategy);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
//#endregion
|
|
101
100
|
export { DenoRelease, DenoResolver, DenoResolverOptions };
|
package/GitHub.js
CHANGED
|
@@ -2,7 +2,7 @@ import { paginate } from "./internal/http.js";
|
|
|
2
2
|
import { Config, Context, Effect, Layer, Option, Redacted, Schema } from "effect";
|
|
3
3
|
import { FetchHttpClient, HttpClient } from "effect/http";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/GitHub.ts
|
|
6
6
|
/**
|
|
7
7
|
* GitHub rejected the credentials.
|
|
8
8
|
*
|
|
@@ -204,5 +204,4 @@ var GitHubClient = class GitHubClient extends Context.Service()("@effected/runti
|
|
|
204
204
|
static layerDefault = GitHubClient.layer.pipe(Layer.provide(Layer.mergeAll(GitHubAuth.layer, FetchHttpClient.layer)));
|
|
205
205
|
};
|
|
206
206
|
|
|
207
|
-
//#endregion
|
|
208
207
|
export { AuthenticationError, GitHubAuth, GitHubClient, GitHubRelease, GitHubTag, NetworkError, RateLimitError, ResponseParseError, mapHttpFailure };
|
package/NodeRelease.js
CHANGED
|
@@ -2,7 +2,7 @@ import { isLtsPhase } from "./NodeSchedule.js";
|
|
|
2
2
|
import { SemVer } from "@effected/semver";
|
|
3
3
|
import { Option, Schema } from "effect";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/NodeRelease.ts
|
|
6
6
|
/**
|
|
7
7
|
* One published Node.js release: its version, bundled npm version and release date.
|
|
8
8
|
*
|
|
@@ -62,5 +62,4 @@ var NodeRelease = class extends Schema.Class("NodeRelease")({
|
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
//#endregion
|
|
66
65
|
export { NodeRelease };
|
package/NodeResolver.js
CHANGED
|
@@ -8,7 +8,7 @@ import { populateAuto, populateFresh, populateOffline } from "./internal/strateg
|
|
|
8
8
|
import { nodeDefaults, nodeScheduleDefaults } from "./internal/defaults/node.js";
|
|
9
9
|
import { Context, DateTime, Effect, Layer, Option, Ref, Schema } from "effect";
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
// src/NodeResolver.ts
|
|
12
12
|
/**
|
|
13
13
|
* How to resolve Node.js versions.
|
|
14
14
|
*
|
|
@@ -137,5 +137,4 @@ function build(tag, strategy) {
|
|
|
137
137
|
}));
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
//#endregion
|
|
141
140
|
export { NodeResolver, NodeResolverOptions };
|
package/NodeSchedule.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DateTime, Effect, Option, Order, Schema } from "effect";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/NodeSchedule.ts
|
|
4
4
|
/**
|
|
5
5
|
* Lifecycle phase of a Node.js major release line.
|
|
6
6
|
*
|
|
@@ -206,5 +206,4 @@ entries: Schema.Array(NodeScheduleEntry) }) {
|
|
|
206
206
|
*/
|
|
207
207
|
const isLtsPhase = (phase) => phase === "active-lts" || phase === "maintenance-lts";
|
|
208
208
|
|
|
209
|
-
//#endregion
|
|
210
209
|
export { InvalidScheduleDateError, NodePhase, NodeSchedule, NodeScheduleData, NodeScheduleEntry, isLtsPhase, nodeReleaseLine };
|
package/ResolvedVersions.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NodePhase } from "./NodeSchedule.js";
|
|
2
2
|
import { Schema } from "effect";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/ResolvedVersions.ts
|
|
5
5
|
/**
|
|
6
6
|
* The JavaScript runtime a resolver targets.
|
|
7
7
|
*
|
|
@@ -109,5 +109,4 @@ var FreshnessError = class extends Schema.TaggedError()("FreshnessError", {
|
|
|
109
109
|
cause: Schema.Defect()
|
|
110
110
|
}) {};
|
|
111
111
|
|
|
112
|
-
//#endregion
|
|
113
112
|
export { FreshnessError, Increments, NoMatchingVersionError, ResolvedVersions, Runtime, Source, UnresolvableDefaultError };
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { InvalidRangeError, SemVer } from "@effected/semver";
|
|
2
2
|
import { Context, DateTime, Effect, Layer, Option, Redacted, Schema } from "effect";
|
|
3
3
|
import { HttpClient } from "effect/http";
|
|
4
|
-
//#region src/GitHub.d.ts
|
|
5
4
|
declare const AuthenticationError_base: Schema.Class<AuthenticationError, Schema.TaggedStruct<"AuthenticationError", {
|
|
6
5
|
/** How the request was authenticated when it was rejected. */
|
|
7
6
|
readonly method: Schema.Literals<readonly ["token", "anonymous"]>;
|
|
@@ -178,8 +177,6 @@ export declare class GitHubClient extends GitHubClient_base {
|
|
|
178
177
|
*/
|
|
179
178
|
static readonly layerDefault: Layer.Layer<GitHubClient>;
|
|
180
179
|
}
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region src/ResolvedVersions.d.ts
|
|
183
180
|
/**
|
|
184
181
|
* The JavaScript runtime a resolver targets.
|
|
185
182
|
*
|
|
@@ -300,8 +297,6 @@ declare const FreshnessError_base: Schema.Class<FreshnessError, Schema.TaggedStr
|
|
|
300
297
|
* @public
|
|
301
298
|
*/
|
|
302
299
|
export declare class FreshnessError extends FreshnessError_base {}
|
|
303
|
-
//#endregion
|
|
304
|
-
//#region src/BunResolver.d.ts
|
|
305
300
|
declare const BunRelease_base: Schema.Class<BunRelease, Schema.Struct<{
|
|
306
301
|
/** The released version. */
|
|
307
302
|
readonly version: typeof SemVer;
|
|
@@ -383,8 +378,6 @@ export declare class BunResolver extends BunResolver_base {
|
|
|
383
378
|
*/
|
|
384
379
|
static readonly layerOffline: Layer.Layer<BunResolver>;
|
|
385
380
|
}
|
|
386
|
-
//#endregion
|
|
387
|
-
//#region src/DenoResolver.d.ts
|
|
388
381
|
declare const DenoRelease_base: Schema.Class<DenoRelease, Schema.Struct<{
|
|
389
382
|
/** The released version. */
|
|
390
383
|
readonly version: typeof SemVer;
|
|
@@ -466,8 +459,6 @@ export declare class DenoResolver extends DenoResolver_base {
|
|
|
466
459
|
*/
|
|
467
460
|
static readonly layerOffline: Layer.Layer<DenoResolver>;
|
|
468
461
|
}
|
|
469
|
-
//#endregion
|
|
470
|
-
//#region src/NodeSchedule.d.ts
|
|
471
462
|
/**
|
|
472
463
|
* Lifecycle phase of a Node.js major release line.
|
|
473
464
|
*
|
|
@@ -654,8 +645,6 @@ export declare class NodeSchedule extends NodeSchedule_base {
|
|
|
654
645
|
* @public
|
|
655
646
|
*/
|
|
656
647
|
export declare const isLtsPhase: (phase: NodePhase) => boolean;
|
|
657
|
-
//#endregion
|
|
658
|
-
//#region src/NodeRelease.d.ts
|
|
659
648
|
declare const NodeRelease_base: Schema.Class<NodeRelease, Schema.Struct<{
|
|
660
649
|
/** The released version. */
|
|
661
650
|
readonly version: typeof SemVer;
|
|
@@ -708,8 +697,6 @@ export declare class NodeRelease extends NodeRelease_base {
|
|
|
708
697
|
*/
|
|
709
698
|
isLts(schedule: NodeSchedule, now: DateTime.Utc): boolean;
|
|
710
699
|
}
|
|
711
|
-
//#endregion
|
|
712
|
-
//#region src/NodeResolver.d.ts
|
|
713
700
|
/**
|
|
714
701
|
* How to resolve Node.js versions.
|
|
715
702
|
*
|
|
@@ -787,6 +774,5 @@ export declare class NodeResolver extends NodeResolver_base {
|
|
|
787
774
|
*/
|
|
788
775
|
static readonly layerOffline: Layer.Layer<NodeResolver>;
|
|
789
776
|
}
|
|
790
|
-
//#endregion
|
|
791
777
|
export type { GitHubAuthShape, GitHubClientShape, GitHubError, ListOptions, NodeReleaseLine };
|
|
792
778
|
//# sourceMappingURL=index.d.ts.map
|
package/internal/defaults/bun.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
// src/internal/defaults/bun.ts
|
|
2
2
|
/**
|
|
3
3
|
* Bundled Bun releases, used by the offline strategy and by auto fallback.
|
|
4
4
|
*
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
const bunDefaults = [
|
|
8
|
+
{
|
|
9
|
+
version: "1.4.4",
|
|
10
|
+
date: "2026-10-22T10:11:32Z"
|
|
11
|
+
},
|
|
8
12
|
{
|
|
9
13
|
version: "1.4.3",
|
|
10
14
|
date: "2026-10-10T05:24:54Z"
|
|
@@ -867,5 +871,4 @@ const bunDefaults = [
|
|
|
867
871
|
}
|
|
868
872
|
];
|
|
869
873
|
|
|
870
|
-
//#endregion
|
|
871
874
|
export { bunDefaults };
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
// src/internal/defaults/deno.ts
|
|
2
2
|
/**
|
|
3
3
|
* Bundled Deno releases, used by the offline strategy and by auto fallback.
|
|
4
4
|
*
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
const denoDefaults = [
|
|
8
|
+
{
|
|
9
|
+
version: "2.9.8",
|
|
10
|
+
date: "2026-10-21T15:28:53Z"
|
|
11
|
+
},
|
|
8
12
|
{
|
|
9
13
|
version: "2.9.7",
|
|
10
14
|
date: "2026-09-17T09:04:55Z"
|
|
@@ -1559,5 +1563,4 @@ const denoDefaults = [
|
|
|
1559
1563
|
}
|
|
1560
1564
|
];
|
|
1561
1565
|
|
|
1562
|
-
//#endregion
|
|
1563
1566
|
export { denoDefaults };
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
// src/internal/defaults/node.ts
|
|
2
2
|
/**
|
|
3
3
|
* Bundled Node.js releases, used by the offline strategy and by auto fallback.
|
|
4
4
|
*
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
const nodeDefaults = [
|
|
8
|
+
{
|
|
9
|
+
version: "26.12.1",
|
|
10
|
+
npm: "11.20.0",
|
|
11
|
+
date: "2026-10-21"
|
|
12
|
+
},
|
|
8
13
|
{
|
|
9
14
|
version: "26.12.0",
|
|
10
15
|
npm: "11.20.0",
|
|
@@ -165,6 +170,11 @@ const nodeDefaults = [
|
|
|
165
170
|
npm: "11.6.2",
|
|
166
171
|
date: "2025-10-15"
|
|
167
172
|
},
|
|
173
|
+
{
|
|
174
|
+
version: "24.22.1",
|
|
175
|
+
npm: "11.19.1",
|
|
176
|
+
date: "2026-10-20"
|
|
177
|
+
},
|
|
168
178
|
{
|
|
169
179
|
version: "24.22.0",
|
|
170
180
|
npm: "11.19.1",
|
|
@@ -385,6 +395,11 @@ const nodeDefaults = [
|
|
|
385
395
|
npm: "10.9.0",
|
|
386
396
|
date: "2024-10-16"
|
|
387
397
|
},
|
|
398
|
+
{
|
|
399
|
+
version: "22.23.4",
|
|
400
|
+
npm: "10.9.9",
|
|
401
|
+
date: "2026-10-20"
|
|
402
|
+
},
|
|
388
403
|
{
|
|
389
404
|
version: "22.23.3",
|
|
390
405
|
npm: "10.9.9",
|
|
@@ -4525,11 +4540,10 @@ const nodeScheduleDefaults = {
|
|
|
4525
4540
|
},
|
|
4526
4541
|
v27: {
|
|
4527
4542
|
start: "2027-04-22",
|
|
4528
|
-
|
|
4543
|
+
lts: "2027-10-20",
|
|
4529
4544
|
end: "2030-04-30",
|
|
4530
4545
|
codename: ""
|
|
4531
4546
|
}
|
|
4532
4547
|
};
|
|
4533
4548
|
|
|
4534
|
-
//#endregion
|
|
4535
4549
|
export { nodeDefaults, nodeScheduleDefaults };
|
package/internal/feeds.js
CHANGED
|
@@ -4,7 +4,7 @@ import { NodeRelease } from "../NodeRelease.js";
|
|
|
4
4
|
import { SemVer } from "@effected/semver";
|
|
5
5
|
import { Effect, Option, Schema } from "effect";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/internal/feeds.ts
|
|
8
8
|
const NODE_DIST_URL = "https://nodejs.org/dist/index.json";
|
|
9
9
|
const NODE_SCHEDULE_URL = "https://raw.githubusercontent.com/nodejs/Release/refs/heads/main/schedule.json";
|
|
10
10
|
/** The subset of nodejs.org's dist index this package reads. */
|
|
@@ -87,5 +87,4 @@ const buildReleases = (raw, make) => Effect.gen(function* () {
|
|
|
87
87
|
return releases;
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
-
//#endregion
|
|
91
90
|
export { buildNodeReleases, buildReleases, fetchGitHubReleases, fetchNodeReleases, fetchNodeSchedule, stripTagPrefix, tryParseSemVer };
|
|
@@ -5,7 +5,7 @@ import { make } from "./releaseIndex.js";
|
|
|
5
5
|
import { resolveWith } from "./resolve.js";
|
|
6
6
|
import { Effect, Layer, Option } from "effect";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/internal/githubRuntime.ts
|
|
9
9
|
/**
|
|
10
10
|
* Build a **lazy** layer for a GitHub-hosted runtime around a strategy.
|
|
11
11
|
*
|
|
@@ -52,5 +52,4 @@ const build = (spec, strategy) => {
|
|
|
52
52
|
}));
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
//#endregion
|
|
56
55
|
export { build };
|
package/internal/http.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Duration, Effect, Schedule } from "effect";
|
|
|
2
2
|
import { HttpClient } from "effect/http";
|
|
3
3
|
import * as HttpClientResponse from "effect/http/HttpClientResponse";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/internal/http.ts
|
|
6
6
|
const parseHeaderInt = (raw) => {
|
|
7
7
|
if (raw === void 0) return void 0;
|
|
8
8
|
const n = Number.parseInt(raw, 10);
|
|
@@ -123,5 +123,4 @@ const paginate = (url, schema, headers, options = {}) => Effect.gen(function* ()
|
|
|
123
123
|
return all;
|
|
124
124
|
});
|
|
125
125
|
|
|
126
|
-
//#endregion
|
|
127
126
|
export { getJson, paginate, retryOnRateLimit };
|
package/internal/once.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Ref, Semaphore } from "effect";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/internal/once.ts
|
|
4
4
|
/**
|
|
5
5
|
* Capture `effect`'s requirements now; return a gated effect that runs it at
|
|
6
6
|
* most once successfully, retrying after failure or interruption.
|
|
@@ -19,5 +19,4 @@ const once = (effect) => Effect.gen(function* () {
|
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
//#endregion
|
|
23
22
|
export { once };
|
package/internal/releaseIndex.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Option, Ref } from "effect";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/internal/releaseIndex.ts
|
|
4
4
|
/** Newest first. */
|
|
5
5
|
const byVersionDescending = (releases) => [...releases].sort((a, b) => b.version.compare(a.version));
|
|
6
6
|
/**
|
|
@@ -45,5 +45,4 @@ const groupByIncrements = (releases, increments) => {
|
|
|
45
45
|
return [...seen.values()];
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
//#endregion
|
|
49
48
|
export { groupByIncrements, make };
|
package/internal/resolve.js
CHANGED
|
@@ -3,7 +3,7 @@ import { NoMatchingVersionError, ResolvedVersions, UnresolvableDefaultError } fr
|
|
|
3
3
|
import { Range } from "@effected/semver";
|
|
4
4
|
import { Effect, Option } from "effect";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/internal/resolve.ts
|
|
7
7
|
/**
|
|
8
8
|
* Filter, group, rank and package a resolution.
|
|
9
9
|
*
|
|
@@ -41,5 +41,4 @@ const resolveWith = (args) => Effect.gen(function* () {
|
|
|
41
41
|
});
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
-
//#endregion
|
|
45
44
|
export { resolveWith };
|
package/internal/strategy.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FreshnessError } from "../ResolvedVersions.js";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/internal/strategy.ts
|
|
5
5
|
/**
|
|
6
6
|
* Load the bundled snapshot. No IO, no failure, no requirements.
|
|
7
7
|
*/
|
|
@@ -32,5 +32,4 @@ const populateAuto = (index, runtime, live, offline) => live.pipe(Effect.flatMap
|
|
|
32
32
|
yield* index.load(releases, "cache");
|
|
33
33
|
})));
|
|
34
34
|
|
|
35
|
-
//#endregion
|
|
36
35
|
export { populateAuto, populateFresh, populateOffline };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effected/runtimes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Resolve semver-compatible Node.js, Bun and Deno runtime versions with offline fallback.",
|
|
6
6
|
"keywords": [
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"./package.json": "./package.json"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@effected/semver": "^0.
|
|
43
|
+
"@effected/semver": "^0.15.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"effect": "^4.0.0"
|