runtime-resolver 0.3.17 → 0.3.18
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/data/node-defaults.js +5 -0
- package/errors/RateLimitError.js +1 -3
- package/index.d.ts +53 -55
- package/index.js +3 -3
- package/package.json +1 -1
- package/schemas/bun-release.js +4 -4
- package/schemas/deno-release.js +4 -4
- package/schemas/github.js +2 -2
- package/schemas/node-release.js +2 -2
- package/schemas/node-schedule.js +1 -1
- package/services/BunResolver.js +1 -1
- package/services/DenoResolver.js +1 -1
- package/services/NodeResolver.js +2 -2
- package/services/NodeVersionFetcher.js +1 -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.18"
|
|
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/data/node-defaults.js
CHANGED
package/errors/RateLimitError.js
CHANGED
|
@@ -9,11 +9,9 @@ import { Data } from "effect";
|
|
|
9
9
|
* API indicates how long to wait before the quota resets, that duration (in
|
|
10
10
|
* seconds) is available via `retryAfter`.
|
|
11
11
|
*
|
|
12
|
-
* Use
|
|
12
|
+
* Use `retryOnRateLimit` to automatically retry an effect with
|
|
13
13
|
* exponential backoff whenever this error is encountered.
|
|
14
14
|
*
|
|
15
|
-
* @see {@link retryOnRateLimit}
|
|
16
|
-
*
|
|
17
15
|
* @example
|
|
18
16
|
* ```typescript
|
|
19
17
|
* import { Effect } from "effect";
|
package/index.d.ts
CHANGED
|
@@ -23,14 +23,14 @@ declare const Runtime: Schema.Literal<["node", "bun", "deno"]>;
|
|
|
23
23
|
*/
|
|
24
24
|
type Runtime = typeof Runtime.Type;
|
|
25
25
|
/**
|
|
26
|
-
* Indicates whether a
|
|
26
|
+
* Indicates whether a `ResolvedVersions` result was served from
|
|
27
27
|
* a live API call or a local cache.
|
|
28
28
|
*
|
|
29
29
|
* @public
|
|
30
30
|
*/
|
|
31
31
|
declare const Source: Schema.Literal<["api", "cache"]>;
|
|
32
32
|
/**
|
|
33
|
-
* Indicates whether a
|
|
33
|
+
* Indicates whether a `ResolvedVersions` result was served from
|
|
34
34
|
* a live API call or a local cache.
|
|
35
35
|
*
|
|
36
36
|
* @public
|
|
@@ -165,15 +165,15 @@ declare class VersionNotFoundError extends VersionNotFoundError_base<{
|
|
|
165
165
|
//#endregion
|
|
166
166
|
//#region src/services/BunResolver.d.ts
|
|
167
167
|
/**
|
|
168
|
-
* Options accepted by
|
|
168
|
+
* Options accepted by `BunResolver.resolve`.
|
|
169
169
|
*
|
|
170
170
|
* All fields are optional; omitting them causes the resolver to fall back to
|
|
171
171
|
* its built-in defaults (latest stable release, `"latest"` increment
|
|
172
172
|
* granularity).
|
|
173
173
|
*
|
|
174
174
|
* @see {@link BunResolver}
|
|
175
|
-
* @see {@link Increments}
|
|
176
|
-
* @see {@link ResolvedVersions}
|
|
175
|
+
* @see {@link (Increments:type)}
|
|
176
|
+
* @see {@link (ResolvedVersions:type)}
|
|
177
177
|
*
|
|
178
178
|
* @public
|
|
179
179
|
*/
|
|
@@ -195,7 +195,7 @@ interface BunResolverOptions {
|
|
|
195
195
|
readonly defaultVersion?: string;
|
|
196
196
|
/**
|
|
197
197
|
* Controls the granularity of the version list included in
|
|
198
|
-
* {@link ResolvedVersions
|
|
198
|
+
* the `versions` field of {@link (ResolvedVersions:type)}.
|
|
199
199
|
*
|
|
200
200
|
* - `"latest"` — only the single highest matching version.
|
|
201
201
|
* - `"minor"` — the latest patch for every minor line.
|
|
@@ -203,12 +203,12 @@ interface BunResolverOptions {
|
|
|
203
203
|
*
|
|
204
204
|
* Defaults to `"latest"` when omitted.
|
|
205
205
|
*
|
|
206
|
-
* @see {@link Increments}
|
|
206
|
+
* @see {@link (Increments:type)}
|
|
207
207
|
*/
|
|
208
208
|
readonly increments?: Increments;
|
|
209
209
|
}
|
|
210
210
|
/**
|
|
211
|
-
* Union of all typed errors that
|
|
211
|
+
* Union of all typed errors that `BunResolver.resolve` can fail with.
|
|
212
212
|
*
|
|
213
213
|
* @see {@link VersionNotFoundError}
|
|
214
214
|
*
|
|
@@ -218,7 +218,7 @@ type BunResolverError = VersionNotFoundError;
|
|
|
218
218
|
declare const BunResolver_base: Context.TagClass<BunResolver, "runtime-resolver/BunResolver", {
|
|
219
219
|
/**
|
|
220
220
|
* Resolves Bun versions according to `options` and returns a
|
|
221
|
-
* {@link ResolvedVersions} object containing the matching version list,
|
|
221
|
+
* {@link (ResolvedVersions:type)} object containing the matching version list,
|
|
222
222
|
* the latest version string, and the data source indicator.
|
|
223
223
|
*
|
|
224
224
|
* Fails with {@link BunResolverError} when no version can be resolved and
|
|
@@ -255,7 +255,7 @@ declare const BunResolver_base: Context.TagClass<BunResolver, "runtime-resolver/
|
|
|
255
255
|
* @see {@link BunResolverLive}
|
|
256
256
|
* @see {@link resolveBun}
|
|
257
257
|
* @see {@link BunResolverOptions}
|
|
258
|
-
* @see {@link ResolvedVersions}
|
|
258
|
+
* @see {@link (ResolvedVersions:type)}
|
|
259
259
|
*
|
|
260
260
|
* @public
|
|
261
261
|
*/
|
|
@@ -263,15 +263,15 @@ declare class BunResolver extends BunResolver_base {}
|
|
|
263
263
|
//#endregion
|
|
264
264
|
//#region src/services/DenoResolver.d.ts
|
|
265
265
|
/**
|
|
266
|
-
* Options accepted by
|
|
266
|
+
* Options accepted by `DenoResolver.resolve`.
|
|
267
267
|
*
|
|
268
268
|
* All fields are optional; omitting them causes the resolver to fall back to
|
|
269
269
|
* its built-in defaults (latest stable release, `"latest"` increment
|
|
270
270
|
* granularity).
|
|
271
271
|
*
|
|
272
272
|
* @see {@link DenoResolver}
|
|
273
|
-
* @see {@link Increments}
|
|
274
|
-
* @see {@link ResolvedVersions}
|
|
273
|
+
* @see {@link (Increments:type)}
|
|
274
|
+
* @see {@link (ResolvedVersions:type)}
|
|
275
275
|
*
|
|
276
276
|
* @public
|
|
277
277
|
*/
|
|
@@ -293,7 +293,7 @@ interface DenoResolverOptions {
|
|
|
293
293
|
readonly defaultVersion?: string;
|
|
294
294
|
/**
|
|
295
295
|
* Controls the granularity of the version list included in
|
|
296
|
-
* {@link ResolvedVersions
|
|
296
|
+
* the `versions` field of {@link (ResolvedVersions:type)}.
|
|
297
297
|
*
|
|
298
298
|
* - `"latest"` — only the single highest matching version.
|
|
299
299
|
* - `"minor"` — the latest patch for every minor line.
|
|
@@ -301,12 +301,12 @@ interface DenoResolverOptions {
|
|
|
301
301
|
*
|
|
302
302
|
* Defaults to `"latest"` when omitted.
|
|
303
303
|
*
|
|
304
|
-
* @see {@link Increments}
|
|
304
|
+
* @see {@link (Increments:type)}
|
|
305
305
|
*/
|
|
306
306
|
readonly increments?: Increments;
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
|
-
* Union of all typed errors that
|
|
309
|
+
* Union of all typed errors that `DenoResolver.resolve` can fail with.
|
|
310
310
|
*
|
|
311
311
|
* @see {@link VersionNotFoundError}
|
|
312
312
|
*
|
|
@@ -316,7 +316,7 @@ type DenoResolverError = VersionNotFoundError;
|
|
|
316
316
|
declare const DenoResolver_base: Context.TagClass<DenoResolver, "runtime-resolver/DenoResolver", {
|
|
317
317
|
/**
|
|
318
318
|
* Resolves Deno versions according to `options` and returns a
|
|
319
|
-
* {@link ResolvedVersions} object containing the matching version list,
|
|
319
|
+
* {@link (ResolvedVersions:type)} object containing the matching version list,
|
|
320
320
|
* the latest version string, and the data source indicator.
|
|
321
321
|
*
|
|
322
322
|
* Fails with {@link DenoResolverError} when no version can be resolved and
|
|
@@ -353,7 +353,7 @@ declare const DenoResolver_base: Context.TagClass<DenoResolver, "runtime-resolve
|
|
|
353
353
|
* @see {@link DenoResolverLive}
|
|
354
354
|
* @see {@link resolveDeno}
|
|
355
355
|
* @see {@link DenoResolverOptions}
|
|
356
|
-
* @see {@link ResolvedVersions}
|
|
356
|
+
* @see {@link (ResolvedVersions:type)}
|
|
357
357
|
*
|
|
358
358
|
* @public
|
|
359
359
|
*/
|
|
@@ -361,16 +361,16 @@ declare class DenoResolver extends DenoResolver_base {}
|
|
|
361
361
|
//#endregion
|
|
362
362
|
//#region src/services/NodeResolver.d.ts
|
|
363
363
|
/**
|
|
364
|
-
* Options accepted by
|
|
364
|
+
* Options accepted by `NodeResolver.resolve`.
|
|
365
365
|
*
|
|
366
366
|
* All fields are optional; omitting them causes the resolver to fall back to
|
|
367
367
|
* its built-in defaults (all lifecycle phases, latest stable release,
|
|
368
368
|
* `"latest"` increment granularity, current wall-clock date).
|
|
369
369
|
*
|
|
370
370
|
* @see {@link NodeResolver}
|
|
371
|
-
* @see {@link NodePhase}
|
|
372
|
-
* @see {@link Increments}
|
|
373
|
-
* @see {@link ResolvedVersions}
|
|
371
|
+
* @see {@link (NodePhase:type)}
|
|
372
|
+
* @see {@link (Increments:type)}
|
|
373
|
+
* @see {@link (ResolvedVersions:type)}
|
|
374
374
|
*
|
|
375
375
|
* @public
|
|
376
376
|
*/
|
|
@@ -397,12 +397,12 @@ interface NodeResolverOptions {
|
|
|
397
397
|
*
|
|
398
398
|
* When omitted all phases are eligible.
|
|
399
399
|
*
|
|
400
|
-
* @see {@link NodePhase}
|
|
400
|
+
* @see {@link (NodePhase:type)}
|
|
401
401
|
*/
|
|
402
402
|
readonly phases?: ReadonlyArray<NodePhase>;
|
|
403
403
|
/**
|
|
404
404
|
* Controls the granularity of the version list included in
|
|
405
|
-
* {@link ResolvedVersions
|
|
405
|
+
* the `versions` field of {@link (ResolvedVersions:type)}.
|
|
406
406
|
*
|
|
407
407
|
* - `"latest"` — only the single highest matching version.
|
|
408
408
|
* - `"minor"` — the latest patch for every minor line.
|
|
@@ -410,7 +410,7 @@ interface NodeResolverOptions {
|
|
|
410
410
|
*
|
|
411
411
|
* Defaults to `"latest"` when omitted.
|
|
412
412
|
*
|
|
413
|
-
* @see {@link Increments}
|
|
413
|
+
* @see {@link (Increments:type)}
|
|
414
414
|
*/
|
|
415
415
|
readonly increments?: Increments;
|
|
416
416
|
/**
|
|
@@ -423,7 +423,7 @@ interface NodeResolverOptions {
|
|
|
423
423
|
readonly date?: Date;
|
|
424
424
|
}
|
|
425
425
|
/**
|
|
426
|
-
* Union of all typed errors that
|
|
426
|
+
* Union of all typed errors that `NodeResolver.resolve` can fail with.
|
|
427
427
|
*
|
|
428
428
|
* @see {@link VersionNotFoundError}
|
|
429
429
|
*
|
|
@@ -433,7 +433,7 @@ type NodeResolverError = VersionNotFoundError;
|
|
|
433
433
|
declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolver/NodeResolver", {
|
|
434
434
|
/**
|
|
435
435
|
* Resolves Node.js versions according to `options` and returns a
|
|
436
|
-
* {@link ResolvedVersions} object containing the matching version list,
|
|
436
|
+
* {@link (ResolvedVersions:type)} object containing the matching version list,
|
|
437
437
|
* the latest version string, optional LTS version string, and the data
|
|
438
438
|
* source indicator.
|
|
439
439
|
*
|
|
@@ -451,7 +451,7 @@ declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolve
|
|
|
451
451
|
* release index.
|
|
452
452
|
*
|
|
453
453
|
* Unlike {@link BunResolver} and {@link DenoResolver}, this service is
|
|
454
|
-
* lifecycle-aware: results can be filtered by {@link NodePhase} and evaluated
|
|
454
|
+
* lifecycle-aware: results can be filtered by {@link (NodePhase:type)} and evaluated
|
|
455
455
|
* against a specific reference date.
|
|
456
456
|
*
|
|
457
457
|
* For a one-shot Promise-based API see {@link resolveNode}.
|
|
@@ -479,7 +479,7 @@ declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolve
|
|
|
479
479
|
* @see {@link NodeResolverLive}
|
|
480
480
|
* @see {@link resolveNode}
|
|
481
481
|
* @see {@link NodeResolverOptions}
|
|
482
|
-
* @see {@link ResolvedVersions}
|
|
482
|
+
* @see {@link (ResolvedVersions:type)}
|
|
483
483
|
*
|
|
484
484
|
* @public
|
|
485
485
|
*/
|
|
@@ -716,11 +716,9 @@ declare const RateLimitError_base: new <A extends Record<string, any> = {}>(args
|
|
|
716
716
|
* API indicates how long to wait before the quota resets, that duration (in
|
|
717
717
|
* seconds) is available via `retryAfter`.
|
|
718
718
|
*
|
|
719
|
-
* Use
|
|
719
|
+
* Use `retryOnRateLimit` to automatically retry an effect with
|
|
720
720
|
* exponential backoff whenever this error is encountered.
|
|
721
721
|
*
|
|
722
|
-
* @see {@link retryOnRateLimit}
|
|
723
|
-
*
|
|
724
722
|
* @example
|
|
725
723
|
* ```typescript
|
|
726
724
|
* import { Effect } from "effect";
|
|
@@ -801,8 +799,8 @@ declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: im
|
|
|
801
799
|
readonly _tag: "BunRelease";
|
|
802
800
|
};
|
|
803
801
|
/**
|
|
804
|
-
* A Bun release entry with a parsed
|
|
805
|
-
* Effect
|
|
802
|
+
* A Bun release entry with a parsed `SemVer` version and an
|
|
803
|
+
* Effect `DateTime.DateTime` publication date.
|
|
806
804
|
*
|
|
807
805
|
* `BunRelease` extends `Data.TaggedClass` so instances support structural
|
|
808
806
|
* equality comparison and can be used safely inside Effect data structures.
|
|
@@ -812,7 +810,7 @@ declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: im
|
|
|
812
810
|
*
|
|
813
811
|
* @see {@link BunReleaseCache}
|
|
814
812
|
* @see {@link BunResolver}
|
|
815
|
-
* @see
|
|
813
|
+
* @see `RuntimeReleaseInput`
|
|
816
814
|
*
|
|
817
815
|
* @example
|
|
818
816
|
* ```typescript
|
|
@@ -844,7 +842,7 @@ declare class BunRelease extends BunRelease_base<{
|
|
|
844
842
|
* publication date with `DateTime.unsafeMake`. Falls back to the current
|
|
845
843
|
* timestamp when `input.date` is an empty string (rare in production data).
|
|
846
844
|
*
|
|
847
|
-
* @param input - A
|
|
845
|
+
* @param input - A `RuntimeReleaseInput` object with raw string fields.
|
|
848
846
|
* @returns An `Effect` that succeeds with a `BunRelease` or fails with an
|
|
849
847
|
* `InvalidVersionError` when the version string cannot be parsed.
|
|
850
848
|
*/
|
|
@@ -897,8 +895,8 @@ interface RuntimeCache<R extends RuntimeRelease> {
|
|
|
897
895
|
* Finds the single best-matching release for the given semver range string,
|
|
898
896
|
* preferring the highest satisfying version.
|
|
899
897
|
*
|
|
900
|
-
* Fails with
|
|
901
|
-
* range expression, or with
|
|
898
|
+
* Fails with `InvalidRangeError` when `range` is not a valid semver
|
|
899
|
+
* range expression, or with `UnsatisfiedRangeError` when no cached
|
|
902
900
|
* release satisfies the range.
|
|
903
901
|
*
|
|
904
902
|
* @param range - A semver range string (e.g. `">=1.0.0 <2.0.0"`).
|
|
@@ -913,7 +911,7 @@ interface RuntimeCache<R extends RuntimeRelease> {
|
|
|
913
911
|
* Returns all cached releases whose version satisfies the given semver
|
|
914
912
|
* range string.
|
|
915
913
|
*
|
|
916
|
-
* Fails with
|
|
914
|
+
* Fails with `InvalidRangeError` when `range` is not a valid semver
|
|
917
915
|
* range expression.
|
|
918
916
|
*
|
|
919
917
|
* @param range - A semver range string (e.g. `"^20.0.0"`).
|
|
@@ -923,7 +921,7 @@ interface RuntimeCache<R extends RuntimeRelease> {
|
|
|
923
921
|
* Returns the release with the highest version among all entries in the
|
|
924
922
|
* cache.
|
|
925
923
|
*
|
|
926
|
-
* Fails with
|
|
924
|
+
* Fails with `EmptyCacheError` when the cache contains no releases.
|
|
927
925
|
*/
|
|
928
926
|
readonly latest: () => Effect.Effect<R, EmptyCacheError>;
|
|
929
927
|
/**
|
|
@@ -1054,8 +1052,8 @@ declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: i
|
|
|
1054
1052
|
readonly _tag: "DenoRelease";
|
|
1055
1053
|
};
|
|
1056
1054
|
/**
|
|
1057
|
-
* A Deno release entry with a parsed
|
|
1058
|
-
* Effect
|
|
1055
|
+
* A Deno release entry with a parsed `SemVer` version and an
|
|
1056
|
+
* Effect `DateTime.DateTime` publication date.
|
|
1059
1057
|
*
|
|
1060
1058
|
* `DenoRelease` extends `Data.TaggedClass` so instances support structural
|
|
1061
1059
|
* equality comparison and can be used safely inside Effect data structures.
|
|
@@ -1065,7 +1063,7 @@ declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: i
|
|
|
1065
1063
|
*
|
|
1066
1064
|
* @see {@link DenoReleaseCache}
|
|
1067
1065
|
* @see {@link DenoResolver}
|
|
1068
|
-
* @see
|
|
1066
|
+
* @see `RuntimeReleaseInput`
|
|
1069
1067
|
*
|
|
1070
1068
|
* @example
|
|
1071
1069
|
* ```typescript
|
|
@@ -1097,7 +1095,7 @@ declare class DenoRelease extends DenoRelease_base<{
|
|
|
1097
1095
|
* publication date with `DateTime.unsafeMake`. Falls back to the current
|
|
1098
1096
|
* timestamp when `input.date` is an empty string (rare in production data).
|
|
1099
1097
|
*
|
|
1100
|
-
* @param input - A
|
|
1098
|
+
* @param input - A `RuntimeReleaseInput` object with raw string fields.
|
|
1101
1099
|
* @returns An `Effect` that succeeds with a `DenoRelease` or fails with an
|
|
1102
1100
|
* `InvalidVersionError` when the version string cannot be parsed.
|
|
1103
1101
|
*/
|
|
@@ -1314,7 +1312,7 @@ declare class NodeSchedule extends NodeSchedule_base<{
|
|
|
1314
1312
|
*/
|
|
1315
1313
|
static fromData(data: NodeScheduleData): NodeSchedule;
|
|
1316
1314
|
/**
|
|
1317
|
-
* Determine the current {@link NodePhase} for a given major version number
|
|
1315
|
+
* Determine the current {@link (NodePhase:type)} for a given major version number
|
|
1318
1316
|
* at the specified point in time.
|
|
1319
1317
|
*
|
|
1320
1318
|
* Returns `null` when the major is not present in the schedule or when
|
|
@@ -1423,7 +1421,7 @@ declare class NodeRelease {
|
|
|
1423
1421
|
* when `now` is omitted.
|
|
1424
1422
|
*
|
|
1425
1423
|
* @param now - Optional reference time; defaults to `new Date()`.
|
|
1426
|
-
* @returns An `Effect` that resolves to a
|
|
1424
|
+
* @returns An `Effect` that resolves to a `NodePhase` string, or
|
|
1427
1425
|
* `null` when the major version is not present in the schedule or has
|
|
1428
1426
|
* not yet been released.
|
|
1429
1427
|
*/
|
|
@@ -1443,7 +1441,7 @@ declare class NodeRelease {
|
|
|
1443
1441
|
* Parses `input.version` and `input.npm` via `SemVer.parse` and
|
|
1444
1442
|
* constructs the publication date with `DateTime.unsafeMake`.
|
|
1445
1443
|
*
|
|
1446
|
-
* @param input - A {@link NodeReleaseInput} object with raw string fields.
|
|
1444
|
+
* @param input - A {@link (NodeReleaseInput:type)} object with raw string fields.
|
|
1447
1445
|
* @param scheduleRef - A shared `Ref<NodeSchedule>` injected by the cache layer.
|
|
1448
1446
|
* @returns An `Effect` that succeeds with a `NodeRelease` or fails with an
|
|
1449
1447
|
* `InvalidVersionError` when either version string cannot be parsed.
|
|
@@ -1465,7 +1463,7 @@ declare const NodeReleaseCache_base: Context.TagClass<NodeReleaseCache, "runtime
|
|
|
1465
1463
|
*/
|
|
1466
1464
|
readonly updateSchedule: (data: NodeScheduleData) => Effect.Effect<void>;
|
|
1467
1465
|
/**
|
|
1468
|
-
* Populates the cache from raw {@link NodeReleaseInput} records (as
|
|
1466
|
+
* Populates the cache from raw {@link (NodeReleaseInput:type)} records (as
|
|
1469
1467
|
* returned by the Node.js release index JSON) rather than from already-
|
|
1470
1468
|
* decoded {@link NodeRelease} objects.
|
|
1471
1469
|
*
|
|
@@ -1474,7 +1472,7 @@ declare const NodeReleaseCache_base: Context.TagClass<NodeReleaseCache, "runtime
|
|
|
1474
1472
|
*
|
|
1475
1473
|
* @param inputs - An array of un-decoded release index entries.
|
|
1476
1474
|
*
|
|
1477
|
-
* @see {@link NodeReleaseInput}
|
|
1475
|
+
* @see {@link (NodeReleaseInput:type)}
|
|
1478
1476
|
*/
|
|
1479
1477
|
readonly loadFromInputs: (inputs: ReadonlyArray<NodeReleaseInput>) => Effect.Effect<void>;
|
|
1480
1478
|
/**
|
|
@@ -1602,7 +1600,7 @@ declare const NodeVersionFetcher_base: Context.TagClass<NodeVersionFetcher, "run
|
|
|
1602
1600
|
* Node.js distribution index.
|
|
1603
1601
|
*
|
|
1604
1602
|
* Retrieves both the parsed semver version list and the raw
|
|
1605
|
-
* {@link NodeReleaseInput} records needed to populate a
|
|
1603
|
+
* {@link (NodeReleaseInput:type)} records needed to populate a
|
|
1606
1604
|
* {@link NodeReleaseCache}. The live implementation fetches from
|
|
1607
1605
|
* `https://nodejs.org/dist/index.json` via a plain HTTP request — no GitHub
|
|
1608
1606
|
* credentials are required.
|
|
@@ -1721,7 +1719,7 @@ declare const BunResolverLive: Layer.Layer<BunResolver, never, BunReleaseCache>;
|
|
|
1721
1719
|
* Consumed by {@link GitHubClient} when fetching Bun and Deno release tags.
|
|
1722
1720
|
*
|
|
1723
1721
|
* @see {@link GitHubClient}
|
|
1724
|
-
* @see
|
|
1722
|
+
* @see `GitHubTagList`
|
|
1725
1723
|
*
|
|
1726
1724
|
* @public
|
|
1727
1725
|
*/
|
|
@@ -1751,7 +1749,7 @@ type GitHubTag = typeof GitHubTag.Type;
|
|
|
1751
1749
|
* publication timestamps.
|
|
1752
1750
|
*
|
|
1753
1751
|
* @see {@link GitHubClient}
|
|
1754
|
-
* @see
|
|
1752
|
+
* @see `GitHubReleaseList`
|
|
1755
1753
|
*
|
|
1756
1754
|
* @public
|
|
1757
1755
|
*/
|
|
@@ -2493,7 +2491,7 @@ declare const createRuntimeCache: <R extends RuntimeRelease>() => Effect.Effect<
|
|
|
2493
2491
|
* cache when the network is unavailable.
|
|
2494
2492
|
*
|
|
2495
2493
|
* @param options - Filtering and ranking options. See {@link NodeResolverOptions}.
|
|
2496
|
-
* @returns A promise that resolves to a
|
|
2494
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
2497
2495
|
* containing the matched version list, the highest matching version as
|
|
2498
2496
|
* `latest`, and optional `lts` / `default` strings.
|
|
2499
2497
|
*
|
|
@@ -2525,7 +2523,7 @@ declare const resolveNode: (options?: NodeResolverOptions) => Promise<ResolvedVe
|
|
|
2525
2523
|
* Falls back to a build-time offline cache when the network is unavailable.
|
|
2526
2524
|
*
|
|
2527
2525
|
* @param options - Filtering and ranking options. See {@link BunResolverOptions}.
|
|
2528
|
-
* @returns A promise that resolves to a
|
|
2526
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
2529
2527
|
* containing the matched version list and the highest matching version as
|
|
2530
2528
|
* `latest`.
|
|
2531
2529
|
*
|
|
@@ -2553,7 +2551,7 @@ declare const resolveBun: (options?: BunResolverOptions) => Promise<ResolvedVers
|
|
|
2553
2551
|
* Falls back to a build-time offline cache when the network is unavailable.
|
|
2554
2552
|
*
|
|
2555
2553
|
* @param options - Filtering and ranking options. See {@link DenoResolverOptions}.
|
|
2556
|
-
* @returns A promise that resolves to a
|
|
2554
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
2557
2555
|
* containing the matched version list and the highest matching version as
|
|
2558
2556
|
* `latest`.
|
|
2559
2557
|
*
|
package/index.js
CHANGED
|
@@ -76,7 +76,7 @@ const DenoLayer = DenoResolverLive.pipe(Layer.provide(DenoCacheLayer));
|
|
|
76
76
|
* cache when the network is unavailable.
|
|
77
77
|
*
|
|
78
78
|
* @param options - Filtering and ranking options. See {@link NodeResolverOptions}.
|
|
79
|
-
* @returns A promise that resolves to a
|
|
79
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
80
80
|
* containing the matched version list, the highest matching version as
|
|
81
81
|
* `latest`, and optional `lts` / `default` strings.
|
|
82
82
|
*
|
|
@@ -110,7 +110,7 @@ const resolveNode = (options) => Effect.runPromise(Effect.gen(function* () {
|
|
|
110
110
|
* Falls back to a build-time offline cache when the network is unavailable.
|
|
111
111
|
*
|
|
112
112
|
* @param options - Filtering and ranking options. See {@link BunResolverOptions}.
|
|
113
|
-
* @returns A promise that resolves to a
|
|
113
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
114
114
|
* containing the matched version list and the highest matching version as
|
|
115
115
|
* `latest`.
|
|
116
116
|
*
|
|
@@ -140,7 +140,7 @@ const resolveBun = (options) => Effect.runPromise(Effect.gen(function* () {
|
|
|
140
140
|
* Falls back to a build-time offline cache when the network is unavailable.
|
|
141
141
|
*
|
|
142
142
|
* @param options - Filtering and ranking options. See {@link DenoResolverOptions}.
|
|
143
|
-
* @returns A promise that resolves to a
|
|
143
|
+
* @returns A promise that resolves to a `ResolvedVersions` object
|
|
144
144
|
* containing the matched version list and the highest matching version as
|
|
145
145
|
* `latest`.
|
|
146
146
|
*
|
package/package.json
CHANGED
package/schemas/bun-release.js
CHANGED
|
@@ -3,8 +3,8 @@ import { SemVer } from "semver-effect";
|
|
|
3
3
|
|
|
4
4
|
//#region src/schemas/bun-release.ts
|
|
5
5
|
/**
|
|
6
|
-
* A Bun release entry with a parsed
|
|
7
|
-
* Effect
|
|
6
|
+
* A Bun release entry with a parsed `SemVer` version and an
|
|
7
|
+
* Effect `DateTime.DateTime` publication date.
|
|
8
8
|
*
|
|
9
9
|
* `BunRelease` extends `Data.TaggedClass` so instances support structural
|
|
10
10
|
* equality comparison and can be used safely inside Effect data structures.
|
|
@@ -14,7 +14,7 @@ import { SemVer } from "semver-effect";
|
|
|
14
14
|
*
|
|
15
15
|
* @see {@link BunReleaseCache}
|
|
16
16
|
* @see {@link BunResolver}
|
|
17
|
-
* @see
|
|
17
|
+
* @see `RuntimeReleaseInput`
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* ```typescript
|
|
@@ -43,7 +43,7 @@ var BunRelease = class BunRelease extends Data.TaggedClass("BunRelease") {
|
|
|
43
43
|
* publication date with `DateTime.unsafeMake`. Falls back to the current
|
|
44
44
|
* timestamp when `input.date` is an empty string (rare in production data).
|
|
45
45
|
*
|
|
46
|
-
* @param input - A
|
|
46
|
+
* @param input - A `RuntimeReleaseInput` object with raw string fields.
|
|
47
47
|
* @returns An `Effect` that succeeds with a `BunRelease` or fails with an
|
|
48
48
|
* `InvalidVersionError` when the version string cannot be parsed.
|
|
49
49
|
*/
|
package/schemas/deno-release.js
CHANGED
|
@@ -3,8 +3,8 @@ import { SemVer } from "semver-effect";
|
|
|
3
3
|
|
|
4
4
|
//#region src/schemas/deno-release.ts
|
|
5
5
|
/**
|
|
6
|
-
* A Deno release entry with a parsed
|
|
7
|
-
* Effect
|
|
6
|
+
* A Deno release entry with a parsed `SemVer` version and an
|
|
7
|
+
* Effect `DateTime.DateTime` publication date.
|
|
8
8
|
*
|
|
9
9
|
* `DenoRelease` extends `Data.TaggedClass` so instances support structural
|
|
10
10
|
* equality comparison and can be used safely inside Effect data structures.
|
|
@@ -14,7 +14,7 @@ import { SemVer } from "semver-effect";
|
|
|
14
14
|
*
|
|
15
15
|
* @see {@link DenoReleaseCache}
|
|
16
16
|
* @see {@link DenoResolver}
|
|
17
|
-
* @see
|
|
17
|
+
* @see `RuntimeReleaseInput`
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* ```typescript
|
|
@@ -43,7 +43,7 @@ var DenoRelease = class DenoRelease extends Data.TaggedClass("DenoRelease") {
|
|
|
43
43
|
* publication date with `DateTime.unsafeMake`. Falls back to the current
|
|
44
44
|
* timestamp when `input.date` is an empty string (rare in production data).
|
|
45
45
|
*
|
|
46
|
-
* @param input - A
|
|
46
|
+
* @param input - A `RuntimeReleaseInput` object with raw string fields.
|
|
47
47
|
* @returns An `Effect` that succeeds with a `DenoRelease` or fails with an
|
|
48
48
|
* `InvalidVersionError` when the version string cannot be parsed.
|
|
49
49
|
*/
|
package/schemas/github.js
CHANGED
|
@@ -21,7 +21,7 @@ const GitHubTagCommit = Schema.Struct({
|
|
|
21
21
|
* Consumed by {@link GitHubClient} when fetching Bun and Deno release tags.
|
|
22
22
|
*
|
|
23
23
|
* @see {@link GitHubClient}
|
|
24
|
-
* @see
|
|
24
|
+
* @see `GitHubTagList`
|
|
25
25
|
*
|
|
26
26
|
* @public
|
|
27
27
|
*/
|
|
@@ -49,7 +49,7 @@ const GitHubTagList = Schema.Array(GitHubTag);
|
|
|
49
49
|
* publication timestamps.
|
|
50
50
|
*
|
|
51
51
|
* @see {@link GitHubClient}
|
|
52
|
-
* @see
|
|
52
|
+
* @see `GitHubReleaseList`
|
|
53
53
|
*
|
|
54
54
|
* @public
|
|
55
55
|
*/
|
package/schemas/node-release.js
CHANGED
|
@@ -87,7 +87,7 @@ var NodeRelease = class NodeRelease {
|
|
|
87
87
|
* when `now` is omitted.
|
|
88
88
|
*
|
|
89
89
|
* @param now - Optional reference time; defaults to `new Date()`.
|
|
90
|
-
* @returns An `Effect` that resolves to a
|
|
90
|
+
* @returns An `Effect` that resolves to a `NodePhase` string, or
|
|
91
91
|
* `null` when the major version is not present in the schedule or has
|
|
92
92
|
* not yet been released.
|
|
93
93
|
*/
|
|
@@ -114,7 +114,7 @@ var NodeRelease = class NodeRelease {
|
|
|
114
114
|
* Parses `input.version` and `input.npm` via `SemVer.parse` and
|
|
115
115
|
* constructs the publication date with `DateTime.unsafeMake`.
|
|
116
116
|
*
|
|
117
|
-
* @param input - A {@link NodeReleaseInput} object with raw string fields.
|
|
117
|
+
* @param input - A {@link (NodeReleaseInput:type)} object with raw string fields.
|
|
118
118
|
* @param scheduleRef - A shared `Ref<NodeSchedule>` injected by the cache layer.
|
|
119
119
|
* @returns An `Effect` that succeeds with a `NodeRelease` or fails with an
|
|
120
120
|
* `InvalidVersionError` when either version string cannot be parsed.
|
package/schemas/node-schedule.js
CHANGED
|
@@ -73,7 +73,7 @@ var NodeSchedule = class NodeSchedule extends Data.TaggedClass("NodeSchedule") {
|
|
|
73
73
|
return new NodeSchedule({ entries });
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* Determine the current {@link NodePhase} for a given major version number
|
|
76
|
+
* Determine the current {@link (NodePhase:type)} for a given major version number
|
|
77
77
|
* at the specified point in time.
|
|
78
78
|
*
|
|
79
79
|
* Returns `null` when the major is not present in the schedule or when
|
package/services/BunResolver.js
CHANGED
package/services/DenoResolver.js
CHANGED
package/services/NodeResolver.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Context } from "effect";
|
|
|
6
6
|
* release index.
|
|
7
7
|
*
|
|
8
8
|
* Unlike {@link BunResolver} and {@link DenoResolver}, this service is
|
|
9
|
-
* lifecycle-aware: results can be filtered by {@link NodePhase} and evaluated
|
|
9
|
+
* lifecycle-aware: results can be filtered by {@link (NodePhase:type)} and evaluated
|
|
10
10
|
* against a specific reference date.
|
|
11
11
|
*
|
|
12
12
|
* For a one-shot Promise-based API see {@link resolveNode}.
|
|
@@ -34,7 +34,7 @@ import { Context } from "effect";
|
|
|
34
34
|
* @see {@link NodeResolverLive}
|
|
35
35
|
* @see {@link resolveNode}
|
|
36
36
|
* @see {@link NodeResolverOptions}
|
|
37
|
-
* @see {@link ResolvedVersions}
|
|
37
|
+
* @see {@link (ResolvedVersions:type)}
|
|
38
38
|
*
|
|
39
39
|
* @public
|
|
40
40
|
*/
|
|
@@ -6,7 +6,7 @@ import { Context } from "effect";
|
|
|
6
6
|
* Node.js distribution index.
|
|
7
7
|
*
|
|
8
8
|
* Retrieves both the parsed semver version list and the raw
|
|
9
|
-
* {@link NodeReleaseInput} records needed to populate a
|
|
9
|
+
* {@link (NodeReleaseInput:type)} records needed to populate a
|
|
10
10
|
* {@link NodeReleaseCache}. The live implementation fetches from
|
|
11
11
|
* `https://nodejs.org/dist/index.json` via a plain HTTP request — no GitHub
|
|
12
12
|
* credentials are required.
|