runtime-resolver 0.3.11 → 0.3.13
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.d.ts +1 -0
- package/bin/runtime-resolver.js +30 -261
- package/bin/runtime-resolver.js.map +1 -0
- package/cli/commands/resolve.js +240 -0
- package/cli/commands/resolve.js.map +1 -0
- package/cli/schemas/json-schema.js +13 -0
- package/cli/schemas/json-schema.js.map +1 -0
- package/cli/schemas/response.js +87 -0
- package/cli/schemas/response.js.map +1 -0
- package/data/bun-defaults.js +851 -0
- package/data/bun-defaults.js.map +1 -0
- package/data/deno-defaults.js +1523 -0
- package/data/deno-defaults.js.map +1 -0
- package/data/node-defaults.js +4401 -0
- package/data/node-defaults.js.map +1 -0
- package/errors/AuthenticationError.js +36 -0
- package/errors/AuthenticationError.js.map +1 -0
- package/errors/CacheError.js +33 -0
- package/errors/CacheError.js.map +1 -0
- package/errors/FreshnessError.js +39 -0
- package/errors/FreshnessError.js.map +1 -0
- package/errors/InvalidInputError.js +34 -0
- package/errors/InvalidInputError.js.map +1 -0
- package/errors/NetworkError.js +35 -0
- package/errors/NetworkError.js.map +1 -0
- package/errors/ParseError.js +34 -0
- package/errors/ParseError.js.map +1 -0
- package/errors/RateLimitError.js +40 -0
- package/errors/RateLimitError.js.map +1 -0
- package/errors/VersionNotFoundError.js +38 -0
- package/errors/VersionNotFoundError.js.map +1 -0
- package/index.d.ts +2577 -2608
- package/index.d.ts.map +1 -0
- package/index.js +159 -132
- package/index.js.map +1 -0
- package/layers/AutoBunCacheLive.js +48 -0
- package/layers/AutoBunCacheLive.js.map +1 -0
- package/layers/AutoDenoCacheLive.js +48 -0
- package/layers/AutoDenoCacheLive.js.map +1 -0
- package/layers/AutoNodeCacheLive.js +59 -0
- package/layers/AutoNodeCacheLive.js.map +1 -0
- package/layers/BunReleaseCacheLive.js +26 -0
- package/layers/BunReleaseCacheLive.js.map +1 -0
- package/layers/BunResolverLive.js +86 -0
- package/layers/BunResolverLive.js.map +1 -0
- package/layers/BunVersionFetcherLive.js +56 -0
- package/layers/BunVersionFetcherLive.js.map +1 -0
- package/layers/DenoReleaseCacheLive.js +26 -0
- package/layers/DenoReleaseCacheLive.js.map +1 -0
- package/layers/DenoResolverLive.js +85 -0
- package/layers/DenoResolverLive.js.map +1 -0
- package/layers/DenoVersionFetcherLive.js +52 -0
- package/layers/DenoVersionFetcherLive.js.map +1 -0
- package/layers/FreshBunCacheLive.js +61 -0
- package/layers/FreshBunCacheLive.js.map +1 -0
- package/layers/FreshDenoCacheLive.js +61 -0
- package/layers/FreshDenoCacheLive.js.map +1 -0
- package/layers/FreshNodeCacheLive.js +56 -0
- package/layers/FreshNodeCacheLive.js.map +1 -0
- package/layers/GitHubAppAuth.js +59 -0
- package/layers/GitHubAppAuth.js.map +1 -0
- package/layers/GitHubAutoAuth.js +71 -0
- package/layers/GitHubAutoAuth.js.map +1 -0
- package/layers/GitHubClientLive.js +131 -0
- package/layers/GitHubClientLive.js.map +1 -0
- package/layers/GitHubTokenAuth.js +51 -0
- package/layers/GitHubTokenAuth.js.map +1 -0
- package/layers/NodeReleaseCacheLive.js +78 -0
- package/layers/NodeReleaseCacheLive.js.map +1 -0
- package/layers/NodeResolverLive.js +108 -0
- package/layers/NodeResolverLive.js.map +1 -0
- package/layers/NodeScheduleFetcherLive.js +38 -0
- package/layers/NodeScheduleFetcherLive.js.map +1 -0
- package/layers/NodeVersionFetcherLive.js +56 -0
- package/layers/NodeVersionFetcherLive.js.map +1 -0
- package/layers/OfflineBunCacheLive.js +41 -0
- package/layers/OfflineBunCacheLive.js.map +1 -0
- package/layers/OfflineDenoCacheLive.js +41 -0
- package/layers/OfflineDenoCacheLive.js.map +1 -0
- package/layers/OfflineNodeCacheLive.js +40 -0
- package/layers/OfflineNodeCacheLive.js.map +1 -0
- package/layers/RuntimeCacheLive.js +79 -0
- package/layers/RuntimeCacheLive.js.map +1 -0
- package/lib/retry.js +28 -0
- package/lib/retry.js.map +1 -0
- package/lib/semver.js +22 -0
- package/lib/semver.js.map +1 -0
- package/package.json +57 -68
- package/schemas/bun-release.js +62 -0
- package/schemas/bun-release.js.map +1 -0
- package/schemas/deno-release.js +62 -0
- package/schemas/deno-release.js.map +1 -0
- package/schemas/github.js +75 -0
- package/schemas/github.js.map +1 -0
- package/schemas/node-release.js +131 -0
- package/schemas/node-release.js.map +1 -0
- package/schemas/node-schedule.js +111 -0
- package/schemas/node-schedule.js.map +1 -0
- package/schemas/node.js +69 -0
- package/schemas/node.js.map +1 -0
- package/services/BunReleaseCache.js +34 -0
- package/services/BunReleaseCache.js.map +1 -0
- package/services/BunResolver.js +37 -0
- package/services/BunResolver.js.map +1 -0
- package/services/BunVersionFetcher.js +42 -0
- package/services/BunVersionFetcher.js.map +1 -0
- package/services/DenoReleaseCache.js +34 -0
- package/services/DenoReleaseCache.js.map +1 -0
- package/services/DenoResolver.js +37 -0
- package/services/DenoResolver.js.map +1 -0
- package/services/DenoVersionFetcher.js +42 -0
- package/services/DenoVersionFetcher.js.map +1 -0
- package/services/GitHubClient.js +41 -0
- package/services/GitHubClient.js.map +1 -0
- package/services/NodeReleaseCache.js +42 -0
- package/services/NodeReleaseCache.js.map +1 -0
- package/services/NodeResolver.js +45 -0
- package/services/NodeResolver.js.map +1 -0
- package/services/NodeScheduleFetcher.js +39 -0
- package/services/NodeScheduleFetcher.js.map +1 -0
- package/services/NodeVersionFetcher.js +40 -0
- package/services/NodeVersionFetcher.js.map +1 -0
- package/services/OctokitInstance.js +45 -0
- package/services/OctokitInstance.js.map +1 -0
- package/tsdoc-metadata.json +11 -11
- package/612.js +0 -23
- package/711.js +0 -7543
- package/json-schema.js +0 -95
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
|
|
3
|
+
//#region src/cli/schemas/response.ts
|
|
4
|
+
/**
|
|
5
|
+
* Structured error in CLI output. Uses _tag to identify the error type.
|
|
6
|
+
* Additional fields vary by error type and are passed through as-is.
|
|
7
|
+
*/
|
|
8
|
+
const CliErrorDetail = Schema.Struct({
|
|
9
|
+
_tag: Schema.String.annotations({ description: "Error type identifier (e.g. RateLimitError, SemverError)" }),
|
|
10
|
+
message: Schema.String.annotations({ description: "Human-readable error message" })
|
|
11
|
+
}).pipe(Schema.extend(Schema.Record({
|
|
12
|
+
key: Schema.String,
|
|
13
|
+
value: Schema.Unknown.annotations({
|
|
14
|
+
description: "Additional error-specific metadata",
|
|
15
|
+
title: "ErrorMetadata"
|
|
16
|
+
})
|
|
17
|
+
})), Schema.annotations({
|
|
18
|
+
identifier: "CliErrorDetail",
|
|
19
|
+
description: "Structured error with type tag, message, and optional metadata"
|
|
20
|
+
}));
|
|
21
|
+
/**
|
|
22
|
+
* Successful resolution for a single runtime.
|
|
23
|
+
*/
|
|
24
|
+
const CliRuntimeSuccess = Schema.Struct({
|
|
25
|
+
ok: Schema.Literal(true).annotations({ description: "Indicates successful resolution" }),
|
|
26
|
+
source: Schema.String.annotations({ description: "Data source: 'api' or 'cache'" }),
|
|
27
|
+
versions: Schema.Array(Schema.String.annotations({ description: "Semver version string" })).annotations({ description: "All resolved versions matching the semver range" }),
|
|
28
|
+
latest: Schema.String.annotations({ description: "Most recent version matching the range" }),
|
|
29
|
+
lts: Schema.optional(Schema.String.annotations({ description: "Current LTS version (Node.js only)" })),
|
|
30
|
+
default: Schema.optional(Schema.String.annotations({ description: "Default recommended version" }))
|
|
31
|
+
}).annotations({
|
|
32
|
+
identifier: "CliRuntimeSuccess",
|
|
33
|
+
description: "Successful version resolution for a single runtime"
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Failed resolution for a single runtime.
|
|
37
|
+
*/
|
|
38
|
+
const CliRuntimeError = Schema.Struct({
|
|
39
|
+
ok: Schema.Literal(false).annotations({ description: "Indicates failed resolution" }),
|
|
40
|
+
error: CliErrorDetail
|
|
41
|
+
}).annotations({
|
|
42
|
+
identifier: "CliRuntimeError",
|
|
43
|
+
description: "Failed version resolution for a single runtime"
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Per-runtime result: success or error.
|
|
47
|
+
*/
|
|
48
|
+
const CliRuntimeResult = Schema.Union(CliRuntimeSuccess, CliRuntimeError).annotations({
|
|
49
|
+
identifier: "CliRuntimeResult",
|
|
50
|
+
description: "Per-runtime resolution result: either success with versions or error with details"
|
|
51
|
+
});
|
|
52
|
+
const CliResultsMap = Schema.Record({
|
|
53
|
+
key: Schema.String.annotations({ description: "Runtime name (node, bun, or deno)" }),
|
|
54
|
+
value: CliRuntimeResult
|
|
55
|
+
}).annotations({ description: "Map of runtime name to resolution result" });
|
|
56
|
+
/**
|
|
57
|
+
* Full CLI success response — all runtimes resolved.
|
|
58
|
+
*/
|
|
59
|
+
const CliSuccessResponse = Schema.Struct({
|
|
60
|
+
ok: Schema.Literal(true).annotations({ description: "True when all requested runtimes resolved successfully" }),
|
|
61
|
+
results: CliResultsMap
|
|
62
|
+
}).annotations({
|
|
63
|
+
identifier: "CliSuccessResponse",
|
|
64
|
+
description: "All requested runtimes resolved successfully"
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Full CLI error response — at least one runtime failed.
|
|
68
|
+
*/
|
|
69
|
+
const CliErrorResponse = Schema.Struct({
|
|
70
|
+
ok: Schema.Literal(false).annotations({ description: "False when one or more requested runtimes failed to resolve" }),
|
|
71
|
+
results: CliResultsMap
|
|
72
|
+
}).annotations({
|
|
73
|
+
identifier: "CliErrorResponse",
|
|
74
|
+
description: "One or more requested runtimes failed to resolve"
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Top-level CLI response envelope.
|
|
78
|
+
*/
|
|
79
|
+
const CliResponse = Schema.Union(CliSuccessResponse, CliErrorResponse).annotations({
|
|
80
|
+
identifier: "CliResponse",
|
|
81
|
+
title: "RuntimeResolverResponse",
|
|
82
|
+
description: "CLI response envelope. Contains an ok discriminator and a results map with per-runtime resolution outcomes."
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
//#endregion
|
|
86
|
+
export { CliResponse };
|
|
87
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","names":[],"sources":["../../../../../src/cli/schemas/response.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\n/**\n * Structured error in CLI output. Uses _tag to identify the error type.\n * Additional fields vary by error type and are passed through as-is.\n */\nexport const CliErrorDetail = Schema.Struct({\n\t_tag: Schema.String.annotations({ description: \"Error type identifier (e.g. RateLimitError, SemverError)\" }),\n\tmessage: Schema.String.annotations({ description: \"Human-readable error message\" }),\n}).pipe(\n\tSchema.extend(\n\t\tSchema.Record({\n\t\t\tkey: Schema.String,\n\t\t\tvalue: Schema.Unknown.annotations({\n\t\t\t\tdescription: \"Additional error-specific metadata\",\n\t\t\t\ttitle: \"ErrorMetadata\",\n\t\t\t}),\n\t\t}),\n\t),\n\tSchema.annotations({\n\t\tidentifier: \"CliErrorDetail\",\n\t\tdescription: \"Structured error with type tag, message, and optional metadata\",\n\t}),\n);\nexport type CliErrorDetail = typeof CliErrorDetail.Type;\n\n/**\n * Successful resolution for a single runtime.\n */\nexport const CliRuntimeSuccess = Schema.Struct({\n\tok: Schema.Literal(true).annotations({ description: \"Indicates successful resolution\" }),\n\tsource: Schema.String.annotations({ description: \"Data source: 'api' or 'cache'\" }),\n\tversions: Schema.Array(Schema.String.annotations({ description: \"Semver version string\" })).annotations({\n\t\tdescription: \"All resolved versions matching the semver range\",\n\t}),\n\tlatest: Schema.String.annotations({ description: \"Most recent version matching the range\" }),\n\tlts: Schema.optional(Schema.String.annotations({ description: \"Current LTS version (Node.js only)\" })),\n\tdefault: Schema.optional(Schema.String.annotations({ description: \"Default recommended version\" })),\n}).annotations({\n\tidentifier: \"CliRuntimeSuccess\",\n\tdescription: \"Successful version resolution for a single runtime\",\n});\nexport type CliRuntimeSuccess = typeof CliRuntimeSuccess.Type;\n\n/**\n * Failed resolution for a single runtime.\n */\nexport const CliRuntimeError = Schema.Struct({\n\tok: Schema.Literal(false).annotations({ description: \"Indicates failed resolution\" }),\n\terror: CliErrorDetail,\n}).annotations({\n\tidentifier: \"CliRuntimeError\",\n\tdescription: \"Failed version resolution for a single runtime\",\n});\nexport type CliRuntimeError = typeof CliRuntimeError.Type;\n\n/**\n * Per-runtime result: success or error.\n */\nexport const CliRuntimeResult = Schema.Union(CliRuntimeSuccess, CliRuntimeError).annotations({\n\tidentifier: \"CliRuntimeResult\",\n\tdescription: \"Per-runtime resolution result: either success with versions or error with details\",\n});\nexport type CliRuntimeResult = typeof CliRuntimeResult.Type;\n\nconst CliResultsMap = Schema.Record({\n\tkey: Schema.String.annotations({ description: \"Runtime name (node, bun, or deno)\" }),\n\tvalue: CliRuntimeResult,\n}).annotations({ description: \"Map of runtime name to resolution result\" });\n\n/**\n * Full CLI success response — all runtimes resolved.\n */\nexport const CliSuccessResponse = Schema.Struct({\n\tok: Schema.Literal(true).annotations({ description: \"True when all requested runtimes resolved successfully\" }),\n\tresults: CliResultsMap,\n}).annotations({\n\tidentifier: \"CliSuccessResponse\",\n\tdescription: \"All requested runtimes resolved successfully\",\n});\nexport type CliSuccessResponse = typeof CliSuccessResponse.Type;\n\n/**\n * Full CLI error response — at least one runtime failed.\n */\nexport const CliErrorResponse = Schema.Struct({\n\tok: Schema.Literal(false).annotations({\n\t\tdescription: \"False when one or more requested runtimes failed to resolve\",\n\t}),\n\tresults: CliResultsMap,\n}).annotations({\n\tidentifier: \"CliErrorResponse\",\n\tdescription: \"One or more requested runtimes failed to resolve\",\n});\nexport type CliErrorResponse = typeof CliErrorResponse.Type;\n\n/**\n * Top-level CLI response envelope.\n */\nexport const CliResponse = Schema.Union(CliSuccessResponse, CliErrorResponse).annotations({\n\tidentifier: \"CliResponse\",\n\ttitle: \"RuntimeResolverResponse\",\n\tdescription:\n\t\t\"CLI response envelope. Contains an ok discriminator and a results map with per-runtime resolution outcomes.\",\n});\nexport type CliResponse = typeof CliResponse.Type;\n"],"mappings":";;;;;;;AAMA,MAAa,iBAAiB,OAAO,OAAO;CAC3C,MAAM,OAAO,OAAO,YAAY,EAAE,aAAa,2DAA2D,CAAC;CAC3G,SAAS,OAAO,OAAO,YAAY,EAAE,aAAa,+BAA+B,CAAC;AACnF,CAAC,CAAC,CAAC,KACF,OAAO,OACN,OAAO,OAAO;CACb,KAAK,OAAO;CACZ,OAAO,OAAO,QAAQ,YAAY;EACjC,aAAa;EACb,OAAO;CACR,CAAC;AACF,CAAC,CACF,GACA,OAAO,YAAY;CAClB,YAAY;CACZ,aAAa;AACd,CAAC,CACF;;;;AAMA,MAAa,oBAAoB,OAAO,OAAO;CAC9C,IAAI,OAAO,QAAQ,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,kCAAkC,CAAC;CACvF,QAAQ,OAAO,OAAO,YAAY,EAAE,aAAa,gCAAgC,CAAC;CAClF,UAAU,OAAO,MAAM,OAAO,OAAO,YAAY,EAAE,aAAa,wBAAwB,CAAC,CAAC,CAAC,CAAC,YAAY,EACvG,aAAa,kDACd,CAAC;CACD,QAAQ,OAAO,OAAO,YAAY,EAAE,aAAa,yCAAyC,CAAC;CAC3F,KAAK,OAAO,SAAS,OAAO,OAAO,YAAY,EAAE,aAAa,qCAAqC,CAAC,CAAC;CACrG,SAAS,OAAO,SAAS,OAAO,OAAO,YAAY,EAAE,aAAa,8BAA8B,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC,YAAY;CACd,YAAY;CACZ,aAAa;AACd,CAAC;;;;AAMD,MAAa,kBAAkB,OAAO,OAAO;CAC5C,IAAI,OAAO,QAAQ,KAAK,CAAC,CAAC,YAAY,EAAE,aAAa,8BAA8B,CAAC;CACpF,OAAO;AACR,CAAC,CAAC,CAAC,YAAY;CACd,YAAY;CACZ,aAAa;AACd,CAAC;;;;AAMD,MAAa,mBAAmB,OAAO,MAAM,mBAAmB,eAAe,CAAC,CAAC,YAAY;CAC5F,YAAY;CACZ,aAAa;AACd,CAAC;AAGD,MAAM,gBAAgB,OAAO,OAAO;CACnC,KAAK,OAAO,OAAO,YAAY,EAAE,aAAa,oCAAoC,CAAC;CACnF,OAAO;AACR,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,2CAA2C,CAAC;;;;AAK1E,MAAa,qBAAqB,OAAO,OAAO;CAC/C,IAAI,OAAO,QAAQ,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,yDAAyD,CAAC;CAC9G,SAAS;AACV,CAAC,CAAC,CAAC,YAAY;CACd,YAAY;CACZ,aAAa;AACd,CAAC;;;;AAMD,MAAa,mBAAmB,OAAO,OAAO;CAC7C,IAAI,OAAO,QAAQ,KAAK,CAAC,CAAC,YAAY,EACrC,aAAa,8DACd,CAAC;CACD,SAAS;AACV,CAAC,CAAC,CAAC,YAAY;CACd,YAAY;CACZ,aAAa;AACd,CAAC;;;;AAMD,MAAa,cAAc,OAAO,MAAM,oBAAoB,gBAAgB,CAAC,CAAC,YAAY;CACzF,YAAY;CACZ,OAAO;CACP,aACC;AACF,CAAC"}
|