@savvy-web/github-action-builder 1.1.0 → 1.1.2

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.
@@ -26,7 +26,7 @@ const rootCommand = Command.make("github-action-builder").pipe(Command.withSubco
26
26
  */
27
27
  const cli = Command.run(rootCommand, {
28
28
  name: "github-action-builder",
29
- version: "1.1.0"
29
+ version: "1.1.2"
30
30
  });
31
31
  /**
32
32
  * Combined layer: AppLayer + NodeContext for CLI.
@@ -20,7 +20,7 @@ const forceOption = Options.boolean("force").pipe(Options.withAlias("f"), Option
20
20
  * Get current package version (replaced at build time).
21
21
  */
22
22
  const getPackageVersion = () => {
23
- return "1.1.0";
23
+ return "1.1.2";
24
24
  };
25
25
  /**
26
26
  * Generate package.json content.
package/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Context, Effect, Layer, Schema } from "effect";
2
-
3
2
  //#region src/schemas/config.d.ts
4
3
  /**
5
4
  * Schema for entry point paths.
@@ -10,17 +9,21 @@ import { Context, Effect, Layer, Schema } from "effect";
10
9
  * - `pre`: Runs before the main action (optional)
11
10
  * - `post`: Runs after the main action for cleanup (optional)
12
11
  *
13
- * Additional non-lifecycle bundles can be declared via `workers` (name source path),
14
- * each emitted as `dist/<name>.js`.
12
+ * Additional non-lifecycle bundles can be declared via `workers` (name -\> source path),
13
+ * each emitted as `dist/\{name\}.js`.
15
14
  *
16
15
  * @public
17
16
  */
18
17
  declare const EntriesSchema: Schema.Struct<{
19
- /** Path to the main action entry point. Defaults to "src/main.ts". */main: Schema.optionalWith<typeof Schema.String, {
18
+ /** Path to the main action entry point. Defaults to "src/main.ts". */
19
+ main: Schema.optionalWith<typeof Schema.String, {
20
20
  default: () => string;
21
- }>; /** Path to the pre-action hook entry point. */
22
- pre: Schema.optional<typeof Schema.String>; /** Path to the post-action hook entry point. */
23
- post: Schema.optional<typeof Schema.String>; /** Extra non-lifecycle worker bundles (name -> source path), each emitted as dist/<name>.js. */
21
+ }>;
22
+ /** Path to the pre-action hook entry point. */
23
+ pre: Schema.optional<typeof Schema.String>;
24
+ /** Path to the post-action hook entry point. */
25
+ post: Schema.optional<typeof Schema.String>;
26
+ /** Extra non-lifecycle worker bundles (name -\> source path), each emitted as dist/\{name\}.js. */
24
27
  workers: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
25
28
  }>;
26
29
  /**
@@ -39,15 +42,19 @@ type Entries = typeof EntriesSchema.Type;
39
42
  * @public
40
43
  */
41
44
  declare const BuildOptionsSchema: Schema.Struct<{
42
- /** Enable minification to reduce bundle size. Defaults to true. */minify: Schema.optionalWith<typeof Schema.Boolean, {
45
+ /** Enable minification to reduce bundle size. Defaults to true. */
46
+ minify: Schema.optionalWith<typeof Schema.Boolean, {
43
47
  default: () => true;
44
- }>; /** Generate source maps for debugging. Defaults to false. */
48
+ }>;
49
+ /** Generate source maps for debugging. Defaults to false. */
45
50
  sourceMap: Schema.optionalWith<typeof Schema.Boolean, {
46
51
  default: () => false;
47
- }>; /** Packages to exclude from the bundle (in addition to node: builtins). Defaults to []. */
52
+ }>;
53
+ /** Packages to exclude from the bundle (in addition to node: builtins). Defaults to []. */
48
54
  externals: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
49
55
  default: () => never[];
50
- }>; /** Packages to exclude from the bundle and replace with a stub that throws if loaded at runtime. Use for optional transitive dependencies the action never exercises (e.g. native modules). Defaults to []. */
56
+ }>;
57
+ /** Packages to exclude from the bundle and replace with a stub that throws if loaded at runtime. Use for optional transitive dependencies the action never exercises (e.g. native modules). Defaults to []. */
51
58
  ignore: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
52
59
  default: () => never[];
53
60
  }>;
@@ -80,10 +87,13 @@ type BuildOptions = typeof BuildOptionsSchema.Type;
80
87
  * @public
81
88
  */
82
89
  declare const ValidationOptionsSchema: Schema.Struct<{
83
- /** Require action.yml to exist and be valid. Defaults to true. */requireActionYml: Schema.optionalWith<typeof Schema.Boolean, {
90
+ /** Require action.yml to exist and be valid. Defaults to true. */
91
+ requireActionYml: Schema.optionalWith<typeof Schema.Boolean, {
84
92
  default: () => true;
85
- }>; /** Maximum bundle size before warning/error (e.g., "5mb", "500kb"). */
86
- maxBundleSize: Schema.optional<typeof Schema.String>; /** Treat warnings as errors. Auto-detects from CI when undefined. */
93
+ }>;
94
+ /** Maximum bundle size before warning/error (e.g., "5mb", "500kb"). */
95
+ maxBundleSize: Schema.optional<typeof Schema.String>;
96
+ /** Treat warnings as errors. Auto-detects from CI when undefined. */
87
97
  strict: Schema.optional<typeof Schema.Boolean>;
88
98
  }>;
89
99
  /**
@@ -102,12 +112,15 @@ type ValidationOptions = typeof ValidationOptionsSchema.Type;
102
112
  * @public
103
113
  */
104
114
  declare const PersistLocalOptionsSchema: Schema.Struct<{
105
- /** Enable persisting build output locally. Defaults to true. */enabled: Schema.optionalWith<typeof Schema.Boolean, {
115
+ /** Enable persisting build output locally. Defaults to true. */
116
+ enabled: Schema.optionalWith<typeof Schema.Boolean, {
106
117
  default: () => true;
107
- }>; /** Path for the local action directory, relative to cwd. Defaults to ".github/actions/local". */
118
+ }>;
119
+ /** Path for the local action directory, relative to cwd. Defaults to ".github/actions/local". */
108
120
  path: Schema.optionalWith<typeof Schema.String, {
109
121
  default: () => string;
110
- }>; /** Generate act boilerplate files (.actrc, act-test.yml) if they don't exist. Defaults to true. */
122
+ }>;
123
+ /** Generate act boilerplate files (.actrc, act-test.yml) if they don't exist. Defaults to true. */
111
124
  actTemplate: Schema.optionalWith<typeof Schema.Boolean, {
112
125
  default: () => true;
113
126
  }>;
@@ -169,23 +182,31 @@ type ConfigInput = typeof ConfigInputSchema.Type;
169
182
  */
170
183
  declare const ConfigSchema: Schema.Struct<{
171
184
  entries: Schema.Struct<{
172
- /** Path to the main action entry point. Defaults to "src/main.ts". */main: Schema.optionalWith<typeof Schema.String, {
185
+ /** Path to the main action entry point. Defaults to "src/main.ts". */
186
+ main: Schema.optionalWith<typeof Schema.String, {
173
187
  default: () => string;
174
- }>; /** Path to the pre-action hook entry point. */
175
- pre: Schema.optional<typeof Schema.String>; /** Path to the post-action hook entry point. */
176
- post: Schema.optional<typeof Schema.String>; /** Extra non-lifecycle worker bundles (name -> source path), each emitted as dist/<name>.js. */
188
+ }>;
189
+ /** Path to the pre-action hook entry point. */
190
+ pre: Schema.optional<typeof Schema.String>;
191
+ /** Path to the post-action hook entry point. */
192
+ post: Schema.optional<typeof Schema.String>;
193
+ /** Extra non-lifecycle worker bundles (name -\> source path), each emitted as dist/\{name\}.js. */
177
194
  workers: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
178
195
  }>;
179
196
  build: Schema.Struct<{
180
- /** Enable minification to reduce bundle size. Defaults to true. */minify: Schema.optionalWith<typeof Schema.Boolean, {
197
+ /** Enable minification to reduce bundle size. Defaults to true. */
198
+ minify: Schema.optionalWith<typeof Schema.Boolean, {
181
199
  default: () => true;
182
- }>; /** Generate source maps for debugging. Defaults to false. */
200
+ }>;
201
+ /** Generate source maps for debugging. Defaults to false. */
183
202
  sourceMap: Schema.optionalWith<typeof Schema.Boolean, {
184
203
  default: () => false;
185
- }>; /** Packages to exclude from the bundle (in addition to node: builtins). Defaults to []. */
204
+ }>;
205
+ /** Packages to exclude from the bundle (in addition to node: builtins). Defaults to []. */
186
206
  externals: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
187
207
  default: () => never[];
188
- }>; /** Packages to exclude from the bundle and replace with a stub that throws if loaded at runtime. Use for optional transitive dependencies the action never exercises (e.g. native modules). Defaults to []. */
208
+ }>;
209
+ /** Packages to exclude from the bundle and replace with a stub that throws if loaded at runtime. Use for optional transitive dependencies the action never exercises (e.g. native modules). Defaults to []. */
189
210
  ignore: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
190
211
  default: () => never[];
191
212
  }>;
@@ -203,19 +224,25 @@ declare const ConfigSchema: Schema.Struct<{
203
224
  }>;
204
225
  }>;
205
226
  validation: Schema.Struct<{
206
- /** Require action.yml to exist and be valid. Defaults to true. */requireActionYml: Schema.optionalWith<typeof Schema.Boolean, {
227
+ /** Require action.yml to exist and be valid. Defaults to true. */
228
+ requireActionYml: Schema.optionalWith<typeof Schema.Boolean, {
207
229
  default: () => true;
208
- }>; /** Maximum bundle size before warning/error (e.g., "5mb", "500kb"). */
209
- maxBundleSize: Schema.optional<typeof Schema.String>; /** Treat warnings as errors. Auto-detects from CI when undefined. */
230
+ }>;
231
+ /** Maximum bundle size before warning/error (e.g., "5mb", "500kb"). */
232
+ maxBundleSize: Schema.optional<typeof Schema.String>;
233
+ /** Treat warnings as errors. Auto-detects from CI when undefined. */
210
234
  strict: Schema.optional<typeof Schema.Boolean>;
211
235
  }>;
212
236
  persistLocal: Schema.Struct<{
213
- /** Enable persisting build output locally. Defaults to true. */enabled: Schema.optionalWith<typeof Schema.Boolean, {
237
+ /** Enable persisting build output locally. Defaults to true. */
238
+ enabled: Schema.optionalWith<typeof Schema.Boolean, {
214
239
  default: () => true;
215
- }>; /** Path for the local action directory, relative to cwd. Defaults to ".github/actions/local". */
240
+ }>;
241
+ /** Path for the local action directory, relative to cwd. Defaults to ".github/actions/local". */
216
242
  path: Schema.optionalWith<typeof Schema.String, {
217
243
  default: () => string;
218
- }>; /** Generate act boilerplate files (.actrc, act-test.yml) if they don't exist. Defaults to true. */
244
+ }>;
245
+ /** Generate act boilerplate files (.actrc, act-test.yml) if they don't exist. Defaults to true. */
219
246
  actTemplate: Schema.optionalWith<typeof Schema.Boolean, {
220
247
  default: () => true;
221
248
  }>;
@@ -297,7 +324,7 @@ declare function defineConfig(config?: Partial<ConfigInput>): Config;
297
324
  *
298
325
  * @public
299
326
  */
300
- declare const ConfigNotFoundBase: 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 & {
327
+ declare const ConfigNotFoundBase: 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 & {
301
328
  readonly _tag: "ConfigNotFound";
302
329
  } & Readonly<A>;
303
330
  /**
@@ -325,7 +352,7 @@ declare class ConfigNotFound extends ConfigNotFoundBase<{
325
352
  *
326
353
  * @public
327
354
  */
328
- declare const ConfigInvalidBase: 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 & {
355
+ declare const ConfigInvalidBase: 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 & {
329
356
  readonly _tag: "ConfigInvalid";
330
357
  } & Readonly<A>;
331
358
  /**
@@ -353,7 +380,7 @@ declare class ConfigInvalid extends ConfigInvalidBase<{
353
380
  *
354
381
  * @public
355
382
  */
356
- declare const ConfigLoadFailedBase: 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 & {
383
+ declare const ConfigLoadFailedBase: 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 & {
357
384
  readonly _tag: "ConfigLoadFailed";
358
385
  } & Readonly<A>;
359
386
  /**
@@ -387,7 +414,7 @@ type ConfigError = ConfigNotFound | ConfigInvalid | ConfigLoadFailed;
387
414
  *
388
415
  * @public
389
416
  */
390
- declare const MainEntryMissingBase: 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 & {
417
+ declare const MainEntryMissingBase: 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 & {
391
418
  readonly _tag: "MainEntryMissing";
392
419
  } & Readonly<A>;
393
420
  /**
@@ -415,7 +442,7 @@ declare class MainEntryMissing extends MainEntryMissingBase<{
415
442
  *
416
443
  * @public
417
444
  */
418
- declare const WorkerEntryMissingBase: 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 & {
445
+ declare const WorkerEntryMissingBase: 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 & {
419
446
  readonly _tag: "WorkerEntryMissing";
420
447
  } & Readonly<A>;
421
448
  /**
@@ -424,8 +451,11 @@ declare const WorkerEntryMissingBase: new <A extends Record<string, any> = {}>(a
424
451
  * @public
425
452
  */
426
453
  declare class WorkerEntryMissing extends WorkerEntryMissingBase<{
427
- /** The worker name (config key). */readonly workerName: string; /** The expected path for the worker entry. */
428
- readonly expectedPath: string; /** The working directory that was searched. */
454
+ /** The worker name (config key). */
455
+ readonly workerName: string;
456
+ /** The expected path for the worker entry. */
457
+ readonly expectedPath: string;
458
+ /** The working directory that was searched. */
429
459
  readonly cwd: string;
430
460
  }> {}
431
461
  /**
@@ -438,7 +468,7 @@ declare class WorkerEntryMissing extends WorkerEntryMissingBase<{
438
468
  *
439
469
  * @public
440
470
  */
441
- declare const WorkerEntryInvalidNameBase: 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 & {
471
+ declare const WorkerEntryInvalidNameBase: 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 & {
442
472
  readonly _tag: "WorkerEntryInvalidName";
443
473
  } & Readonly<A>;
444
474
  /**
@@ -452,7 +482,9 @@ declare const WorkerEntryInvalidNameBase: new <A extends Record<string, any> = {
452
482
  * @public
453
483
  */
454
484
  declare class WorkerEntryInvalidName extends WorkerEntryInvalidNameBase<{
455
- /** The offending worker name (config key). */readonly workerName: string; /** Why the name was rejected. */
485
+ /** The offending worker name (config key). */
486
+ readonly workerName: string;
487
+ /** Why the name was rejected. */
456
488
  readonly reason: string;
457
489
  }> {}
458
490
  /**
@@ -465,7 +497,7 @@ declare class WorkerEntryInvalidName extends WorkerEntryInvalidNameBase<{
465
497
  *
466
498
  * @public
467
499
  */
468
- declare const EntryFileMissingBase: 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 & {
500
+ declare const EntryFileMissingBase: 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 & {
469
501
  readonly _tag: "EntryFileMissing";
470
502
  } & Readonly<A>;
471
503
  /**
@@ -493,7 +525,7 @@ declare class EntryFileMissing extends EntryFileMissingBase<{
493
525
  *
494
526
  * @public
495
527
  */
496
- declare const ActionYmlMissingBase: 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 & {
528
+ declare const ActionYmlMissingBase: 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 & {
497
529
  readonly _tag: "ActionYmlMissing";
498
530
  } & Readonly<A>;
499
531
  /**
@@ -517,7 +549,7 @@ declare class ActionYmlMissing extends ActionYmlMissingBase<{
517
549
  *
518
550
  * @public
519
551
  */
520
- declare const ActionYmlSyntaxErrorBase: 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 & {
552
+ declare const ActionYmlSyntaxErrorBase: 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 & {
521
553
  readonly _tag: "ActionYmlSyntaxError";
522
554
  } & Readonly<A>;
523
555
  /**
@@ -553,7 +585,7 @@ declare class ActionYmlSyntaxError extends ActionYmlSyntaxErrorBase<{
553
585
  *
554
586
  * @public
555
587
  */
556
- declare const ActionYmlSchemaErrorBase: 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 & {
588
+ declare const ActionYmlSchemaErrorBase: 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 & {
557
589
  readonly _tag: "ActionYmlSchemaError";
558
590
  } & Readonly<A>;
559
591
  /**
@@ -584,7 +616,7 @@ declare class ActionYmlSchemaError extends ActionYmlSchemaErrorBase<{
584
616
  *
585
617
  * @public
586
618
  */
587
- declare const ValidationFailedBase: 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 & {
619
+ declare const ValidationFailedBase: 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 & {
588
620
  readonly _tag: "ValidationFailed";
589
621
  } & Readonly<A>;
590
622
  /**
@@ -622,7 +654,7 @@ type ValidationError = MainEntryMissing | WorkerEntryMissing | WorkerEntryInvali
622
654
  *
623
655
  * @public
624
656
  */
625
- declare const BundleFailedBase: 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 & {
657
+ declare const BundleFailedBase: 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 & {
626
658
  readonly _tag: "BundleFailed";
627
659
  } & Readonly<A>;
628
660
  /**
@@ -650,7 +682,7 @@ declare class BundleFailed extends BundleFailedBase<{
650
682
  *
651
683
  * @public
652
684
  */
653
- declare const WriteErrorBase: 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 & {
685
+ declare const WriteErrorBase: 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 & {
654
686
  readonly _tag: "WriteError";
655
687
  } & Readonly<A>;
656
688
  /**
@@ -678,7 +710,7 @@ declare class WriteError extends WriteErrorBase<{
678
710
  *
679
711
  * @public
680
712
  */
681
- declare const CleanErrorBase: 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 & {
713
+ declare const CleanErrorBase: 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 & {
682
714
  readonly _tag: "CleanError";
683
715
  } & Readonly<A>;
684
716
  /**
@@ -706,7 +738,7 @@ declare class CleanError extends CleanErrorBase<{
706
738
  *
707
739
  * @public
708
740
  */
709
- declare const BuildFailedBase: 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 & {
741
+ declare const BuildFailedBase: 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 & {
710
742
  readonly _tag: "BuildFailed";
711
743
  } & Readonly<A>;
712
744
  /**
@@ -740,7 +772,7 @@ type BuildError = BundleFailed | WriteError | CleanError | BuildFailed;
740
772
  *
741
773
  * @public
742
774
  */
743
- declare const PersistLocalErrorBase: 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 & {
775
+ declare const PersistLocalErrorBase: 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 & {
744
776
  readonly _tag: "PersistLocalError";
745
777
  } & Readonly<A>;
746
778
  /**
@@ -768,7 +800,7 @@ declare class PersistLocalError extends PersistLocalErrorBase<{
768
800
  *
769
801
  * @public
770
802
  */
771
- declare const ActionYmlPathErrorBase: 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 & {
803
+ declare const ActionYmlPathErrorBase: 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 & {
772
804
  readonly _tag: "ActionYmlPathError";
773
805
  } & Readonly<A>;
774
806
  /**
@@ -809,7 +841,9 @@ type AppError = ConfigError | ValidationError | BuildError | PersistError;
809
841
  * @public
810
842
  */
811
843
  declare const LoadConfigOptionsSchema: Schema.Struct<{
812
- /** Working directory to search for config. Accepts string, Buffer, or URL. */cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>; /** Explicit path to config file. Accepts string, Buffer, or URL. */
844
+ /** Working directory to search for config. Accepts string, Buffer, or URL. */
845
+ cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>;
846
+ /** Explicit path to config file. Accepts string, Buffer, or URL. */
813
847
  configPath: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>;
814
848
  }>;
815
849
  /**
@@ -822,8 +856,11 @@ type LoadConfigOptions = typeof LoadConfigOptionsSchema.Type;
822
856
  * @public
823
857
  */
824
858
  declare const DetectedEntrySchema: Schema.Struct<{
825
- /** Entry type: "main"|"pre"|"post" for lifecycle entries, or the worker name. */type: typeof Schema.String; /** Absolute path to the entry file. */
826
- path: typeof Schema.String; /** Output path for the bundled file. */
859
+ /** Entry type: "main"|"pre"|"post" for lifecycle entries, or the worker name. */
860
+ type: typeof Schema.String;
861
+ /** Absolute path to the entry file. */
862
+ path: typeof Schema.String;
863
+ /** Output path for the bundled file. */
827
864
  output: typeof Schema.String;
828
865
  }>;
829
866
  /**
@@ -836,10 +873,15 @@ type DetectedEntry = typeof DetectedEntrySchema.Type;
836
873
  * @public
837
874
  */
838
875
  declare const DetectEntriesResultSchema: Schema.Struct<{
839
- /** Whether detection was successful. */success: typeof Schema.Boolean; /** Detected entries. */
876
+ /** Whether detection was successful. */
877
+ success: typeof Schema.Boolean;
878
+ /** Detected entries. */
840
879
  entries: Schema.Array$<Schema.Struct<{
841
- /** Entry type: "main"|"pre"|"post" for lifecycle entries, or the worker name. */type: typeof Schema.String; /** Absolute path to the entry file. */
842
- path: typeof Schema.String; /** Output path for the bundled file. */
880
+ /** Entry type: "main"|"pre"|"post" for lifecycle entries, or the worker name. */
881
+ type: typeof Schema.String;
882
+ /** Absolute path to the entry file. */
883
+ path: typeof Schema.String;
884
+ /** Output path for the bundled file. */
843
885
  output: typeof Schema.String;
844
886
  }>>;
845
887
  }>;
@@ -927,7 +969,9 @@ declare const ConfigService: Context.Tag<ConfigService, ConfigService>;
927
969
  * @public
928
970
  */
929
971
  declare const BuildRunnerOptionsSchema: Schema.Struct<{
930
- /** Working directory for the build. Accepts string, Buffer, or URL. */cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>; /** Clean output directory before building. Defaults to true. */
972
+ /** Working directory for the build. Accepts string, Buffer, or URL. */
973
+ cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>;
974
+ /** Clean output directory before building. Defaults to true. */
931
975
  clean: Schema.optional<typeof Schema.Boolean>;
932
976
  }>;
933
977
  /**
@@ -940,9 +984,13 @@ type BuildRunnerOptions = typeof BuildRunnerOptionsSchema.Type;
940
984
  * @public
941
985
  */
942
986
  declare const BundleStatsSchema: Schema.Struct<{
943
- /** Entry type (main, pre, or post). */entry: typeof Schema.String; /** Bundle size in bytes. */
944
- size: typeof Schema.Number; /** Build duration in milliseconds. */
945
- duration: typeof Schema.Number; /** Output path relative to working directory. */
987
+ /** Entry type (main, pre, or post). */
988
+ entry: typeof Schema.String;
989
+ /** Bundle size in bytes. */
990
+ size: typeof Schema.Number;
991
+ /** Build duration in milliseconds. */
992
+ duration: typeof Schema.Number;
993
+ /** Output path relative to working directory. */
946
994
  outputPath: typeof Schema.String;
947
995
  }>;
948
996
  /**
@@ -955,13 +1003,20 @@ type BundleStats = typeof BundleStatsSchema.Type;
955
1003
  * @public
956
1004
  */
957
1005
  declare const BundleResultSchema: Schema.Struct<{
958
- /** Whether bundling succeeded. */success: typeof Schema.Boolean; /** Bundle statistics if successful. */
1006
+ /** Whether bundling succeeded. */
1007
+ success: typeof Schema.Boolean;
1008
+ /** Bundle statistics if successful. */
959
1009
  stats: Schema.optional<Schema.Struct<{
960
- /** Entry type (main, pre, or post). */entry: typeof Schema.String; /** Bundle size in bytes. */
961
- size: typeof Schema.Number; /** Build duration in milliseconds. */
962
- duration: typeof Schema.Number; /** Output path relative to working directory. */
1010
+ /** Entry type (main, pre, or post). */
1011
+ entry: typeof Schema.String;
1012
+ /** Bundle size in bytes. */
1013
+ size: typeof Schema.Number;
1014
+ /** Build duration in milliseconds. */
1015
+ duration: typeof Schema.Number;
1016
+ /** Output path relative to working directory. */
963
1017
  outputPath: typeof Schema.String;
964
- }>>; /** Error message if failed. */
1018
+ }>>;
1019
+ /** Error message if failed. */
965
1020
  error: Schema.optional<typeof Schema.String>;
966
1021
  }>;
967
1022
  /**
@@ -974,18 +1029,29 @@ type BundleResult = typeof BundleResultSchema.Type;
974
1029
  * @public
975
1030
  */
976
1031
  declare const BuildResultSchema: Schema.Struct<{
977
- /** Whether the overall build succeeded. */success: typeof Schema.Boolean; /** Results for each entry that was built. */
1032
+ /** Whether the overall build succeeded. */
1033
+ success: typeof Schema.Boolean;
1034
+ /** Results for each entry that was built. */
978
1035
  entries: Schema.Array$<Schema.Struct<{
979
- /** Whether bundling succeeded. */success: typeof Schema.Boolean; /** Bundle statistics if successful. */
1036
+ /** Whether bundling succeeded. */
1037
+ success: typeof Schema.Boolean;
1038
+ /** Bundle statistics if successful. */
980
1039
  stats: Schema.optional<Schema.Struct<{
981
- /** Entry type (main, pre, or post). */entry: typeof Schema.String; /** Bundle size in bytes. */
982
- size: typeof Schema.Number; /** Build duration in milliseconds. */
983
- duration: typeof Schema.Number; /** Output path relative to working directory. */
1040
+ /** Entry type (main, pre, or post). */
1041
+ entry: typeof Schema.String;
1042
+ /** Bundle size in bytes. */
1043
+ size: typeof Schema.Number;
1044
+ /** Build duration in milliseconds. */
1045
+ duration: typeof Schema.Number;
1046
+ /** Output path relative to working directory. */
984
1047
  outputPath: typeof Schema.String;
985
- }>>; /** Error message if failed. */
1048
+ }>>;
1049
+ /** Error message if failed. */
986
1050
  error: Schema.optional<typeof Schema.String>;
987
- }>>; /** Total build duration in milliseconds. */
988
- duration: typeof Schema.Number; /** Error message if build failed. */
1051
+ }>>;
1052
+ /** Total build duration in milliseconds. */
1053
+ duration: typeof Schema.Number;
1054
+ /** Error message if build failed. */
989
1055
  error: Schema.optional<typeof Schema.String>;
990
1056
  }>;
991
1057
  /**
@@ -1077,7 +1143,8 @@ declare const BuildService: Context.Tag<BuildService, BuildService>;
1077
1143
  * @public
1078
1144
  */
1079
1145
  declare const PersistLocalRunnerOptionsSchema: Schema.Struct<{
1080
- /** Working directory. Accepts string. */cwd: Schema.optional<typeof Schema.String>;
1146
+ /** Working directory. Accepts string. */
1147
+ cwd: Schema.optional<typeof Schema.String>;
1081
1148
  }>;
1082
1149
  /**
1083
1150
  * Options for the persist operation.
@@ -1089,11 +1156,17 @@ type PersistLocalRunnerOptions = typeof PersistLocalRunnerOptionsSchema.Type;
1089
1156
  * @public
1090
1157
  */
1091
1158
  declare const PersistLocalResultSchema: Schema.Struct<{
1092
- /** Whether the operation completed successfully. */success: typeof Schema.Boolean; /** Number of files copied (changed or new). */
1093
- filesCopied: typeof Schema.Number; /** Number of files skipped (unchanged). */
1094
- filesSkipped: typeof Schema.Number; /** Whether act template files were generated. */
1095
- actTemplateGenerated: typeof Schema.Boolean; /** Output path where files were persisted. */
1096
- outputPath: typeof Schema.String; /** Error message if failed. */
1159
+ /** Whether the operation completed successfully. */
1160
+ success: typeof Schema.Boolean;
1161
+ /** Number of files copied (changed or new). */
1162
+ filesCopied: typeof Schema.Number;
1163
+ /** Number of files skipped (unchanged). */
1164
+ filesSkipped: typeof Schema.Number;
1165
+ /** Whether act template files were generated. */
1166
+ actTemplateGenerated: typeof Schema.Boolean;
1167
+ /** Output path where files were persisted. */
1168
+ outputPath: typeof Schema.String;
1169
+ /** Error message if failed. */
1097
1170
  error: Schema.optional<typeof Schema.String>;
1098
1171
  }>;
1099
1172
  /**
@@ -1144,7 +1217,9 @@ declare const PersistLocalService: Context.Tag<PersistLocalService, PersistLocal
1144
1217
  * @public
1145
1218
  */
1146
1219
  declare const ValidateOptionsSchema: Schema.Struct<{
1147
- /** Working directory for file operations. Accepts string, Buffer, or URL. */cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>; /** Force strict mode regardless of environment. Auto-detects from CI when undefined. */
1220
+ /** Working directory for file operations. Accepts string, Buffer, or URL. */
1221
+ cwd: Schema.optional<Schema.transform<Schema.Union<[typeof Schema.String, Schema.instanceOf<Buffer<ArrayBufferLike>>, Schema.instanceOf<URL>]>, typeof Schema.String>>;
1222
+ /** Force strict mode regardless of environment. Auto-detects from CI when undefined. */
1148
1223
  strict: Schema.optional<typeof Schema.Boolean>;
1149
1224
  }>;
1150
1225
  /**
@@ -1157,9 +1232,13 @@ type ValidateOptions = typeof ValidateOptionsSchema.Type;
1157
1232
  * @public
1158
1233
  */
1159
1234
  declare const ValidationErrorSchema: Schema.Struct<{
1160
- /** Error code for categorization. */code: typeof Schema.String; /** Human-readable error message. */
1161
- message: typeof Schema.String; /** File path where error occurred. */
1162
- file: Schema.optional<typeof Schema.String>; /** Suggestion for fixing the error. */
1235
+ /** Error code for categorization. */
1236
+ code: typeof Schema.String;
1237
+ /** Human-readable error message. */
1238
+ message: typeof Schema.String;
1239
+ /** File path where error occurred. */
1240
+ file: Schema.optional<typeof Schema.String>;
1241
+ /** Suggestion for fixing the error. */
1163
1242
  suggestion: Schema.optional<typeof Schema.String>;
1164
1243
  }>;
1165
1244
  /**
@@ -1172,9 +1251,13 @@ type ValidationErrorItem = typeof ValidationErrorSchema.Type;
1172
1251
  * @public
1173
1252
  */
1174
1253
  declare const ValidationWarningSchema: Schema.Struct<{
1175
- /** Warning code for categorization. */code: typeof Schema.String; /** Human-readable warning message. */
1176
- message: typeof Schema.String; /** File path where warning occurred. */
1177
- file: Schema.optional<typeof Schema.String>; /** Suggestion for addressing the warning. */
1254
+ /** Warning code for categorization. */
1255
+ code: typeof Schema.String;
1256
+ /** Human-readable warning message. */
1257
+ message: typeof Schema.String;
1258
+ /** File path where warning occurred. */
1259
+ file: Schema.optional<typeof Schema.String>;
1260
+ /** Suggestion for addressing the warning. */
1178
1261
  suggestion: Schema.optional<typeof Schema.String>;
1179
1262
  }>;
1180
1263
  /**
@@ -1187,17 +1270,28 @@ type ValidationWarning = typeof ValidationWarningSchema.Type;
1187
1270
  * @public
1188
1271
  */
1189
1272
  declare const ValidationResultSchema: Schema.Struct<{
1190
- /** Whether validation passed (no errors, or only warnings in non-strict mode). */valid: typeof Schema.Boolean; /** Validation errors. */
1273
+ /** Whether validation passed (no errors, or only warnings in non-strict mode). */
1274
+ valid: typeof Schema.Boolean;
1275
+ /** Validation errors. */
1191
1276
  errors: Schema.Array$<Schema.Struct<{
1192
- /** Error code for categorization. */code: typeof Schema.String; /** Human-readable error message. */
1193
- message: typeof Schema.String; /** File path where error occurred. */
1194
- file: Schema.optional<typeof Schema.String>; /** Suggestion for fixing the error. */
1277
+ /** Error code for categorization. */
1278
+ code: typeof Schema.String;
1279
+ /** Human-readable error message. */
1280
+ message: typeof Schema.String;
1281
+ /** File path where error occurred. */
1282
+ file: Schema.optional<typeof Schema.String>;
1283
+ /** Suggestion for fixing the error. */
1195
1284
  suggestion: Schema.optional<typeof Schema.String>;
1196
- }>>; /** Validation warnings. */
1285
+ }>>;
1286
+ /** Validation warnings. */
1197
1287
  warnings: Schema.Array$<Schema.Struct<{
1198
- /** Warning code for categorization. */code: typeof Schema.String; /** Human-readable warning message. */
1199
- message: typeof Schema.String; /** File path where warning occurred. */
1200
- file: Schema.optional<typeof Schema.String>; /** Suggestion for addressing the warning. */
1288
+ /** Warning code for categorization. */
1289
+ code: typeof Schema.String;
1290
+ /** Human-readable warning message. */
1291
+ message: typeof Schema.String;
1292
+ /** File path where warning occurred. */
1293
+ file: Schema.optional<typeof Schema.String>;
1294
+ /** Suggestion for addressing the warning. */
1201
1295
  suggestion: Schema.optional<typeof Schema.String>;
1202
1296
  }>>;
1203
1297
  }>;
@@ -1211,18 +1305,30 @@ type ValidationResult = typeof ValidationResultSchema.Type;
1211
1305
  * @public
1212
1306
  */
1213
1307
  declare const ActionYmlResultSchema: Schema.Struct<{
1214
- /** Whether the action.yml is valid. */valid: typeof Schema.Boolean; /** Parsed action.yml content if valid. */
1215
- content: Schema.optional<typeof Schema.Any>; /** Validation errors. */
1308
+ /** Whether the action.yml is valid. */
1309
+ valid: typeof Schema.Boolean;
1310
+ /** Parsed action.yml content if valid. */
1311
+ content: Schema.optional<typeof Schema.Any>;
1312
+ /** Validation errors. */
1216
1313
  errors: Schema.Array$<Schema.Struct<{
1217
- /** Error code for categorization. */code: typeof Schema.String; /** Human-readable error message. */
1218
- message: typeof Schema.String; /** File path where error occurred. */
1219
- file: Schema.optional<typeof Schema.String>; /** Suggestion for fixing the error. */
1314
+ /** Error code for categorization. */
1315
+ code: typeof Schema.String;
1316
+ /** Human-readable error message. */
1317
+ message: typeof Schema.String;
1318
+ /** File path where error occurred. */
1319
+ file: Schema.optional<typeof Schema.String>;
1320
+ /** Suggestion for fixing the error. */
1220
1321
  suggestion: Schema.optional<typeof Schema.String>;
1221
- }>>; /** Validation warnings. */
1322
+ }>>;
1323
+ /** Validation warnings. */
1222
1324
  warnings: Schema.Array$<Schema.Struct<{
1223
- /** Warning code for categorization. */code: typeof Schema.String; /** Human-readable warning message. */
1224
- message: typeof Schema.String; /** File path where warning occurred. */
1225
- file: Schema.optional<typeof Schema.String>; /** Suggestion for addressing the warning. */
1325
+ /** Warning code for categorization. */
1326
+ code: typeof Schema.String;
1327
+ /** Human-readable warning message. */
1328
+ message: typeof Schema.String;
1329
+ /** File path where warning occurred. */
1330
+ file: Schema.optional<typeof Schema.String>;
1331
+ /** Suggestion for addressing the warning. */
1226
1332
  suggestion: Schema.optional<typeof Schema.String>;
1227
1333
  }>>;
1228
1334
  }>;
@@ -1367,7 +1473,9 @@ interface GitHubActionOptions {
1367
1473
  * @public
1368
1474
  */
1369
1475
  declare const GitHubActionBuildResultSchema: Schema.Struct<{
1370
- /** Whether the build completed successfully. */success: typeof Schema.Boolean; /** Build result details if the build step ran. */
1476
+ /** Whether the build completed successfully. */
1477
+ success: typeof Schema.Boolean;
1478
+ /** Build result details if the build step ran. */
1371
1479
  build: Schema.optional<Schema.Struct<{
1372
1480
  success: typeof Schema.Boolean;
1373
1481
  entries: Schema.Array$<Schema.Struct<{
@@ -1382,7 +1490,8 @@ declare const GitHubActionBuildResultSchema: Schema.Struct<{
1382
1490
  }>>;
1383
1491
  duration: typeof Schema.Number;
1384
1492
  error: Schema.optional<typeof Schema.String>;
1385
- }>>; /** Validation result if validation was performed. */
1493
+ }>>;
1494
+ /** Validation result if validation was performed. */
1386
1495
  validation: Schema.optional<Schema.Struct<{
1387
1496
  valid: typeof Schema.Boolean;
1388
1497
  errors: Schema.Array$<Schema.Struct<{
@@ -1397,7 +1506,8 @@ declare const GitHubActionBuildResultSchema: Schema.Struct<{
1397
1506
  file: Schema.optional<typeof Schema.String>;
1398
1507
  suggestion: Schema.optional<typeof Schema.String>;
1399
1508
  }>>;
1400
- }>>; /** Persist-local result if persist was performed. */
1509
+ }>>;
1510
+ /** Persist-local result if persist was performed. */
1401
1511
  persistLocal: Schema.optional<Schema.Struct<{
1402
1512
  success: typeof Schema.Boolean;
1403
1513
  filesCopied: typeof Schema.Number;
@@ -1405,8 +1515,10 @@ declare const GitHubActionBuildResultSchema: Schema.Struct<{
1405
1515
  actTemplateGenerated: typeof Schema.Boolean;
1406
1516
  outputPath: typeof Schema.String;
1407
1517
  error: Schema.optional<typeof Schema.String>;
1408
- }>>; /** Error message if the build or validation failed. */
1409
- error: Schema.optional<typeof Schema.String>; /** Raw error object for programmatic inspection. */
1518
+ }>>;
1519
+ /** Error message if the build or validation failed. */
1520
+ error: Schema.optional<typeof Schema.String>;
1521
+ /** Raw error object for programmatic inspection. */
1410
1522
  cause: Schema.optional<typeof Schema.Unknown>;
1411
1523
  }>;
1412
1524
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvy-web/github-action-builder",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "private": false,
5
5
  "description": "A zero-config build tool for creating GitHub Actions from TypeScript. Bundles with rsbuild, validates action.yml against GitHub's schema, and outputs production-ready Node.js 24 actions.",
6
6
  "keywords": [
@@ -56,24 +56,20 @@
56
56
  "@effect/rpc": "^0.75.1",
57
57
  "@effect/sql": "^0.51.1",
58
58
  "@effect/typeclass": "^0.40.0",
59
- "@rsbuild/core": "^2.1.1",
59
+ "@rsbuild/core": "^2.1.5",
60
60
  "effect": "^3.21.4",
61
61
  "jiti": "^2.7.0",
62
62
  "picocolors": "^1.1.1",
63
- "yaml-effect": "^0.7.0"
63
+ "yaml-effect": "^0.7.2"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "@types/node": "^26.1.0",
67
- "@typescript/native-preview": "^7.0.0-dev.20260612.1",
68
- "typescript": "^6.0.0"
67
+ "typescript": "^7.0.0"
69
68
  },
70
69
  "peerDependenciesMeta": {
71
70
  "@types/node": {
72
71
  "optional": false
73
72
  },
74
- "@typescript/native-preview": {
75
- "optional": false
76
- },
77
73
  "typescript": {
78
74
  "optional": false
79
75
  }
package/schemas/config.js CHANGED
@@ -19,8 +19,8 @@ import { Schema } from "effect";
19
19
  * - `pre`: Runs before the main action (optional)
20
20
  * - `post`: Runs after the main action for cleanup (optional)
21
21
  *
22
- * Additional non-lifecycle bundles can be declared via `workers` (name source path),
23
- * each emitted as `dist/<name>.js`.
22
+ * Additional non-lifecycle bundles can be declared via `workers` (name -\> source path),
23
+ * each emitted as `dist/\{name\}.js`.
24
24
  *
25
25
  * @public
26
26
  */
@@ -31,7 +31,7 @@ const EntriesSchema = Schema.Struct({
31
31
  pre: Schema.optional(Schema.String),
32
32
  /** Path to the post-action hook entry point. */
33
33
  post: Schema.optional(Schema.String),
34
- /** Extra non-lifecycle worker bundles (name -> source path), each emitted as dist/<name>.js. */
34
+ /** Extra non-lifecycle worker bundles (name -\> source path), each emitted as dist/\{name\}.js. */
35
35
  workers: Schema.optional(Schema.Record({
36
36
  key: Schema.String,
37
37
  value: Schema.String