@alchemy.run/pkg 2.0.0-beta.80 → 2.0.0-beta.82
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/dist/Manifest.d.ts.map +1 -1
- package/dist/Manifest.js.map +1 -1
- package/dist/Protocol.d.ts +1 -1
- package/dist/Protocol.d.ts.map +1 -1
- package/dist/Protocol.js +3 -12
- package/dist/Protocol.js.map +1 -1
- package/dist/Registry/Bindings.d.ts.map +1 -1
- package/dist/Registry/Bindings.js.map +1 -1
- package/dist/Registry/GitHub.d.ts +2 -2
- package/dist/Registry/GitHub.d.ts.map +1 -1
- package/dist/Registry/GitHub.js +10 -37
- package/dist/Registry/GitHub.js.map +1 -1
- package/dist/Registry/Handler.d.ts +1 -1
- package/dist/Registry/Handler.d.ts.map +1 -1
- package/dist/Registry/Handler.js +25 -33
- package/dist/Registry/Handler.js.map +1 -1
- package/dist/Registry/KVCache.d.ts.map +1 -1
- package/dist/Registry/KVCache.js +1 -1
- package/dist/Registry/KVCache.js.map +1 -1
- package/dist/Registry/Sweep.d.ts.map +1 -1
- package/dist/Registry/Sweep.js +3 -8
- package/dist/Registry/Sweep.js.map +1 -1
- package/dist/Registry/Tags.d.ts.map +1 -1
- package/dist/Registry/Tags.js +1 -1
- package/dist/Registry/Tags.js.map +1 -1
- package/dist/Registry.d.ts +23 -1
- package/dist/Registry.d.ts.map +1 -1
- package/dist/Registry.js +1 -1
- package/dist/Registry.js.map +1 -1
- package/dist/cli/bin.d.ts +1 -1
- package/dist/cli/bin.d.ts.map +1 -1
- package/dist/cli/bin.js +6 -10
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/pack.d.ts +11 -0
- package/dist/cli/pack.d.ts.map +1 -1
- package/dist/cli/pack.js +97 -24
- package/dist/cli/pack.js.map +1 -1
- package/dist/cli/publish.d.ts.map +1 -1
- package/dist/cli/publish.js +2 -2
- package/dist/cli/publish.js.map +1 -1
- package/package.json +26 -25
- package/src/Manifest.ts +1 -3
- package/src/Protocol.ts +12 -28
- package/src/Registry/Bindings.ts +1 -4
- package/src/Registry/GitHub.ts +25 -84
- package/src/Registry/Handler.ts +44 -100
- package/src/Registry/KVCache.ts +6 -17
- package/src/Registry/Sweep.ts +13 -26
- package/src/Registry/Tags.ts +8 -16
- package/src/Registry.ts +5 -15
- package/src/cli/bin.ts +9 -19
- package/src/cli/pack.ts +126 -74
- package/src/cli/publish.ts +11 -23
package/dist/Registry/Sweep.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as Duration from "effect/Duration";
|
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
5
|
import * as Option from "effect/Option";
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
|
-
import { Bucket, ORPHAN_GRACE, RegistryConfig, SWEEP_LOOKAHEAD, tarballKey
|
|
7
|
+
import { Bucket, ORPHAN_GRACE, RegistryConfig, SWEEP_LOOKAHEAD, tarballKey } from "./Bindings.js";
|
|
8
8
|
import * as GitHub from "./GitHub.js";
|
|
9
9
|
import * as Tags from "./Tags.js";
|
|
10
10
|
/**
|
|
@@ -24,9 +24,7 @@ export const sweep = Effect.gen(function* () {
|
|
|
24
24
|
// pull request is still open; a failed lookup is recorded as such.
|
|
25
25
|
const lookups = yield* Effect.forEach(new Set(due.flatMap((row) => row.linked_prs)), (ref) => {
|
|
26
26
|
const [repo, number] = ref.split("#");
|
|
27
|
-
return github.getPullRequest(repo, Number(number)).pipe(Effect.map((pr) => pr.state === "open"
|
|
28
|
-
? undefined
|
|
29
|
-
: Date.parse(pr.merged_at ?? pr.closed_at ?? "") || now), Effect.map((closedAt) => [ref, { closedAt }]), Effect.catch((e) => Effect.logWarning(`pull request ${ref} lookup failed: ${GitHub.describe(e)}`).pipe(Effect.as([ref, undefined]))));
|
|
27
|
+
return github.getPullRequest(repo, Number(number)).pipe(Effect.map((pr) => pr.state === "open" ? undefined : Date.parse(pr.merged_at ?? pr.closed_at ?? "") || now), Effect.map((closedAt) => [ref, { closedAt }]), Effect.catch((e) => Effect.logWarning(`pull request ${ref} lookup failed: ${GitHub.describe(e)}`).pipe(Effect.as([ref, undefined]))));
|
|
30
28
|
}, { concurrency: 4 });
|
|
31
29
|
const results = new Map(lookups);
|
|
32
30
|
const extended = yield* Effect.forEach(due, (row) => {
|
|
@@ -55,10 +53,7 @@ export const sweep = Effect.gen(function* () {
|
|
|
55
53
|
// Uploads that never got tagged.
|
|
56
54
|
const orphans = yield* Stream.paginate(undefined, (cursor) => r2
|
|
57
55
|
.list({ cursor, limit: 500 })
|
|
58
|
-
.pipe(Effect.map((page) => [
|
|
59
|
-
page.objects,
|
|
60
|
-
page.truncated ? Option.some(page.cursor) : Option.none(),
|
|
61
|
-
]))).pipe(Stream.filter((object) => {
|
|
56
|
+
.pipe(Effect.map((page) => [page.objects, page.truncated ? Option.some(page.cursor) : Option.none()]))).pipe(Stream.filter((object) => {
|
|
62
57
|
const match = object.key.match(/^(.+)\/([a-f0-9]{64})\.tgz$/);
|
|
63
58
|
return (match !== null &&
|
|
64
59
|
!referenced.has(`${decodeURIComponent(match[1])}/${match[2]}`) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sweep.js","sourceRoot":"","sources":["../../src/Registry/Sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"Sweep.js","sourceRoot":"","sources":["../../src/Registry/Sweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tags.d.ts","sourceRoot":"","sources":["../../src/Registry/Tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAWlD,eAAO,MAAM,MAAM;;;;;IAKjB,qEAAqE;;EAErE,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAUxC,eAAO,MAAM,GAAG;;;;;;oFAMd,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,MAAM;sBACC,MAAM;kBACV,MAAM;qBACH,MAAM;wBACH,MAAM;kBACZ,aAAa,CAAC,MAAM,CAAC;2GAkBnC,CAAC;AAEH,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,MAAM,4GACC,CAAC;AAElD,qEAAqE;AACrE,eAAO,MAAM,SAAS;;;;;;
|
|
1
|
+
{"version":3,"file":"Tags.d.ts","sourceRoot":"","sources":["../../src/Registry/Tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAWlD,eAAO,MAAM,MAAM;;;;;IAKjB,qEAAqE;;EAErE,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAUxC,eAAO,MAAM,GAAG;;;;;;oFAMd,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,MAAM;sBACC,MAAM;kBACV,MAAM;qBACH,MAAM;wBACH,MAAM;kBACZ,aAAa,CAAC,MAAM,CAAC;2GAkBnC,CAAC;AAEH,eAAO,MAAM,OAAO,QAAS,MAAM,OAAO,MAAM,4GACC,CAAC;AAElD,qEAAqE;AACrE,eAAO,MAAM,SAAS;;;;;;sFAOpB,CAAC;AAEH,eAAO,MAAM,SAAS,mIASpB,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,aAAa;;;sFAOxB,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,oHAI7B,CAAC"}
|
package/dist/Registry/Tags.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as SqlClient from "effect/sql/SqlClient";
|
|
|
7
7
|
* runs against the ambient `SqlClient`, which the Worker provides from its
|
|
8
8
|
* D1 binding.
|
|
9
9
|
*/
|
|
10
|
-
const LinkedPrs = Schema.
|
|
10
|
+
const LinkedPrs = Schema.String.pipe(Schema.Array, Schema.fromJsonString);
|
|
11
11
|
export const TagRow = Schema.Struct({
|
|
12
12
|
package: Schema.String,
|
|
13
13
|
tag: Schema.String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tags.js","sourceRoot":"","sources":["../../src/Registry/Tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD;;;;;GAKG;AAEH,MAAM,SAAS,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Tags.js","sourceRoot":"","sources":["../../src/Registry/Tags.ts"],"names":[],"mappings":"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"}
|
package/dist/Registry.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type * as Duration from "effect/Duration";
|
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import * as Layer from "effect/Layer";
|
|
7
7
|
import { type GitHubCredentials, type WorkerOverrides } from "./Registry/Bindings.ts";
|
|
8
|
-
export { Bucket, Cache, Database, Policy, RegistryConfig, Settings
|
|
8
|
+
export { Bucket, Cache, Database, Policy, RegistryConfig, Settings } from "./Registry/Bindings.ts";
|
|
9
9
|
export interface RegistryOptions {
|
|
10
10
|
/**
|
|
11
11
|
* Worker props forwarded verbatim: `domain`, `name`, `compatibility`,
|
|
@@ -59,6 +59,7 @@ declare const Registry_base: Effect.Effect<import("effect/Pipeable").Pipeable &
|
|
|
59
59
|
id: string;
|
|
60
60
|
pattern: string;
|
|
61
61
|
zoneId: string;
|
|
62
|
+
url?: string;
|
|
62
63
|
}[];
|
|
63
64
|
crons: string[];
|
|
64
65
|
tailConsumers?: {
|
|
@@ -91,6 +92,9 @@ declare const Registry_base: Effect.Effect<import("effect/Pipeable").Pipeable &
|
|
|
91
92
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
92
93
|
containers?: {
|
|
93
94
|
className: string;
|
|
95
|
+
name?: string;
|
|
96
|
+
images?: Record<string, string>;
|
|
97
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
94
98
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
95
99
|
hash: string | undefined;
|
|
96
100
|
}[];
|
|
@@ -105,6 +109,9 @@ declare const Registry_base: Effect.Effect<import("effect/Pipeable").Pipeable &
|
|
|
105
109
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
106
110
|
containers?: {
|
|
107
111
|
className: string;
|
|
112
|
+
name?: string;
|
|
113
|
+
images?: Record<string, string>;
|
|
114
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
108
115
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
109
116
|
hash: string | undefined;
|
|
110
117
|
}[];
|
|
@@ -119,6 +126,9 @@ declare const Registry_base: Effect.Effect<import("effect/Pipeable").Pipeable &
|
|
|
119
126
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
120
127
|
containers?: {
|
|
121
128
|
className: string;
|
|
129
|
+
name?: string;
|
|
130
|
+
images?: Record<string, string>;
|
|
131
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
122
132
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
123
133
|
hash: string | undefined;
|
|
124
134
|
}[];
|
|
@@ -147,6 +157,7 @@ declare const Registry_base: Effect.Effect<import("effect/Pipeable").Pipeable &
|
|
|
147
157
|
id: string;
|
|
148
158
|
pattern: string;
|
|
149
159
|
zoneId: string;
|
|
160
|
+
url?: string;
|
|
150
161
|
}[], never>;
|
|
151
162
|
crons: import("alchemy").Output<string[], never>;
|
|
152
163
|
tailConsumers: import("alchemy").Output<{
|
|
@@ -261,6 +272,7 @@ export declare const PkgRegistry: <const Id extends string>(id: Id, options: Reg
|
|
|
261
272
|
id: string;
|
|
262
273
|
pattern: string;
|
|
263
274
|
zoneId: string;
|
|
275
|
+
url?: string;
|
|
264
276
|
}[];
|
|
265
277
|
crons: string[];
|
|
266
278
|
tailConsumers?: {
|
|
@@ -293,6 +305,9 @@ export declare const PkgRegistry: <const Id extends string>(id: Id, options: Reg
|
|
|
293
305
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
294
306
|
containers?: {
|
|
295
307
|
className: string;
|
|
308
|
+
name?: string;
|
|
309
|
+
images?: Record<string, string>;
|
|
310
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
296
311
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
297
312
|
hash: string | undefined;
|
|
298
313
|
}[];
|
|
@@ -307,6 +322,9 @@ export declare const PkgRegistry: <const Id extends string>(id: Id, options: Reg
|
|
|
307
322
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
308
323
|
containers?: {
|
|
309
324
|
className: string;
|
|
325
|
+
name?: string;
|
|
326
|
+
images?: Record<string, string>;
|
|
327
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
310
328
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
311
329
|
hash: string | undefined;
|
|
312
330
|
}[];
|
|
@@ -321,6 +339,9 @@ export declare const PkgRegistry: <const Id extends string>(id: Id, options: Reg
|
|
|
321
339
|
observability?: Pick<Cloudflare.WorkerObservability, "traces">;
|
|
322
340
|
containers?: {
|
|
323
341
|
className: string;
|
|
342
|
+
name?: string;
|
|
343
|
+
images?: Record<string, string>;
|
|
344
|
+
devImages?: Record<string, Cloudflare.DevContainerImage>;
|
|
324
345
|
dev: Cloudflare.DevContainerImage | undefined;
|
|
325
346
|
hash: string | undefined;
|
|
326
347
|
}[];
|
|
@@ -349,6 +370,7 @@ export declare const PkgRegistry: <const Id extends string>(id: Id, options: Reg
|
|
|
349
370
|
id: string;
|
|
350
371
|
pattern: string;
|
|
351
372
|
zoneId: string;
|
|
373
|
+
url?: string;
|
|
352
374
|
}[], never>;
|
|
353
375
|
crons: import("alchemy").Output<string[], never>;
|
|
354
376
|
tailConsumers: import("alchemy").Output<{
|
package/dist/Registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EASL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,
|
|
1
|
+
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EASL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEnG,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG;QACnC,wCAAwC;QACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,wDAAwD;QACxD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,iCAAiC;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACjC,+DAA+D;QAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;KAC7C,CAAC;IACF;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAA2C;CAAG;AA8C5E;;;;GAIG;;;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,EAAE,SAAS,MAAM,MAAM,EAAE,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kGA0BlF,CAAC"}
|
package/dist/Registry.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as Layer from "effect/Layer";
|
|
|
6
6
|
import * as Schema from "effect/Schema";
|
|
7
7
|
import { APP_ID_ENV, DEFAULT_API_URL, DEFAULT_CRON, DEFAULT_TTL, PRIVATE_KEY_ENV, RegistryConfig, SETTINGS_ENV, Settings, } from "./Registry/Bindings.js";
|
|
8
8
|
import { handler } from "./Registry/Handler.js";
|
|
9
|
-
export { Bucket, Cache, Database, Policy, RegistryConfig, Settings
|
|
9
|
+
export { Bucket, Cache, Database, Policy, RegistryConfig, Settings } from "./Registry/Bindings.js";
|
|
10
10
|
/**
|
|
11
11
|
* The registry Worker. Its props are an Effect so the same declaration
|
|
12
12
|
* serves both sides of the bundle boundary: at plan time
|
package/dist/Registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,EACZ,QAAQ,GAGT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/bin.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { CliError, Command } from "effect/cli";
|
|
2
3
|
import * as Config from "effect/Config";
|
|
3
4
|
import * as Option from "effect/Option";
|
|
4
|
-
import { CliError, Command } from "effect/cli";
|
|
5
5
|
export declare const packCommand: Command.Command<"pack", {
|
|
6
6
|
readonly group: readonly {
|
|
7
7
|
readonly name: string;
|
package/dist/cli/bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAa,QAAQ,EAAE,OAAO,EAAoB,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA0BxC,eAAO,MAAM,WAAW;;;;;;;;;;;2VA4CvB,CAAC;AAOF,eAAO,MAAM,cAAc;;;mPAa1B,CAAC;AAEF,eAAO,MAAM,IAAI,keAKhB,CAAC"}
|
package/dist/cli/bin.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { PlatformServices, runMain } from "alchemy/Util/PlatformServices";
|
|
3
|
+
import { CliConfig, CliError, Command, Flag, GlobalFlag } from "effect/cli";
|
|
3
4
|
import * as Config from "effect/Config";
|
|
4
5
|
import * as Effect from "effect/Effect";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
|
-
import * as Layer from "effect/Layer";
|
|
7
|
-
import { CliConfig, CliError, Command, Flag, GlobalFlag } from "effect/cli";
|
|
8
6
|
import * as FetchHttpClient from "effect/http/FetchHttpClient";
|
|
7
|
+
import * as Layer from "effect/Layer";
|
|
8
|
+
import * as Option from "effect/Option";
|
|
9
9
|
import pkg from "../../package.json" with { type: "json" };
|
|
10
10
|
import { Group, pack } from "./pack.js";
|
|
11
11
|
import { publish } from "./publish.js";
|
|
@@ -39,11 +39,7 @@ const dirFlag = Flag.String("dir").pipe(Flag.withDescription("Directory written
|
|
|
39
39
|
export const publishCommand = Command.make("publish", { registry: registryFlag, dir: dirFlag }, ({ registry, dir }) => Effect.gen(function* () {
|
|
40
40
|
const cwd = yield* Effect.sync(() => process.cwd());
|
|
41
41
|
yield* publish({ cwd, dir, registry });
|
|
42
|
-
})).pipe(Command.withDescription("Publish a pkg pack directory from the current GitHub Actions job, after its manifest artifact has been uploaded"), Command.withExamples([
|
|
43
|
-
|
|
44
|
-
]));
|
|
45
|
-
export const root = Command.make("pkg", {}, () => Effect.fail(new CliError.ShowHelp({ commandPath: ["pkg"], errors: [] }))).pipe(Command.withDescription("Pack and publish preview packages for pull requests."), Command.withSubcommands([packCommand, publishCommand]));
|
|
46
|
-
Command.run(root, { version: pkg.version }).pipe(Effect.provide(Layer.mergeAll(PlatformServices, FetchHttpClient.layer, CliConfig.layer({
|
|
47
|
-
builtIns: [GlobalFlag.Help, GlobalFlag.Version],
|
|
48
|
-
}))), runMain);
|
|
42
|
+
})).pipe(Command.withDescription("Publish a pkg pack directory from the current GitHub Actions job, after its manifest artifact has been uploaded"), Command.withExamples([{ command: "pkg publish --registry https://pkg.alchemy.run" }]));
|
|
43
|
+
export const root = Command.make("pkg", {}, () => Effect.fail(CliError.ShowHelp.make({ commandPath: ["pkg"], errors: [] }))).pipe(Command.withDescription("Pack and publish preview packages for pull requests."), Command.withSubcommands([packCommand, publishCommand]));
|
|
44
|
+
Command.run(root, { version: pkg.version }).pipe(Effect.provide(Layer.mergeAll(PlatformServices, FetchHttpClient.layer, CliConfig.layer({ builtIns: [GlobalFlag.Help, GlobalFlag.Version] }))), runMain);
|
|
49
45
|
//# sourceMappingURL=bin.js.map
|
package/dist/cli/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/pack.d.ts
CHANGED
|
@@ -70,6 +70,17 @@ export declare const discover: (cwd: string, groups: readonly {
|
|
|
70
70
|
readonly pattern: string;
|
|
71
71
|
readonly collapsed: boolean;
|
|
72
72
|
}[]) => Effect.Effect<WorkspacePackage[], import("effect/PlatformError").PlatformError | Schema.SchemaError | WorkspaceError, FileSystem.FileSystem | Path.Path>;
|
|
73
|
+
/** Display group of workspace dependencies packed without being listed by `--group`. */
|
|
74
|
+
export declare const TRANSITIVE_GROUP: Group;
|
|
75
|
+
/**
|
|
76
|
+
* Add every `workspace:` dependency the discovered packages install,
|
|
77
|
+
* transitively, so a listed package never links to a version that was
|
|
78
|
+
* not published alongside it. Each dependency is resolved the way Node
|
|
79
|
+
* would, through the `node_modules` link the package manager created,
|
|
80
|
+
* walking up no further than `root`. Added packages join
|
|
81
|
+
* {@link TRANSITIVE_GROUP}.
|
|
82
|
+
*/
|
|
83
|
+
export declare const discoverWorkspaceDependencies: (cwd: string, root: string, packages: readonly WorkspacePackage[]) => Effect.Effect<WorkspacePackage[], import("effect/PlatformError").PlatformError | Schema.SchemaError | WorkspaceError, FileSystem.FileSystem | Path.Path>;
|
|
73
84
|
declare const GitError_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 & {
|
|
74
85
|
readonly _tag: "GitError";
|
|
75
86
|
} & Readonly<A>;
|
package/dist/cli/pack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/cli/pack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/cli/pack.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/pack.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { gunzipSync, gzipSync } from "node:zlib";
|
|
2
|
+
import { exec } from "alchemy/Util/exec";
|
|
3
|
+
import { sha256 } from "alchemy/Util/sha256";
|
|
1
4
|
import * as Config from "effect/Config";
|
|
2
5
|
import * as Console from "effect/Console";
|
|
3
6
|
import * as Data from "effect/Data";
|
|
@@ -5,14 +8,11 @@ import * as Effect from "effect/Effect";
|
|
|
5
8
|
import * as FileSystem from "effect/FileSystem";
|
|
6
9
|
import * as Option from "effect/Option";
|
|
7
10
|
import * as Path from "effect/Path";
|
|
11
|
+
import * as ChildProcess from "effect/process/ChildProcess";
|
|
8
12
|
import * as Schema from "effect/Schema";
|
|
9
13
|
import * as SchemaIssue from "effect/SchemaIssue";
|
|
10
14
|
import * as SchemaTransformation from "effect/SchemaTransformation";
|
|
11
|
-
import * as ChildProcess from "effect/process/ChildProcess";
|
|
12
|
-
import { exec } from "alchemy/Util/exec";
|
|
13
|
-
import { sha256 } from "alchemy/Util/sha256";
|
|
14
15
|
import { packTar, unpackTar } from "modern-tar";
|
|
15
|
-
import { gunzipSync, gzipSync } from "node:zlib";
|
|
16
16
|
import { GroupName, MANIFEST_FILE, ManifestJson, } from "../Manifest.js";
|
|
17
17
|
import { manifestArtifactName, tarballUrl } from "../Protocol.js";
|
|
18
18
|
export class WorkspaceError extends Data.TaggedError("WorkspaceError") {
|
|
@@ -35,8 +35,7 @@ export const Group = Schema.String.pipe(Schema.decodeTo(Schema.Struct({
|
|
|
35
35
|
.split(",")
|
|
36
36
|
.map((attribute) => attribute.trim())
|
|
37
37
|
.filter((attribute) => attribute.length > 0);
|
|
38
|
-
return match &&
|
|
39
|
-
attributes.every((attribute) => attribute === "Collapsed")
|
|
38
|
+
return match && attributes.every((attribute) => attribute === "Collapsed")
|
|
40
39
|
? Effect.succeed({
|
|
41
40
|
name: match[1],
|
|
42
41
|
pattern: match[3],
|
|
@@ -114,14 +113,11 @@ export const REBUILD_ALL_PATHS = [
|
|
|
114
113
|
/** Select dependents first, then dependencies, without pulling in unrelated siblings. */
|
|
115
114
|
export const selectPackages = (packages, dependencies, changedFiles, rebuildAllPaths = []) => {
|
|
116
115
|
if (changedFiles.some((file) => [...REBUILD_ALL_PATHS, ...rebuildAllPaths].some((pattern) => pattern.endsWith("/**")
|
|
117
|
-
? file === pattern.slice(0, -3) ||
|
|
118
|
-
file.startsWith(pattern.slice(0, -2))
|
|
116
|
+
? file === pattern.slice(0, -3) || file.startsWith(pattern.slice(0, -2))
|
|
119
117
|
: file === pattern)))
|
|
120
118
|
return [...packages];
|
|
121
119
|
const selected = new Set(packages
|
|
122
|
-
.filter((pkg) => changedFiles.some((file) => file === pkg.dir ||
|
|
123
|
-
file.startsWith(`${pkg.dir}/`) ||
|
|
124
|
-
pkg.dir.startsWith(`${file}/`)))
|
|
120
|
+
.filter((pkg) => changedFiles.some((file) => file === pkg.dir || file.startsWith(`${pkg.dir}/`) || pkg.dir.startsWith(`${file}/`)))
|
|
125
121
|
.map((pkg) => pkg.name));
|
|
126
122
|
// A changed gitlink selects the packages nested inside that submodule.
|
|
127
123
|
let size;
|
|
@@ -243,6 +239,80 @@ export const discover = Effect.fn("discoverPackages")(function* (cwd, groups) {
|
|
|
243
239
|
}
|
|
244
240
|
return [...found.values()];
|
|
245
241
|
});
|
|
242
|
+
/** Display group of workspace dependencies packed without being listed by `--group`. */
|
|
243
|
+
export const TRANSITIVE_GROUP = {
|
|
244
|
+
name: "Transitive Dependencies",
|
|
245
|
+
pattern: "",
|
|
246
|
+
collapsed: true,
|
|
247
|
+
};
|
|
248
|
+
/** Sections a consumer installs, so a workspace dependency in one has to be published too. */
|
|
249
|
+
const INSTALLED_SECTIONS = ["dependencies", "peerDependencies", "optionalDependencies"];
|
|
250
|
+
/**
|
|
251
|
+
* Add every `workspace:` dependency the discovered packages install,
|
|
252
|
+
* transitively, so a listed package never links to a version that was
|
|
253
|
+
* not published alongside it. Each dependency is resolved the way Node
|
|
254
|
+
* would, through the `node_modules` link the package manager created,
|
|
255
|
+
* walking up no further than `root`. Added packages join
|
|
256
|
+
* {@link TRANSITIVE_GROUP}.
|
|
257
|
+
*/
|
|
258
|
+
export const discoverWorkspaceDependencies = Effect.fn("discoverWorkspaceDependencies")(function* (cwd, root, packages) {
|
|
259
|
+
const fs = yield* FileSystem.FileSystem;
|
|
260
|
+
const path = yield* Path.Path;
|
|
261
|
+
const decode = Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.Struct({ ...PackageJson.fields, ...DependencySections.fields })));
|
|
262
|
+
// Links resolve to real paths, so compare everything by real path.
|
|
263
|
+
const realCwd = yield* fs.realPath(cwd);
|
|
264
|
+
const realRoot = yield* fs.realPath(root);
|
|
265
|
+
const found = new Map(packages.map((pkg) => [pkg.name, pkg]));
|
|
266
|
+
const realDirs = new Map();
|
|
267
|
+
for (const pkg of packages)
|
|
268
|
+
realDirs.set(pkg.name, yield* fs.realPath(pkg.absDir));
|
|
269
|
+
const added = [];
|
|
270
|
+
const resolve = Effect.fn(function* (from, name) {
|
|
271
|
+
let dir = from;
|
|
272
|
+
while (true) {
|
|
273
|
+
const link = path.join(dir, "node_modules", name);
|
|
274
|
+
if (yield* fs.exists(link))
|
|
275
|
+
return yield* fs.realPath(link);
|
|
276
|
+
const relative = path.relative(realRoot, dir);
|
|
277
|
+
if (relative === "" || relative.startsWith(".."))
|
|
278
|
+
break;
|
|
279
|
+
dir = path.dirname(dir);
|
|
280
|
+
}
|
|
281
|
+
return yield* new WorkspaceError({
|
|
282
|
+
message: `Cannot resolve workspace dependency ${name} from ${from}: install dependencies before packing`,
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
const pending = [...packages];
|
|
286
|
+
for (const dependent of pending) {
|
|
287
|
+
const manifest = yield* decode(yield* fs.readFileString(path.join(dependent.absDir, "package.json")));
|
|
288
|
+
const names = INSTALLED_SECTIONS.flatMap((section) => Object.entries(manifest[section] ?? {})
|
|
289
|
+
.filter(([, spec]) => spec.startsWith("workspace:"))
|
|
290
|
+
.map(([name]) => name));
|
|
291
|
+
for (const name of [...new Set(names)].sort()) {
|
|
292
|
+
if (found.has(name))
|
|
293
|
+
continue;
|
|
294
|
+
const absDir = yield* resolve(realDirs.get(dependent.name), name);
|
|
295
|
+
const dependency = yield* decode(yield* fs.readFileString(path.join(absDir, "package.json")));
|
|
296
|
+
if (dependency.private) {
|
|
297
|
+
return yield* new WorkspaceError({
|
|
298
|
+
message: `${dependent.name} depends on private workspace package ${name}, which cannot be published`,
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
const pkg = {
|
|
302
|
+
name,
|
|
303
|
+
version: dependency.version ?? "0.0.0",
|
|
304
|
+
dir: path.relative(realCwd, absDir).split(path.sep).join("/"),
|
|
305
|
+
absDir,
|
|
306
|
+
group: TRANSITIVE_GROUP.name,
|
|
307
|
+
};
|
|
308
|
+
found.set(name, pkg);
|
|
309
|
+
realDirs.set(name, absDir);
|
|
310
|
+
added.push(pkg);
|
|
311
|
+
pending.push(pkg);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return added;
|
|
315
|
+
});
|
|
246
316
|
export class GitError extends Data.TaggedError("GitError") {
|
|
247
317
|
get message() {
|
|
248
318
|
return `git ${this.args.join(" ")} in ${this.cwd} exited with ${this.exitCode}: ${this.stderr.trim()}`;
|
|
@@ -268,9 +338,7 @@ const PnpmPackOutput = Schema.fromJsonString(Schema.Struct({ filename: Schema.St
|
|
|
268
338
|
* tarball URL. Returns the rewritten manifest text and the rewrites made.
|
|
269
339
|
*/
|
|
270
340
|
export const rewriteDependencies = (manifestText, links) => Effect.gen(function* () {
|
|
271
|
-
const manifest = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.StructWithRest(DependencySections, [
|
|
272
|
-
Schema.Record(Schema.String, Schema.Unknown),
|
|
273
|
-
])))(manifestText);
|
|
341
|
+
const manifest = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.StructWithRest(DependencySections, [Schema.Record(Schema.String, Schema.Unknown)])))(manifestText);
|
|
274
342
|
// Preserve source key order after validation: it contributes to the tarball hash.
|
|
275
343
|
const rewritten = JSON.parse(manifestText);
|
|
276
344
|
const rewrites = [];
|
|
@@ -368,8 +436,7 @@ const PullRequestEvent = Schema.fromJsonString(Schema.Struct({
|
|
|
368
436
|
const pullRequest = Effect.gen(function* () {
|
|
369
437
|
const event = yield* Config.option(Config.String("GITHUB_EVENT_NAME"));
|
|
370
438
|
const eventPath = yield* Config.option(Config.String("GITHUB_EVENT_PATH"));
|
|
371
|
-
if (Option.getOrUndefined(event) !== "pull_request" ||
|
|
372
|
-
Option.isNone(eventPath)) {
|
|
439
|
+
if (Option.getOrUndefined(event) !== "pull_request" || Option.isNone(eventPath)) {
|
|
373
440
|
return undefined;
|
|
374
441
|
}
|
|
375
442
|
const fs = yield* FileSystem.FileSystem;
|
|
@@ -402,6 +469,11 @@ export const pack = Effect.fn("pack")(function* (options) {
|
|
|
402
469
|
});
|
|
403
470
|
}
|
|
404
471
|
let packages = yield* discover(options.cwd, options.groups);
|
|
472
|
+
const implied = yield* discoverWorkspaceDependencies(options.cwd, root, packages);
|
|
473
|
+
if (implied.length > 0) {
|
|
474
|
+
yield* Console.log(`Including ${implied.length} workspace dependenc${implied.length === 1 ? "y" : "ies"} not listed by --group: ${implied.map((pkg) => pkg.name).join(", ")}`);
|
|
475
|
+
packages = [...packages, ...implied];
|
|
476
|
+
}
|
|
405
477
|
// Dependencies between packed packages are rewritten to the dependency's
|
|
406
478
|
// immutable tarball URL, so a package is packed only after everything it
|
|
407
479
|
// depends on has a hash.
|
|
@@ -444,9 +516,7 @@ export const pack = Effect.fn("pack")(function* (options) {
|
|
|
444
516
|
// subdirectory of the workspace: `--out .` would otherwise delete it.
|
|
445
517
|
const outDir = path.resolve(options.cwd, options.out);
|
|
446
518
|
const relative = path.relative(options.cwd, outDir);
|
|
447
|
-
if (relative === "" ||
|
|
448
|
-
relative.startsWith("..") ||
|
|
449
|
-
path.isAbsolute(relative)) {
|
|
519
|
+
if (relative === "" || relative.startsWith("..") || path.isAbsolute(relative)) {
|
|
450
520
|
return yield* new WorkspaceError({
|
|
451
521
|
message: `--out must be a subdirectory of ${options.cwd}, got ${outDir}`,
|
|
452
522
|
});
|
|
@@ -486,12 +556,15 @@ export const pack = Effect.fn("pack")(function* (options) {
|
|
|
486
556
|
}
|
|
487
557
|
// Packing ran in dependency order; the manifest keeps the listed order.
|
|
488
558
|
const entries = packages.map((pkg) => packedByName.get(pkg.name));
|
|
489
|
-
// One entry per distinct group name, in the order the groups were given
|
|
559
|
+
// One entry per distinct group name, in the order the groups were given,
|
|
560
|
+
// then the transitive group when it has members.
|
|
490
561
|
const groups = [
|
|
491
|
-
...new Map(
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
562
|
+
...new Map([
|
|
563
|
+
...options.groups,
|
|
564
|
+
...(entries.some((entry) => entry.group === TRANSITIVE_GROUP.name)
|
|
565
|
+
? [TRANSITIVE_GROUP]
|
|
566
|
+
: []),
|
|
567
|
+
].map((group) => [group.name, { name: group.name, collapsed: group.collapsed }])).values(),
|
|
495
568
|
];
|
|
496
569
|
const manifest = {
|
|
497
570
|
version: 1,
|