@savvy-web/github-action-builder 0.7.10 → 0.7.12
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/github-action-builder.js +1 -1
- package/cli/commands/init.js +1 -1
- package/errors.js +15 -15
- package/github-action.js +4 -4
- package/index.d.ts +39 -39
- package/package.json +6 -6
- package/schemas/config.js +6 -6
- package/services/build.js +4 -4
- package/services/config.js +3 -3
- package/services/persist-local.js +2 -2
- package/services/validation.js +5 -5
- package/bin/github-action-builder.d.ts +0 -1
|
@@ -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: "0.7.
|
|
29
|
+
version: "0.7.12"
|
|
30
30
|
});
|
|
31
31
|
/**
|
|
32
32
|
* Combined layer: AppLayer + NodeContext for CLI.
|
package/cli/commands/init.js
CHANGED
|
@@ -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 "0.7.
|
|
23
|
+
return "0.7.12";
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* Generate package.json content.
|
package/errors.js
CHANGED
|
@@ -32,7 +32,7 @@ import { Data } from "effect";
|
|
|
32
32
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
33
33
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
34
34
|
*
|
|
35
|
-
* @
|
|
35
|
+
* @public
|
|
36
36
|
*/
|
|
37
37
|
const ConfigNotFoundBase = Data.TaggedError("ConfigNotFound");
|
|
38
38
|
/**
|
|
@@ -49,7 +49,7 @@ var ConfigNotFound = class extends ConfigNotFoundBase {};
|
|
|
49
49
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
50
50
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
51
51
|
*
|
|
52
|
-
* @
|
|
52
|
+
* @public
|
|
53
53
|
*/
|
|
54
54
|
const ConfigInvalidBase = Data.TaggedError("ConfigInvalid");
|
|
55
55
|
/**
|
|
@@ -66,7 +66,7 @@ var ConfigInvalid = class extends ConfigInvalidBase {};
|
|
|
66
66
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
67
67
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
68
68
|
*
|
|
69
|
-
* @
|
|
69
|
+
* @public
|
|
70
70
|
*/
|
|
71
71
|
const ConfigLoadFailedBase = Data.TaggedError("ConfigLoadFailed");
|
|
72
72
|
/**
|
|
@@ -83,7 +83,7 @@ var ConfigLoadFailed = class extends ConfigLoadFailedBase {};
|
|
|
83
83
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
84
84
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
85
85
|
*
|
|
86
|
-
* @
|
|
86
|
+
* @public
|
|
87
87
|
*/
|
|
88
88
|
const MainEntryMissingBase = Data.TaggedError("MainEntryMissing");
|
|
89
89
|
/**
|
|
@@ -100,7 +100,7 @@ var MainEntryMissing = class extends MainEntryMissingBase {};
|
|
|
100
100
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
101
101
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
102
102
|
*
|
|
103
|
-
* @
|
|
103
|
+
* @public
|
|
104
104
|
*/
|
|
105
105
|
const EntryFileMissingBase = Data.TaggedError("EntryFileMissing");
|
|
106
106
|
/**
|
|
@@ -117,7 +117,7 @@ var EntryFileMissing = class extends EntryFileMissingBase {};
|
|
|
117
117
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
118
118
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
119
119
|
*
|
|
120
|
-
* @
|
|
120
|
+
* @public
|
|
121
121
|
*/
|
|
122
122
|
const ActionYmlMissingBase = Data.TaggedError("ActionYmlMissing");
|
|
123
123
|
/**
|
|
@@ -134,7 +134,7 @@ var ActionYmlMissing = class extends ActionYmlMissingBase {};
|
|
|
134
134
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
135
135
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
136
136
|
*
|
|
137
|
-
* @
|
|
137
|
+
* @public
|
|
138
138
|
*/
|
|
139
139
|
const ActionYmlSyntaxErrorBase = Data.TaggedError("ActionYmlSyntaxError");
|
|
140
140
|
/**
|
|
@@ -151,7 +151,7 @@ var ActionYmlSyntaxError = class extends ActionYmlSyntaxErrorBase {};
|
|
|
151
151
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
152
152
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
153
153
|
*
|
|
154
|
-
* @
|
|
154
|
+
* @public
|
|
155
155
|
*/
|
|
156
156
|
const ActionYmlSchemaErrorBase = Data.TaggedError("ActionYmlSchemaError");
|
|
157
157
|
/**
|
|
@@ -168,7 +168,7 @@ var ActionYmlSchemaError = class extends ActionYmlSchemaErrorBase {};
|
|
|
168
168
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
169
169
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
170
170
|
*
|
|
171
|
-
* @
|
|
171
|
+
* @public
|
|
172
172
|
*/
|
|
173
173
|
const ValidationFailedBase = Data.TaggedError("ValidationFailed");
|
|
174
174
|
/**
|
|
@@ -185,7 +185,7 @@ var ValidationFailed = class extends ValidationFailedBase {};
|
|
|
185
185
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
186
186
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
187
187
|
*
|
|
188
|
-
* @
|
|
188
|
+
* @public
|
|
189
189
|
*/
|
|
190
190
|
const BundleFailedBase = Data.TaggedError("BundleFailed");
|
|
191
191
|
/**
|
|
@@ -202,7 +202,7 @@ var BundleFailed = class extends BundleFailedBase {};
|
|
|
202
202
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
203
203
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
204
204
|
*
|
|
205
|
-
* @
|
|
205
|
+
* @public
|
|
206
206
|
*/
|
|
207
207
|
const WriteErrorBase = Data.TaggedError("WriteError");
|
|
208
208
|
/**
|
|
@@ -219,7 +219,7 @@ var WriteError = class extends WriteErrorBase {};
|
|
|
219
219
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
220
220
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
221
221
|
*
|
|
222
|
-
* @
|
|
222
|
+
* @public
|
|
223
223
|
*/
|
|
224
224
|
const CleanErrorBase = Data.TaggedError("CleanError");
|
|
225
225
|
/**
|
|
@@ -236,7 +236,7 @@ var CleanError = class extends CleanErrorBase {};
|
|
|
236
236
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
237
237
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
238
238
|
*
|
|
239
|
-
* @
|
|
239
|
+
* @public
|
|
240
240
|
*/
|
|
241
241
|
const BuildFailedBase = Data.TaggedError("BuildFailed");
|
|
242
242
|
/**
|
|
@@ -253,7 +253,7 @@ var BuildFailed = class extends BuildFailedBase {};
|
|
|
253
253
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
254
254
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
255
255
|
*
|
|
256
|
-
* @
|
|
256
|
+
* @public
|
|
257
257
|
*/
|
|
258
258
|
const PersistLocalErrorBase = Data.TaggedError("PersistLocalError");
|
|
259
259
|
/**
|
|
@@ -270,7 +270,7 @@ var PersistLocalError = class extends PersistLocalErrorBase {};
|
|
|
270
270
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
271
271
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
272
272
|
*
|
|
273
|
-
* @
|
|
273
|
+
* @public
|
|
274
274
|
*/
|
|
275
275
|
const ActionYmlPathErrorBase = Data.TaggedError("ActionYmlPathError");
|
|
276
276
|
/**
|
package/github-action.js
CHANGED
|
@@ -15,7 +15,7 @@ import { Effect, ManagedRuntime, Schema } from "effect";
|
|
|
15
15
|
* Check the `success` property first, then examine `error`, `validation`, or `build`
|
|
16
16
|
* for details.
|
|
17
17
|
*
|
|
18
|
-
* @
|
|
18
|
+
* @public
|
|
19
19
|
*/
|
|
20
20
|
const GitHubActionBuildResultSchema = Schema.Struct({
|
|
21
21
|
/** Whether the build completed successfully. */
|
|
@@ -39,9 +39,9 @@ const GitHubActionBuildResultSchema = Schema.Struct({
|
|
|
39
39
|
* It handles configuration loading, validation, and bundling in a single workflow.
|
|
40
40
|
*
|
|
41
41
|
* For Effect consumers, use the services directly:
|
|
42
|
-
* - {@link ConfigService} for configuration
|
|
43
|
-
* - {@link ValidationService} for validation
|
|
44
|
-
* - {@link BuildService} for building
|
|
42
|
+
* - {@link (ConfigService:interface)} for configuration
|
|
43
|
+
* - {@link (ValidationService:interface)} for validation
|
|
44
|
+
* - {@link (BuildService:interface)} for building
|
|
45
45
|
*
|
|
46
46
|
* @example Complete build workflow
|
|
47
47
|
* ```typescript
|
package/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { Context, Effect, Layer, Schema } from "effect";
|
|
|
10
10
|
* - `pre`: Runs before the main action (optional)
|
|
11
11
|
* - `post`: Runs after the main action for cleanup (optional)
|
|
12
12
|
*
|
|
13
|
-
* @
|
|
13
|
+
* @public
|
|
14
14
|
*/
|
|
15
15
|
declare const EntriesSchema: Schema.Struct<{
|
|
16
16
|
/** Path to the main action entry point. Defaults to "src/main.ts". */main: Schema.optionalWith<typeof Schema.String, {
|
|
@@ -32,7 +32,7 @@ type Entries = typeof EntriesSchema.Type;
|
|
|
32
32
|
* Build options control how the TypeScript source is bundled using rsbuild.
|
|
33
33
|
* The bundler creates a single JavaScript file with all dependencies inlined.
|
|
34
34
|
*
|
|
35
|
-
* @
|
|
35
|
+
* @public
|
|
36
36
|
*/
|
|
37
37
|
declare const BuildOptionsSchema: Schema.Struct<{
|
|
38
38
|
/** Enable minification to reduce bundle size. Defaults to true. */minify: Schema.optionalWith<typeof Schema.Boolean, {
|
|
@@ -61,7 +61,7 @@ type BuildOptions = typeof BuildOptionsSchema.Type;
|
|
|
61
61
|
* Validation options control how strictly the build process validates
|
|
62
62
|
* the project structure and configuration before building.
|
|
63
63
|
*
|
|
64
|
-
* @
|
|
64
|
+
* @public
|
|
65
65
|
*/
|
|
66
66
|
declare const ValidationOptionsSchema: Schema.Struct<{
|
|
67
67
|
/** Require action.yml to exist and be valid. Defaults to true. */requireActionYml: Schema.optionalWith<typeof Schema.Boolean, {
|
|
@@ -83,7 +83,7 @@ type ValidationOptions = typeof ValidationOptionsSchema.Type;
|
|
|
83
83
|
* Controls automatic copying of build output to a local action directory
|
|
84
84
|
* for testing with nektos/act.
|
|
85
85
|
*
|
|
86
|
-
* @
|
|
86
|
+
* @public
|
|
87
87
|
*/
|
|
88
88
|
declare const PersistLocalOptionsSchema: Schema.Struct<{
|
|
89
89
|
/** Enable persisting build output locally. Defaults to true. */enabled: Schema.optionalWith<typeof Schema.Boolean, {
|
|
@@ -109,7 +109,7 @@ type PersistLocalOptions = typeof PersistLocalOptionsSchema.Type;
|
|
|
109
109
|
* This schema is used for parsing user-provided configuration.
|
|
110
110
|
* All sections are optional; defaults are applied via {@link defineConfig}.
|
|
111
111
|
*
|
|
112
|
-
* @
|
|
112
|
+
* @public
|
|
113
113
|
*/
|
|
114
114
|
declare const ConfigInputSchema: Schema.Struct<{
|
|
115
115
|
entries: Schema.optional<Schema.Struct<{
|
|
@@ -147,7 +147,7 @@ type ConfigInput = typeof ConfigInputSchema.Type;
|
|
|
147
147
|
/**
|
|
148
148
|
* Fully resolved configuration with all defaults applied.
|
|
149
149
|
*
|
|
150
|
-
* @
|
|
150
|
+
* @public
|
|
151
151
|
*/
|
|
152
152
|
declare const ConfigSchema: Schema.Struct<{
|
|
153
153
|
entries: Schema.Struct<{
|
|
@@ -263,7 +263,7 @@ declare function defineConfig(config?: Partial<ConfigInput>): Config;
|
|
|
263
263
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
264
264
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
265
265
|
*
|
|
266
|
-
* @
|
|
266
|
+
* @public
|
|
267
267
|
*/
|
|
268
268
|
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 & {
|
|
269
269
|
readonly _tag: "ConfigNotFound";
|
|
@@ -291,7 +291,7 @@ declare class ConfigNotFound extends ConfigNotFoundBase<{
|
|
|
291
291
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
292
292
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
293
293
|
*
|
|
294
|
-
* @
|
|
294
|
+
* @public
|
|
295
295
|
*/
|
|
296
296
|
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 & {
|
|
297
297
|
readonly _tag: "ConfigInvalid";
|
|
@@ -319,7 +319,7 @@ declare class ConfigInvalid extends ConfigInvalidBase<{
|
|
|
319
319
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
320
320
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
321
321
|
*
|
|
322
|
-
* @
|
|
322
|
+
* @public
|
|
323
323
|
*/
|
|
324
324
|
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 & {
|
|
325
325
|
readonly _tag: "ConfigLoadFailed";
|
|
@@ -353,7 +353,7 @@ type ConfigError = ConfigNotFound | ConfigInvalid | ConfigLoadFailed;
|
|
|
353
353
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
354
354
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
355
355
|
*
|
|
356
|
-
* @
|
|
356
|
+
* @public
|
|
357
357
|
*/
|
|
358
358
|
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 & {
|
|
359
359
|
readonly _tag: "MainEntryMissing";
|
|
@@ -381,7 +381,7 @@ declare class MainEntryMissing extends MainEntryMissingBase<{
|
|
|
381
381
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
382
382
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
383
383
|
*
|
|
384
|
-
* @
|
|
384
|
+
* @public
|
|
385
385
|
*/
|
|
386
386
|
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 & {
|
|
387
387
|
readonly _tag: "EntryFileMissing";
|
|
@@ -409,7 +409,7 @@ declare class EntryFileMissing extends EntryFileMissingBase<{
|
|
|
409
409
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
410
410
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
411
411
|
*
|
|
412
|
-
* @
|
|
412
|
+
* @public
|
|
413
413
|
*/
|
|
414
414
|
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 & {
|
|
415
415
|
readonly _tag: "ActionYmlMissing";
|
|
@@ -433,7 +433,7 @@ declare class ActionYmlMissing extends ActionYmlMissingBase<{
|
|
|
433
433
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
434
434
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
435
435
|
*
|
|
436
|
-
* @
|
|
436
|
+
* @public
|
|
437
437
|
*/
|
|
438
438
|
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 & {
|
|
439
439
|
readonly _tag: "ActionYmlSyntaxError";
|
|
@@ -469,7 +469,7 @@ declare class ActionYmlSyntaxError extends ActionYmlSyntaxErrorBase<{
|
|
|
469
469
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
470
470
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
471
471
|
*
|
|
472
|
-
* @
|
|
472
|
+
* @public
|
|
473
473
|
*/
|
|
474
474
|
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 & {
|
|
475
475
|
readonly _tag: "ActionYmlSchemaError";
|
|
@@ -500,7 +500,7 @@ declare class ActionYmlSchemaError extends ActionYmlSchemaErrorBase<{
|
|
|
500
500
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
501
501
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
502
502
|
*
|
|
503
|
-
* @
|
|
503
|
+
* @public
|
|
504
504
|
*/
|
|
505
505
|
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 & {
|
|
506
506
|
readonly _tag: "ValidationFailed";
|
|
@@ -538,7 +538,7 @@ type ValidationError = MainEntryMissing | EntryFileMissing | ActionYmlMissing |
|
|
|
538
538
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
539
539
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
540
540
|
*
|
|
541
|
-
* @
|
|
541
|
+
* @public
|
|
542
542
|
*/
|
|
543
543
|
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 & {
|
|
544
544
|
readonly _tag: "BundleFailed";
|
|
@@ -566,7 +566,7 @@ declare class BundleFailed extends BundleFailedBase<{
|
|
|
566
566
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
567
567
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
568
568
|
*
|
|
569
|
-
* @
|
|
569
|
+
* @public
|
|
570
570
|
*/
|
|
571
571
|
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 & {
|
|
572
572
|
readonly _tag: "WriteError";
|
|
@@ -594,7 +594,7 @@ declare class WriteError extends WriteErrorBase<{
|
|
|
594
594
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
595
595
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
596
596
|
*
|
|
597
|
-
* @
|
|
597
|
+
* @public
|
|
598
598
|
*/
|
|
599
599
|
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 & {
|
|
600
600
|
readonly _tag: "CleanError";
|
|
@@ -622,7 +622,7 @@ declare class CleanError extends CleanErrorBase<{
|
|
|
622
622
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
623
623
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
624
624
|
*
|
|
625
|
-
* @
|
|
625
|
+
* @public
|
|
626
626
|
*/
|
|
627
627
|
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 & {
|
|
628
628
|
readonly _tag: "BuildFailed";
|
|
@@ -656,7 +656,7 @@ type BuildError = BundleFailed | WriteError | CleanError | BuildFailed;
|
|
|
656
656
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
657
657
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
658
658
|
*
|
|
659
|
-
* @
|
|
659
|
+
* @public
|
|
660
660
|
*/
|
|
661
661
|
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 & {
|
|
662
662
|
readonly _tag: "PersistLocalError";
|
|
@@ -684,7 +684,7 @@ declare class PersistLocalError extends PersistLocalErrorBase<{
|
|
|
684
684
|
* Effect's Data.TaggedError creates an anonymous base class that must be
|
|
685
685
|
* explicitly exported to avoid "forgotten export" warnings. Do not delete.
|
|
686
686
|
*
|
|
687
|
-
* @
|
|
687
|
+
* @public
|
|
688
688
|
*/
|
|
689
689
|
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 & {
|
|
690
690
|
readonly _tag: "ActionYmlPathError";
|
|
@@ -724,7 +724,7 @@ type AppError = ConfigError | ValidationError | BuildError | PersistError;
|
|
|
724
724
|
//#region src/services/config.d.ts
|
|
725
725
|
/**
|
|
726
726
|
* Options for loading configuration.
|
|
727
|
-
* @
|
|
727
|
+
* @public
|
|
728
728
|
*/
|
|
729
729
|
declare const LoadConfigOptionsSchema: Schema.Struct<{
|
|
730
730
|
/** 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. */
|
|
@@ -737,7 +737,7 @@ declare const LoadConfigOptionsSchema: Schema.Struct<{
|
|
|
737
737
|
type LoadConfigOptions = typeof LoadConfigOptionsSchema.Type;
|
|
738
738
|
/**
|
|
739
739
|
* Detected entry point information.
|
|
740
|
-
* @
|
|
740
|
+
* @public
|
|
741
741
|
*/
|
|
742
742
|
declare const DetectedEntrySchema: Schema.Struct<{
|
|
743
743
|
/** Entry type (main, pre, or post). */type: Schema.Literal<["main", "pre", "post"]>; /** Absolute path to the entry file. */
|
|
@@ -751,7 +751,7 @@ declare const DetectedEntrySchema: Schema.Struct<{
|
|
|
751
751
|
type DetectedEntry = typeof DetectedEntrySchema.Type;
|
|
752
752
|
/**
|
|
753
753
|
* Result of entry detection.
|
|
754
|
-
* @
|
|
754
|
+
* @public
|
|
755
755
|
*/
|
|
756
756
|
declare const DetectEntriesResultSchema: Schema.Struct<{
|
|
757
757
|
/** Whether detection was successful. */success: typeof Schema.Boolean; /** Detected entries. */
|
|
@@ -841,7 +841,7 @@ declare const ConfigService: Context.Tag<ConfigService, ConfigService>;
|
|
|
841
841
|
//#region src/services/build.d.ts
|
|
842
842
|
/**
|
|
843
843
|
* Options for the build process.
|
|
844
|
-
* @
|
|
844
|
+
* @public
|
|
845
845
|
*/
|
|
846
846
|
declare const BuildRunnerOptionsSchema: Schema.Struct<{
|
|
847
847
|
/** 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. */
|
|
@@ -854,7 +854,7 @@ declare const BuildRunnerOptionsSchema: Schema.Struct<{
|
|
|
854
854
|
type BuildRunnerOptions = typeof BuildRunnerOptionsSchema.Type;
|
|
855
855
|
/**
|
|
856
856
|
* Statistics for a single bundled entry.
|
|
857
|
-
* @
|
|
857
|
+
* @public
|
|
858
858
|
*/
|
|
859
859
|
declare const BundleStatsSchema: Schema.Struct<{
|
|
860
860
|
/** Entry type (main, pre, or post). */entry: typeof Schema.String; /** Bundle size in bytes. */
|
|
@@ -869,7 +869,7 @@ declare const BundleStatsSchema: Schema.Struct<{
|
|
|
869
869
|
type BundleStats = typeof BundleStatsSchema.Type;
|
|
870
870
|
/**
|
|
871
871
|
* Result of bundling a single entry.
|
|
872
|
-
* @
|
|
872
|
+
* @public
|
|
873
873
|
*/
|
|
874
874
|
declare const BundleResultSchema: Schema.Struct<{
|
|
875
875
|
/** Whether bundling succeeded. */success: typeof Schema.Boolean; /** Bundle statistics if successful. */
|
|
@@ -888,7 +888,7 @@ declare const BundleResultSchema: Schema.Struct<{
|
|
|
888
888
|
type BundleResult = typeof BundleResultSchema.Type;
|
|
889
889
|
/**
|
|
890
890
|
* Result of the complete build process.
|
|
891
|
-
* @
|
|
891
|
+
* @public
|
|
892
892
|
*/
|
|
893
893
|
declare const BuildResultSchema: Schema.Struct<{
|
|
894
894
|
/** Whether the overall build succeeded. */success: typeof Schema.Boolean; /** Results for each entry that was built. */
|
|
@@ -991,7 +991,7 @@ declare const BuildService: Context.Tag<BuildService, BuildService>;
|
|
|
991
991
|
//#region src/services/persist-local.d.ts
|
|
992
992
|
/**
|
|
993
993
|
* Options for the persist operation.
|
|
994
|
-
* @
|
|
994
|
+
* @public
|
|
995
995
|
*/
|
|
996
996
|
declare const PersistLocalRunnerOptionsSchema: Schema.Struct<{
|
|
997
997
|
/** Working directory. Accepts string. */cwd: Schema.optional<typeof Schema.String>;
|
|
@@ -1003,7 +1003,7 @@ declare const PersistLocalRunnerOptionsSchema: Schema.Struct<{
|
|
|
1003
1003
|
type PersistLocalRunnerOptions = typeof PersistLocalRunnerOptionsSchema.Type;
|
|
1004
1004
|
/**
|
|
1005
1005
|
* Result of the persist-local operation.
|
|
1006
|
-
* @
|
|
1006
|
+
* @public
|
|
1007
1007
|
*/
|
|
1008
1008
|
declare const PersistLocalResultSchema: Schema.Struct<{
|
|
1009
1009
|
/** Whether the operation completed successfully. */success: typeof Schema.Boolean; /** Number of files copied (changed or new). */
|
|
@@ -1058,7 +1058,7 @@ declare const PersistLocalService: Context.Tag<PersistLocalService, PersistLocal
|
|
|
1058
1058
|
//#region src/services/validation.d.ts
|
|
1059
1059
|
/**
|
|
1060
1060
|
* Options for validation.
|
|
1061
|
-
* @
|
|
1061
|
+
* @public
|
|
1062
1062
|
*/
|
|
1063
1063
|
declare const ValidateOptionsSchema: Schema.Struct<{
|
|
1064
1064
|
/** 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. */
|
|
@@ -1071,7 +1071,7 @@ declare const ValidateOptionsSchema: Schema.Struct<{
|
|
|
1071
1071
|
type ValidateOptions = typeof ValidateOptionsSchema.Type;
|
|
1072
1072
|
/**
|
|
1073
1073
|
* A validation error item.
|
|
1074
|
-
* @
|
|
1074
|
+
* @public
|
|
1075
1075
|
*/
|
|
1076
1076
|
declare const ValidationErrorSchema: Schema.Struct<{
|
|
1077
1077
|
/** Error code for categorization. */code: typeof Schema.String; /** Human-readable error message. */
|
|
@@ -1086,7 +1086,7 @@ declare const ValidationErrorSchema: Schema.Struct<{
|
|
|
1086
1086
|
type ValidationErrorItem = typeof ValidationErrorSchema.Type;
|
|
1087
1087
|
/**
|
|
1088
1088
|
* A validation warning.
|
|
1089
|
-
* @
|
|
1089
|
+
* @public
|
|
1090
1090
|
*/
|
|
1091
1091
|
declare const ValidationWarningSchema: Schema.Struct<{
|
|
1092
1092
|
/** Warning code for categorization. */code: typeof Schema.String; /** Human-readable warning message. */
|
|
@@ -1101,7 +1101,7 @@ declare const ValidationWarningSchema: Schema.Struct<{
|
|
|
1101
1101
|
type ValidationWarning = typeof ValidationWarningSchema.Type;
|
|
1102
1102
|
/**
|
|
1103
1103
|
* Validation result with errors and warnings.
|
|
1104
|
-
* @
|
|
1104
|
+
* @public
|
|
1105
1105
|
*/
|
|
1106
1106
|
declare const ValidationResultSchema: Schema.Struct<{
|
|
1107
1107
|
/** Whether validation passed (no errors, or only warnings in non-strict mode). */valid: typeof Schema.Boolean; /** Validation errors. */
|
|
@@ -1125,7 +1125,7 @@ declare const ValidationResultSchema: Schema.Struct<{
|
|
|
1125
1125
|
type ValidationResult = typeof ValidationResultSchema.Type;
|
|
1126
1126
|
/**
|
|
1127
1127
|
* Result of action.yml validation.
|
|
1128
|
-
* @
|
|
1128
|
+
* @public
|
|
1129
1129
|
*/
|
|
1130
1130
|
declare const ActionYmlResultSchema: Schema.Struct<{
|
|
1131
1131
|
/** Whether the action.yml is valid. */valid: typeof Schema.Boolean; /** Parsed action.yml content if valid. */
|
|
@@ -1281,7 +1281,7 @@ interface GitHubActionOptions {
|
|
|
1281
1281
|
* Check the `success` property first, then examine `error`, `validation`, or `build`
|
|
1282
1282
|
* for details.
|
|
1283
1283
|
*
|
|
1284
|
-
* @
|
|
1284
|
+
* @public
|
|
1285
1285
|
*/
|
|
1286
1286
|
declare const GitHubActionBuildResultSchema: Schema.Struct<{
|
|
1287
1287
|
/** Whether the build completed successfully. */success: typeof Schema.Boolean; /** Build result details if the build step ran. */
|
|
@@ -1339,9 +1339,9 @@ type GitHubActionBuildResult = typeof GitHubActionBuildResultSchema.Type;
|
|
|
1339
1339
|
* It handles configuration loading, validation, and bundling in a single workflow.
|
|
1340
1340
|
*
|
|
1341
1341
|
* For Effect consumers, use the services directly:
|
|
1342
|
-
* - {@link ConfigService} for configuration
|
|
1343
|
-
* - {@link ValidationService} for validation
|
|
1344
|
-
* - {@link BuildService} for building
|
|
1342
|
+
* - {@link (ConfigService:interface)} for configuration
|
|
1343
|
+
* - {@link (ValidationService:interface)} for validation
|
|
1344
|
+
* - {@link (BuildService:interface)} for building
|
|
1345
1345
|
*
|
|
1346
1346
|
* @example Complete build workflow
|
|
1347
1347
|
* ```typescript
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@savvy-web/github-action-builder",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.12",
|
|
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": [
|
|
@@ -48,22 +48,22 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@effect/cli": "^0.75.2",
|
|
50
50
|
"@effect/cluster": "^0.59.0",
|
|
51
|
-
"@effect/platform": "^0.96.
|
|
51
|
+
"@effect/platform": "^0.96.2",
|
|
52
52
|
"@effect/platform-node": "^0.107.0",
|
|
53
53
|
"@effect/printer": "^0.49.0",
|
|
54
54
|
"@effect/printer-ansi": "^0.49.0",
|
|
55
55
|
"@effect/rpc": "^0.75.1",
|
|
56
56
|
"@effect/sql": "^0.51.1",
|
|
57
57
|
"@effect/typeclass": "^0.40.0",
|
|
58
|
-
"@rsbuild/core": "^2.0.
|
|
59
|
-
"effect": "^3.21.
|
|
58
|
+
"@rsbuild/core": "^2.0.15",
|
|
59
|
+
"effect": "^3.21.4",
|
|
60
60
|
"jiti": "^2.7.0",
|
|
61
61
|
"picocolors": "^1.1.1",
|
|
62
62
|
"yaml-effect": "^0.6.0"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
|
-
"@types/node": "^
|
|
66
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
65
|
+
"@types/node": "^26.0.0",
|
|
66
|
+
"@typescript/native-preview": "^7.0.0-dev.20260612.1",
|
|
67
67
|
"typescript": "^6.0.0"
|
|
68
68
|
},
|
|
69
69
|
"peerDependenciesMeta": {
|
package/schemas/config.js
CHANGED
|
@@ -19,7 +19,7 @@ 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
|
-
* @
|
|
22
|
+
* @public
|
|
23
23
|
*/
|
|
24
24
|
const EntriesSchema = Schema.Struct({
|
|
25
25
|
/** Path to the main action entry point. Defaults to "src/main.ts". */
|
|
@@ -36,7 +36,7 @@ const EntriesSchema = Schema.Struct({
|
|
|
36
36
|
* Build options control how the TypeScript source is bundled using rsbuild.
|
|
37
37
|
* The bundler creates a single JavaScript file with all dependencies inlined.
|
|
38
38
|
*
|
|
39
|
-
* @
|
|
39
|
+
* @public
|
|
40
40
|
*/
|
|
41
41
|
const BuildOptionsSchema = Schema.Struct({
|
|
42
42
|
/** Enable minification to reduce bundle size. Defaults to true. */
|
|
@@ -55,7 +55,7 @@ const BuildOptionsSchema = Schema.Struct({
|
|
|
55
55
|
* Validation options control how strictly the build process validates
|
|
56
56
|
* the project structure and configuration before building.
|
|
57
57
|
*
|
|
58
|
-
* @
|
|
58
|
+
* @public
|
|
59
59
|
*/
|
|
60
60
|
const ValidationOptionsSchema = Schema.Struct({
|
|
61
61
|
/** Require action.yml to exist and be valid. Defaults to true. */
|
|
@@ -72,7 +72,7 @@ const ValidationOptionsSchema = Schema.Struct({
|
|
|
72
72
|
* Controls automatic copying of build output to a local action directory
|
|
73
73
|
* for testing with nektos/act.
|
|
74
74
|
*
|
|
75
|
-
* @
|
|
75
|
+
* @public
|
|
76
76
|
*/
|
|
77
77
|
const PersistLocalOptionsSchema = Schema.Struct({
|
|
78
78
|
/** Enable persisting build output locally. Defaults to true. */
|
|
@@ -89,7 +89,7 @@ const PersistLocalOptionsSchema = Schema.Struct({
|
|
|
89
89
|
* This schema is used for parsing user-provided configuration.
|
|
90
90
|
* All sections are optional; defaults are applied via {@link defineConfig}.
|
|
91
91
|
*
|
|
92
|
-
* @
|
|
92
|
+
* @public
|
|
93
93
|
*/
|
|
94
94
|
const ConfigInputSchema = Schema.Struct({
|
|
95
95
|
entries: Schema.optional(Schema.Struct({
|
|
@@ -117,7 +117,7 @@ const ConfigInputSchema = Schema.Struct({
|
|
|
117
117
|
/**
|
|
118
118
|
* Fully resolved configuration with all defaults applied.
|
|
119
119
|
*
|
|
120
|
-
* @
|
|
120
|
+
* @public
|
|
121
121
|
*/
|
|
122
122
|
const ConfigSchema = Schema.Struct({
|
|
123
123
|
entries: EntriesSchema,
|
package/services/build.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Context, Schema } from "effect";
|
|
|
4
4
|
//#region src/services/build.ts
|
|
5
5
|
/**
|
|
6
6
|
* Options for the build process.
|
|
7
|
-
* @
|
|
7
|
+
* @public
|
|
8
8
|
*/
|
|
9
9
|
const BuildRunnerOptionsSchema = Schema.Struct({
|
|
10
10
|
/** Working directory for the build. Accepts string, Buffer, or URL. */
|
|
@@ -14,7 +14,7 @@ const BuildRunnerOptionsSchema = Schema.Struct({
|
|
|
14
14
|
});
|
|
15
15
|
/**
|
|
16
16
|
* Statistics for a single bundled entry.
|
|
17
|
-
* @
|
|
17
|
+
* @public
|
|
18
18
|
*/
|
|
19
19
|
const BundleStatsSchema = Schema.Struct({
|
|
20
20
|
/** Entry type (main, pre, or post). */
|
|
@@ -28,7 +28,7 @@ const BundleStatsSchema = Schema.Struct({
|
|
|
28
28
|
});
|
|
29
29
|
/**
|
|
30
30
|
* Result of bundling a single entry.
|
|
31
|
-
* @
|
|
31
|
+
* @public
|
|
32
32
|
*/
|
|
33
33
|
const BundleResultSchema = Schema.Struct({
|
|
34
34
|
/** Whether bundling succeeded. */
|
|
@@ -40,7 +40,7 @@ const BundleResultSchema = Schema.Struct({
|
|
|
40
40
|
});
|
|
41
41
|
/**
|
|
42
42
|
* Result of the complete build process.
|
|
43
|
-
* @
|
|
43
|
+
* @public
|
|
44
44
|
*/
|
|
45
45
|
const BuildResultSchema = Schema.Struct({
|
|
46
46
|
/** Whether the overall build succeeded. */
|
package/services/config.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Context, Schema } from "effect";
|
|
|
5
5
|
//#region src/services/config.ts
|
|
6
6
|
/**
|
|
7
7
|
* Options for loading configuration.
|
|
8
|
-
* @
|
|
8
|
+
* @public
|
|
9
9
|
*/
|
|
10
10
|
const LoadConfigOptionsSchema = Schema.Struct({
|
|
11
11
|
/** Working directory to search for config. Accepts string, Buffer, or URL. */
|
|
@@ -20,7 +20,7 @@ const LoadConfigOptionsSchema = Schema.Struct({
|
|
|
20
20
|
const EntryTypeSchema = Schema.Literal("main", "pre", "post");
|
|
21
21
|
/**
|
|
22
22
|
* Detected entry point information.
|
|
23
|
-
* @
|
|
23
|
+
* @public
|
|
24
24
|
*/
|
|
25
25
|
const DetectedEntrySchema = Schema.Struct({
|
|
26
26
|
/** Entry type (main, pre, or post). */
|
|
@@ -32,7 +32,7 @@ const DetectedEntrySchema = Schema.Struct({
|
|
|
32
32
|
});
|
|
33
33
|
/**
|
|
34
34
|
* Result of entry detection.
|
|
35
|
-
* @
|
|
35
|
+
* @public
|
|
36
36
|
*/
|
|
37
37
|
const DetectEntriesResultSchema = Schema.Struct({
|
|
38
38
|
/** Whether detection was successful. */
|
|
@@ -3,14 +3,14 @@ import { Context, Schema } from "effect";
|
|
|
3
3
|
//#region src/services/persist-local.ts
|
|
4
4
|
/**
|
|
5
5
|
* Options for the persist operation.
|
|
6
|
-
* @
|
|
6
|
+
* @public
|
|
7
7
|
*/
|
|
8
8
|
const PersistLocalRunnerOptionsSchema = Schema.Struct({
|
|
9
9
|
/** Working directory. Accepts string. */
|
|
10
10
|
cwd: Schema.optional(Schema.String) });
|
|
11
11
|
/**
|
|
12
12
|
* Result of the persist-local operation.
|
|
13
|
-
* @
|
|
13
|
+
* @public
|
|
14
14
|
*/
|
|
15
15
|
const PersistLocalResultSchema = Schema.Struct({
|
|
16
16
|
/** Whether the operation completed successfully. */
|
package/services/validation.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Context, Schema } from "effect";
|
|
|
4
4
|
//#region src/services/validation.ts
|
|
5
5
|
/**
|
|
6
6
|
* Options for validation.
|
|
7
|
-
* @
|
|
7
|
+
* @public
|
|
8
8
|
*/
|
|
9
9
|
const ValidateOptionsSchema = Schema.Struct({
|
|
10
10
|
/** Working directory for file operations. Accepts string, Buffer, or URL. */
|
|
@@ -14,7 +14,7 @@ const ValidateOptionsSchema = Schema.Struct({
|
|
|
14
14
|
});
|
|
15
15
|
/**
|
|
16
16
|
* A validation error item.
|
|
17
|
-
* @
|
|
17
|
+
* @public
|
|
18
18
|
*/
|
|
19
19
|
const ValidationErrorSchema = Schema.Struct({
|
|
20
20
|
/** Error code for categorization. */
|
|
@@ -28,7 +28,7 @@ const ValidationErrorSchema = Schema.Struct({
|
|
|
28
28
|
});
|
|
29
29
|
/**
|
|
30
30
|
* A validation warning.
|
|
31
|
-
* @
|
|
31
|
+
* @public
|
|
32
32
|
*/
|
|
33
33
|
const ValidationWarningSchema = Schema.Struct({
|
|
34
34
|
/** Warning code for categorization. */
|
|
@@ -42,7 +42,7 @@ const ValidationWarningSchema = Schema.Struct({
|
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
44
44
|
* Validation result with errors and warnings.
|
|
45
|
-
* @
|
|
45
|
+
* @public
|
|
46
46
|
*/
|
|
47
47
|
const ValidationResultSchema = Schema.Struct({
|
|
48
48
|
/** Whether validation passed (no errors, or only warnings in non-strict mode). */
|
|
@@ -54,7 +54,7 @@ const ValidationResultSchema = Schema.Struct({
|
|
|
54
54
|
});
|
|
55
55
|
/**
|
|
56
56
|
* Result of action.yml validation.
|
|
57
|
-
* @
|
|
57
|
+
* @public
|
|
58
58
|
*/
|
|
59
59
|
const ActionYmlResultSchema = Schema.Struct({
|
|
60
60
|
/** Whether the action.yml is valid. */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|