@expo/eas-build-job 1.0.126 → 1.0.128

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/generic.d.ts CHANGED
@@ -3,7 +3,7 @@ import { LoggerLevel } from '@expo/logger';
3
3
  import { BuildTrigger } from './common';
4
4
  export declare namespace Generic {
5
5
  type Job = z.infer<typeof JobZ>;
6
- const JobZ: z.ZodObject<{
6
+ const JobZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
7
7
  projectArchive: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
8
8
  type: z.ZodLiteral<import("./common").ArchiveSourceType.GIT>;
9
9
  repositoryUrl: z.ZodString;
@@ -50,6 +50,76 @@ export declare namespace Generic {
50
50
  bucketKey: string;
51
51
  metadataLocation?: string | undefined;
52
52
  }>]>;
53
+ secrets: z.ZodObject<{
54
+ robotAccessToken: z.ZodString;
55
+ environmentSecrets: z.ZodArray<z.ZodObject<{
56
+ name: z.ZodString;
57
+ value: z.ZodString;
58
+ type: z.ZodNativeEnum<typeof import("./common").EnvironmentSecretType>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ type: import("./common").EnvironmentSecretType;
61
+ value: string;
62
+ name: string;
63
+ }, {
64
+ type: import("./common").EnvironmentSecretType;
65
+ value: string;
66
+ name: string;
67
+ }>, "many">;
68
+ }, "strip", z.ZodTypeAny, {
69
+ environmentSecrets: {
70
+ type: import("./common").EnvironmentSecretType;
71
+ value: string;
72
+ name: string;
73
+ }[];
74
+ robotAccessToken: string;
75
+ }, {
76
+ environmentSecrets: {
77
+ type: import("./common").EnvironmentSecretType;
78
+ value: string;
79
+ name: string;
80
+ }[];
81
+ robotAccessToken: string;
82
+ }>;
83
+ expoDevUrl: z.ZodString;
84
+ builderEnvironment: z.ZodObject<{
85
+ image: z.ZodString;
86
+ node: z.ZodOptional<z.ZodString>;
87
+ yarn: z.ZodOptional<z.ZodString>;
88
+ pnpm: z.ZodOptional<z.ZodString>;
89
+ bun: z.ZodOptional<z.ZodString>;
90
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
91
+ ndk: z.ZodOptional<z.ZodString>;
92
+ bundler: z.ZodOptional<z.ZodString>;
93
+ fastlane: z.ZodOptional<z.ZodString>;
94
+ cocoapods: z.ZodOptional<z.ZodString>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ env: Record<string, string>;
97
+ image: string;
98
+ node?: string | undefined;
99
+ yarn?: string | undefined;
100
+ pnpm?: string | undefined;
101
+ bun?: string | undefined;
102
+ ndk?: string | undefined;
103
+ bundler?: string | undefined;
104
+ fastlane?: string | undefined;
105
+ cocoapods?: string | undefined;
106
+ }, {
107
+ env: Record<string, string>;
108
+ image: string;
109
+ node?: string | undefined;
110
+ yarn?: string | undefined;
111
+ pnpm?: string | undefined;
112
+ bun?: string | undefined;
113
+ ndk?: string | undefined;
114
+ bundler?: string | undefined;
115
+ fastlane?: string | undefined;
116
+ cocoapods?: string | undefined;
117
+ }>;
118
+ platform: z.ZodOptional<z.ZodNever>;
119
+ type: z.ZodOptional<z.ZodNever>;
120
+ triggeredBy: z.ZodLiteral<BuildTrigger.GIT_BASED_INTEGRATION>;
121
+ loggerLevel: z.ZodOptional<z.ZodNativeEnum<typeof LoggerLevel>>;
122
+ }, {
53
123
  customBuildConfig: z.ZodObject<{
54
124
  path: z.ZodString;
55
125
  }, "strip", z.ZodTypeAny, {
@@ -57,69 +127,146 @@ export declare namespace Generic {
57
127
  }, {
58
128
  path: string;
59
129
  }>;
60
- steps: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
61
- id: z.ZodOptional<z.ZodString>;
62
- if: z.ZodOptional<z.ZodString>;
63
- name: z.ZodOptional<z.ZodString>;
64
- working_directory: z.ZodOptional<z.ZodString>;
65
- env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
130
+ steps: z.ZodOptional<z.ZodNever>;
131
+ }>, "strip", z.ZodTypeAny, {
132
+ builderEnvironment: {
133
+ env: Record<string, string>;
134
+ image: string;
135
+ node?: string | undefined;
136
+ yarn?: string | undefined;
137
+ pnpm?: string | undefined;
138
+ bun?: string | undefined;
139
+ ndk?: string | undefined;
140
+ bundler?: string | undefined;
141
+ fastlane?: string | undefined;
142
+ cocoapods?: string | undefined;
143
+ };
144
+ triggeredBy: BuildTrigger.GIT_BASED_INTEGRATION;
145
+ projectArchive: {
146
+ type: import("./common").ArchiveSourceType.GIT;
147
+ repositoryUrl: string;
148
+ gitRef: string | null;
149
+ gitCommitHash: string;
150
+ } | {
151
+ type: import("./common").ArchiveSourceType.PATH;
152
+ path: string;
153
+ } | {
154
+ type: import("./common").ArchiveSourceType.URL;
155
+ url: string;
156
+ } | {
157
+ type: import("./common").ArchiveSourceType.GCS;
158
+ bucketKey: string;
159
+ metadataLocation?: string | undefined;
160
+ };
161
+ secrets: {
162
+ environmentSecrets: {
163
+ type: import("./common").EnvironmentSecretType;
164
+ value: string;
165
+ name: string;
166
+ }[];
167
+ robotAccessToken: string;
168
+ };
169
+ customBuildConfig: {
170
+ path: string;
171
+ };
172
+ expoDevUrl: string;
173
+ type?: undefined;
174
+ platform?: undefined;
175
+ loggerLevel?: LoggerLevel | undefined;
176
+ steps?: undefined;
177
+ }, {
178
+ builderEnvironment: {
179
+ env: Record<string, string>;
180
+ image: string;
181
+ node?: string | undefined;
182
+ yarn?: string | undefined;
183
+ pnpm?: string | undefined;
184
+ bun?: string | undefined;
185
+ ndk?: string | undefined;
186
+ bundler?: string | undefined;
187
+ fastlane?: string | undefined;
188
+ cocoapods?: string | undefined;
189
+ };
190
+ triggeredBy: BuildTrigger.GIT_BASED_INTEGRATION;
191
+ projectArchive: {
192
+ type: import("./common").ArchiveSourceType.GIT;
193
+ repositoryUrl: string;
194
+ gitRef: string | null;
195
+ gitCommitHash: string;
196
+ } | {
197
+ type: import("./common").ArchiveSourceType.PATH;
198
+ path: string;
199
+ } | {
200
+ type: import("./common").ArchiveSourceType.URL;
201
+ url: string;
202
+ } | {
203
+ type: import("./common").ArchiveSourceType.GCS;
204
+ bucketKey: string;
205
+ metadataLocation?: string | undefined;
206
+ };
207
+ secrets: {
208
+ environmentSecrets: {
209
+ type: import("./common").EnvironmentSecretType;
210
+ value: string;
211
+ name: string;
212
+ }[];
213
+ robotAccessToken: string;
214
+ };
215
+ customBuildConfig: {
216
+ path: string;
217
+ };
218
+ expoDevUrl: string;
219
+ type?: undefined;
220
+ platform?: undefined;
221
+ loggerLevel?: LoggerLevel | undefined;
222
+ steps?: undefined;
223
+ }>, z.ZodObject<z.objectUtil.extendShape<{
224
+ projectArchive: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
225
+ type: z.ZodLiteral<import("./common").ArchiveSourceType.GIT>;
226
+ repositoryUrl: z.ZodString;
227
+ gitRef: z.ZodNullable<z.ZodString>;
228
+ gitCommitHash: z.ZodString;
229
+ }, "strip", z.ZodTypeAny, {
230
+ type: import("./common").ArchiveSourceType.GIT;
231
+ repositoryUrl: string;
232
+ gitRef: string | null;
233
+ gitCommitHash: string;
66
234
  }, {
67
- run: z.ZodString;
68
- shell: z.ZodOptional<z.ZodString>;
69
- uses: z.ZodOptional<z.ZodNever>;
70
- with: z.ZodOptional<z.ZodNever>;
71
- }>, "strip", z.ZodTypeAny, {
72
- run: string;
73
- name?: string | undefined;
74
- env?: Record<string, string> | undefined;
75
- id?: string | undefined;
76
- if?: string | undefined;
77
- working_directory?: string | undefined;
78
- uses?: undefined;
79
- with?: undefined;
80
- shell?: string | undefined;
235
+ type: import("./common").ArchiveSourceType.GIT;
236
+ repositoryUrl: string;
237
+ gitRef: string | null;
238
+ gitCommitHash: string;
239
+ }>, z.ZodObject<{
240
+ type: z.ZodLiteral<import("./common").ArchiveSourceType.PATH>;
241
+ path: z.ZodString;
242
+ }, "strip", z.ZodTypeAny, {
243
+ type: import("./common").ArchiveSourceType.PATH;
244
+ path: string;
81
245
  }, {
82
- run: string;
83
- name?: string | undefined;
84
- env?: Record<string, string> | undefined;
85
- id?: string | undefined;
86
- if?: string | undefined;
87
- working_directory?: string | undefined;
88
- uses?: undefined;
89
- with?: undefined;
90
- shell?: string | undefined;
91
- }>, z.ZodObject<z.objectUtil.extendShape<{
92
- id: z.ZodOptional<z.ZodString>;
93
- if: z.ZodOptional<z.ZodString>;
94
- name: z.ZodOptional<z.ZodString>;
95
- working_directory: z.ZodOptional<z.ZodString>;
96
- env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
246
+ type: import("./common").ArchiveSourceType.PATH;
247
+ path: string;
248
+ }>, z.ZodObject<{
249
+ type: z.ZodLiteral<import("./common").ArchiveSourceType.URL>;
250
+ url: z.ZodString;
251
+ }, "strip", z.ZodTypeAny, {
252
+ type: import("./common").ArchiveSourceType.URL;
253
+ url: string;
97
254
  }, {
98
- uses: z.ZodString;
99
- with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
100
- run: z.ZodOptional<z.ZodNever>;
101
- shell: z.ZodOptional<z.ZodNever>;
102
- }>, "strip", z.ZodTypeAny, {
103
- uses: string;
104
- name?: string | undefined;
105
- env?: Record<string, string> | undefined;
106
- id?: string | undefined;
107
- if?: string | undefined;
108
- working_directory?: string | undefined;
109
- with?: Record<string, unknown> | undefined;
110
- run?: undefined;
111
- shell?: undefined;
255
+ type: import("./common").ArchiveSourceType.URL;
256
+ url: string;
257
+ }>, z.ZodObject<{
258
+ type: z.ZodLiteral<import("./common").ArchiveSourceType.GCS>;
259
+ bucketKey: z.ZodString;
260
+ metadataLocation: z.ZodOptional<z.ZodString>;
261
+ }, "strip", z.ZodTypeAny, {
262
+ type: import("./common").ArchiveSourceType.GCS;
263
+ bucketKey: string;
264
+ metadataLocation?: string | undefined;
112
265
  }, {
113
- uses: string;
114
- name?: string | undefined;
115
- env?: Record<string, string> | undefined;
116
- id?: string | undefined;
117
- if?: string | undefined;
118
- working_directory?: string | undefined;
119
- with?: Record<string, unknown> | undefined;
120
- run?: undefined;
121
- shell?: undefined;
122
- }>]>, "many">>;
266
+ type: import("./common").ArchiveSourceType.GCS;
267
+ bucketKey: string;
268
+ metadataLocation?: string | undefined;
269
+ }>]>;
123
270
  secrets: z.ZodObject<{
124
271
  robotAccessToken: z.ZodString;
125
272
  environmentSecrets: z.ZodArray<z.ZodObject<{
@@ -189,7 +336,93 @@ export declare namespace Generic {
189
336
  type: z.ZodOptional<z.ZodNever>;
190
337
  triggeredBy: z.ZodLiteral<BuildTrigger.GIT_BASED_INTEGRATION>;
191
338
  loggerLevel: z.ZodOptional<z.ZodNativeEnum<typeof LoggerLevel>>;
192
- }, "strip", z.ZodTypeAny, {
339
+ }, {
340
+ customBuildConfig: z.ZodOptional<z.ZodNever>;
341
+ steps: z.ZodArray<z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
342
+ id: z.ZodOptional<z.ZodString>;
343
+ if: z.ZodOptional<z.ZodString>;
344
+ name: z.ZodOptional<z.ZodString>;
345
+ working_directory: z.ZodOptional<z.ZodString>;
346
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
347
+ }, {
348
+ run: z.ZodString;
349
+ shell: z.ZodOptional<z.ZodString>;
350
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
351
+ name: z.ZodString;
352
+ required: z.ZodOptional<z.ZodBoolean>;
353
+ }, "strip", z.ZodTypeAny, {
354
+ name: string;
355
+ required?: boolean | undefined;
356
+ }, {
357
+ name: string;
358
+ required?: boolean | undefined;
359
+ }>, "many">>;
360
+ uses: z.ZodOptional<z.ZodNever>;
361
+ with: z.ZodOptional<z.ZodNever>;
362
+ }>, "strip", z.ZodTypeAny, {
363
+ run: string;
364
+ name?: string | undefined;
365
+ env?: Record<string, string> | undefined;
366
+ id?: string | undefined;
367
+ if?: string | undefined;
368
+ working_directory?: string | undefined;
369
+ uses?: undefined;
370
+ with?: undefined;
371
+ shell?: string | undefined;
372
+ outputs?: {
373
+ name: string;
374
+ required?: boolean | undefined;
375
+ }[] | undefined;
376
+ }, {
377
+ run: string;
378
+ name?: string | undefined;
379
+ env?: Record<string, string> | undefined;
380
+ id?: string | undefined;
381
+ if?: string | undefined;
382
+ working_directory?: string | undefined;
383
+ uses?: undefined;
384
+ with?: undefined;
385
+ shell?: string | undefined;
386
+ outputs?: {
387
+ name: string;
388
+ required?: boolean | undefined;
389
+ }[] | undefined;
390
+ }>, z.ZodObject<z.objectUtil.extendShape<{
391
+ id: z.ZodOptional<z.ZodString>;
392
+ if: z.ZodOptional<z.ZodString>;
393
+ name: z.ZodOptional<z.ZodString>;
394
+ working_directory: z.ZodOptional<z.ZodString>;
395
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
396
+ }, {
397
+ uses: z.ZodString;
398
+ with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodAny>]>>>;
399
+ run: z.ZodOptional<z.ZodNever>;
400
+ shell: z.ZodOptional<z.ZodNever>;
401
+ outputs: z.ZodOptional<z.ZodNever>;
402
+ }>, "strip", z.ZodTypeAny, {
403
+ uses: string;
404
+ name?: string | undefined;
405
+ env?: Record<string, string> | undefined;
406
+ id?: string | undefined;
407
+ if?: string | undefined;
408
+ working_directory?: string | undefined;
409
+ with?: Record<string, string | number | Record<string, any>> | undefined;
410
+ run?: undefined;
411
+ shell?: undefined;
412
+ outputs?: undefined;
413
+ }, {
414
+ uses: string;
415
+ name?: string | undefined;
416
+ env?: Record<string, string> | undefined;
417
+ id?: string | undefined;
418
+ if?: string | undefined;
419
+ working_directory?: string | undefined;
420
+ with?: Record<string, string | number | Record<string, any>> | undefined;
421
+ run?: undefined;
422
+ shell?: undefined;
423
+ outputs?: undefined;
424
+ }>]>, "many">;
425
+ }>, "strip", z.ZodTypeAny, {
193
426
  builderEnvironment: {
194
427
  env: Record<string, string>;
195
428
  image: string;
@@ -227,23 +460,18 @@ export declare namespace Generic {
227
460
  }[];
228
461
  robotAccessToken: string;
229
462
  };
230
- customBuildConfig: {
231
- path: string;
232
- };
233
463
  expoDevUrl: string;
234
- type?: undefined;
235
- platform?: undefined;
236
- loggerLevel?: LoggerLevel | undefined;
237
- steps?: ({
464
+ steps: ({
238
465
  uses: string;
239
466
  name?: string | undefined;
240
467
  env?: Record<string, string> | undefined;
241
468
  id?: string | undefined;
242
469
  if?: string | undefined;
243
470
  working_directory?: string | undefined;
244
- with?: Record<string, unknown> | undefined;
471
+ with?: Record<string, string | number | Record<string, any>> | undefined;
245
472
  run?: undefined;
246
473
  shell?: undefined;
474
+ outputs?: undefined;
247
475
  } | {
248
476
  run: string;
249
477
  name?: string | undefined;
@@ -254,7 +482,15 @@ export declare namespace Generic {
254
482
  uses?: undefined;
255
483
  with?: undefined;
256
484
  shell?: string | undefined;
257
- })[] | undefined;
485
+ outputs?: {
486
+ name: string;
487
+ required?: boolean | undefined;
488
+ }[] | undefined;
489
+ })[];
490
+ type?: undefined;
491
+ platform?: undefined;
492
+ customBuildConfig?: undefined;
493
+ loggerLevel?: LoggerLevel | undefined;
258
494
  }, {
259
495
  builderEnvironment: {
260
496
  env: Record<string, string>;
@@ -293,23 +529,18 @@ export declare namespace Generic {
293
529
  }[];
294
530
  robotAccessToken: string;
295
531
  };
296
- customBuildConfig: {
297
- path: string;
298
- };
299
532
  expoDevUrl: string;
300
- type?: undefined;
301
- platform?: undefined;
302
- loggerLevel?: LoggerLevel | undefined;
303
- steps?: ({
533
+ steps: ({
304
534
  uses: string;
305
535
  name?: string | undefined;
306
536
  env?: Record<string, string> | undefined;
307
537
  id?: string | undefined;
308
538
  if?: string | undefined;
309
539
  working_directory?: string | undefined;
310
- with?: Record<string, unknown> | undefined;
540
+ with?: Record<string, string | number | Record<string, any>> | undefined;
311
541
  run?: undefined;
312
542
  shell?: undefined;
543
+ outputs?: undefined;
313
544
  } | {
314
545
  run: string;
315
546
  name?: string | undefined;
@@ -320,6 +551,14 @@ export declare namespace Generic {
320
551
  uses?: undefined;
321
552
  with?: undefined;
322
553
  shell?: string | undefined;
323
- })[] | undefined;
324
- }>;
554
+ outputs?: {
555
+ name: string;
556
+ required?: boolean | undefined;
557
+ }[] | undefined;
558
+ })[];
559
+ type?: undefined;
560
+ platform?: undefined;
561
+ customBuildConfig?: undefined;
562
+ loggerLevel?: LoggerLevel | undefined;
563
+ }>]>;
325
564
  }
package/dist/generic.js CHANGED
@@ -21,12 +21,8 @@ var Generic;
21
21
  fastlane: zod_1.z.string().optional(),
22
22
  cocoapods: zod_1.z.string().optional(),
23
23
  });
24
- Generic.JobZ = zod_1.z.object({
24
+ const CommonJobZ = zod_1.z.object({
25
25
  projectArchive: common_1.ArchiveSourceSchemaZ,
26
- customBuildConfig: zod_1.z.object({
27
- path: zod_1.z.string(),
28
- }),
29
- steps: zod_1.z.array(step_1.StepZ).optional(),
30
26
  secrets: zod_1.z.object({
31
27
  robotAccessToken: zod_1.z.string(),
32
28
  environmentSecrets: zod_1.z.array(common_1.EnvironmentSecretZ),
@@ -39,5 +35,17 @@ var Generic;
39
35
  triggeredBy: zod_1.z.literal(common_1.BuildTrigger.GIT_BASED_INTEGRATION),
40
36
  loggerLevel: zod_1.z.nativeEnum(logger_1.LoggerLevel).optional(),
41
37
  });
38
+ Generic.JobZ = zod_1.z.union([
39
+ CommonJobZ.extend({
40
+ customBuildConfig: zod_1.z.object({
41
+ path: zod_1.z.string(),
42
+ }),
43
+ steps: zod_1.z.never().optional(),
44
+ }),
45
+ CommonJobZ.extend({
46
+ customBuildConfig: zod_1.z.never().optional(),
47
+ steps: zod_1.z.array(step_1.StepZ).min(1),
48
+ }),
49
+ ]);
42
50
  })(Generic || (exports.Generic = Generic = {}));
43
51
  //# sourceMappingURL=generic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../src/generic.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA2C;AAE3C,qCAAkF;AAClF,iCAA+B;AAE/B,IAAiB,OAAO,CAmCvB;AAnCD,WAAiB,OAAO;IACtB,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;QACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QACzB,QAAQ;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,QAAQ;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC;IAGU,YAAI,GAAG,OAAC,CAAC,MAAM,CAAC;QAC3B,cAAc,EAAE,6BAAoB;QACpC,iBAAiB,EAAE,OAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,YAAK,CAAC,CAAC,QAAQ,EAAE;QAChC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YAChB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;YAC5B,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAkB,CAAC;SAChD,CAAC;QACF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC5B,kBAAkB,EAAE,yBAAyB;QAC7C,uEAAuE;QACvE,QAAQ,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC1B,WAAW,EAAE,OAAC,CAAC,OAAO,CAAC,qBAAY,CAAC,qBAAqB,CAAC;QAC1D,WAAW,EAAE,OAAC,CAAC,UAAU,CAAC,oBAAW,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CAAC;AACL,CAAC,EAnCgB,OAAO,uBAAP,OAAO,QAmCvB","sourcesContent":["import { z } from 'zod';\nimport { LoggerLevel } from '@expo/logger';\n\nimport { ArchiveSourceSchemaZ, BuildTrigger, EnvironmentSecretZ } from './common';\nimport { StepZ } from './step';\n\nexport namespace Generic {\n const BuilderEnvironmentSchemaZ = z.object({\n image: z.string(),\n node: z.string().optional(),\n yarn: z.string().optional(),\n pnpm: z.string().optional(),\n bun: z.string().optional(),\n env: z.record(z.string()),\n // Linux\n ndk: z.string().optional(),\n // macOS\n bundler: z.string().optional(),\n fastlane: z.string().optional(),\n cocoapods: z.string().optional(),\n });\n\n export type Job = z.infer<typeof JobZ>;\n export const JobZ = z.object({\n projectArchive: ArchiveSourceSchemaZ,\n customBuildConfig: z.object({\n path: z.string(),\n }),\n steps: z.array(StepZ).optional(),\n secrets: z.object({\n robotAccessToken: z.string(),\n environmentSecrets: z.array(EnvironmentSecretZ),\n }),\n expoDevUrl: z.string().url(),\n builderEnvironment: BuilderEnvironmentSchemaZ,\n // We use this to discern between Android.Job, Ios.Job and Generic.Job.\n platform: z.never().optional(),\n type: z.never().optional(),\n triggeredBy: z.literal(BuildTrigger.GIT_BASED_INTEGRATION),\n loggerLevel: z.nativeEnum(LoggerLevel).optional(),\n });\n}\n"]}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../src/generic.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA2C;AAE3C,qCAAkF;AAClF,iCAA+B;AAE/B,IAAiB,OAAO,CA4CvB;AA5CD,WAAiB,OAAO;IACtB,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;QACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QACzB,QAAQ;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,QAAQ;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC;IAGH,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;QAC1B,cAAc,EAAE,6BAAoB;QACpC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YAChB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;YAC5B,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAkB,CAAC;SAChD,CAAC;QACF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC5B,kBAAkB,EAAE,yBAAyB;QAC7C,uEAAuE;QACvE,QAAQ,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC1B,WAAW,EAAE,OAAC,CAAC,OAAO,CAAC,qBAAY,CAAC,qBAAqB,CAAC;QAC1D,WAAW,EAAE,OAAC,CAAC,UAAU,CAAC,oBAAW,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CAAC;IAEU,YAAI,GAAG,OAAC,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,MAAM,CAAC;YAChB,iBAAiB,EAAE,OAAC,CAAC,MAAM,CAAC;gBAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;aACjB,CAAC;YACF,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;QACF,UAAU,CAAC,MAAM,CAAC;YAChB,iBAAiB,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,YAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,EA5CgB,OAAO,uBAAP,OAAO,QA4CvB","sourcesContent":["import { z } from 'zod';\nimport { LoggerLevel } from '@expo/logger';\n\nimport { ArchiveSourceSchemaZ, BuildTrigger, EnvironmentSecretZ } from './common';\nimport { StepZ } from './step';\n\nexport namespace Generic {\n const BuilderEnvironmentSchemaZ = z.object({\n image: z.string(),\n node: z.string().optional(),\n yarn: z.string().optional(),\n pnpm: z.string().optional(),\n bun: z.string().optional(),\n env: z.record(z.string()),\n // Linux\n ndk: z.string().optional(),\n // macOS\n bundler: z.string().optional(),\n fastlane: z.string().optional(),\n cocoapods: z.string().optional(),\n });\n\n export type Job = z.infer<typeof JobZ>;\n const CommonJobZ = z.object({\n projectArchive: ArchiveSourceSchemaZ,\n secrets: z.object({\n robotAccessToken: z.string(),\n environmentSecrets: z.array(EnvironmentSecretZ),\n }),\n expoDevUrl: z.string().url(),\n builderEnvironment: BuilderEnvironmentSchemaZ,\n // We use this to discern between Android.Job, Ios.Job and Generic.Job.\n platform: z.never().optional(),\n type: z.never().optional(),\n triggeredBy: z.literal(BuildTrigger.GIT_BASED_INTEGRATION),\n loggerLevel: z.nativeEnum(LoggerLevel).optional(),\n });\n\n export const JobZ = z.union([\n CommonJobZ.extend({\n customBuildConfig: z.object({\n path: z.string(),\n }),\n steps: z.never().optional(),\n }),\n CommonJobZ.extend({\n customBuildConfig: z.never().optional(),\n steps: z.array(StepZ).min(1),\n }),\n ]);\n}\n"]}
package/dist/step.d.ts CHANGED
@@ -62,9 +62,10 @@ export declare const FunctionStepZ: z.ZodObject<z.objectUtil.extendShape<{
62
62
  * - value1
63
63
  * arg4: ${{ steps.step1.outputs.test }}
64
64
  */
65
- with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
65
+ with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodAny>]>>>;
66
66
  run: z.ZodOptional<z.ZodNever>;
67
67
  shell: z.ZodOptional<z.ZodNever>;
68
+ outputs: z.ZodOptional<z.ZodNever>;
68
69
  }>, "strip", z.ZodTypeAny, {
69
70
  uses: string;
70
71
  name?: string | undefined;
@@ -72,9 +73,10 @@ export declare const FunctionStepZ: z.ZodObject<z.objectUtil.extendShape<{
72
73
  id?: string | undefined;
73
74
  if?: string | undefined;
74
75
  working_directory?: string | undefined;
75
- with?: Record<string, unknown> | undefined;
76
+ with?: Record<string, string | number | Record<string, any>> | undefined;
76
77
  run?: undefined;
77
78
  shell?: undefined;
79
+ outputs?: undefined;
78
80
  }, {
79
81
  uses: string;
80
82
  name?: string | undefined;
@@ -82,9 +84,10 @@ export declare const FunctionStepZ: z.ZodObject<z.objectUtil.extendShape<{
82
84
  id?: string | undefined;
83
85
  if?: string | undefined;
84
86
  working_directory?: string | undefined;
85
- with?: Record<string, unknown> | undefined;
87
+ with?: Record<string, string | number | Record<string, any>> | undefined;
86
88
  run?: undefined;
87
89
  shell?: undefined;
90
+ outputs?: undefined;
88
91
  }>;
89
92
  export type FunctionStep = z.infer<typeof FunctionStepZ>;
90
93
  export declare const ShellStepZ: z.ZodObject<z.objectUtil.extendShape<{
@@ -148,6 +151,27 @@ export declare const ShellStepZ: z.ZodObject<z.objectUtil.extendShape<{
148
151
  * @default 'bash'
149
152
  */
150
153
  shell: z.ZodOptional<z.ZodString>;
154
+ /**
155
+ * The outputs of the step.
156
+ *
157
+ * @example
158
+ * outputs:
159
+ * - name: my_output
160
+ * required: true
161
+ * - name: my_optional_output
162
+ * required: false
163
+ * - name: my_optional_output_without_required
164
+ */
165
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
166
+ name: z.ZodString;
167
+ required: z.ZodOptional<z.ZodBoolean>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ name: string;
170
+ required?: boolean | undefined;
171
+ }, {
172
+ name: string;
173
+ required?: boolean | undefined;
174
+ }>, "many">>;
151
175
  uses: z.ZodOptional<z.ZodNever>;
152
176
  with: z.ZodOptional<z.ZodNever>;
153
177
  }>, "strip", z.ZodTypeAny, {
@@ -160,6 +184,10 @@ export declare const ShellStepZ: z.ZodObject<z.objectUtil.extendShape<{
160
184
  uses?: undefined;
161
185
  with?: undefined;
162
186
  shell?: string | undefined;
187
+ outputs?: {
188
+ name: string;
189
+ required?: boolean | undefined;
190
+ }[] | undefined;
163
191
  }, {
164
192
  run: string;
165
193
  name?: string | undefined;
@@ -170,6 +198,10 @@ export declare const ShellStepZ: z.ZodObject<z.objectUtil.extendShape<{
170
198
  uses?: undefined;
171
199
  with?: undefined;
172
200
  shell?: string | undefined;
201
+ outputs?: {
202
+ name: string;
203
+ required?: boolean | undefined;
204
+ }[] | undefined;
173
205
  }>;
174
206
  export type ShellStep = z.infer<typeof ShellStepZ>;
175
207
  export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
@@ -233,6 +265,27 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
233
265
  * @default 'bash'
234
266
  */
235
267
  shell: z.ZodOptional<z.ZodString>;
268
+ /**
269
+ * The outputs of the step.
270
+ *
271
+ * @example
272
+ * outputs:
273
+ * - name: my_output
274
+ * required: true
275
+ * - name: my_optional_output
276
+ * required: false
277
+ * - name: my_optional_output_without_required
278
+ */
279
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
280
+ name: z.ZodString;
281
+ required: z.ZodOptional<z.ZodBoolean>;
282
+ }, "strip", z.ZodTypeAny, {
283
+ name: string;
284
+ required?: boolean | undefined;
285
+ }, {
286
+ name: string;
287
+ required?: boolean | undefined;
288
+ }>, "many">>;
236
289
  uses: z.ZodOptional<z.ZodNever>;
237
290
  with: z.ZodOptional<z.ZodNever>;
238
291
  }>, "strip", z.ZodTypeAny, {
@@ -245,6 +298,10 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
245
298
  uses?: undefined;
246
299
  with?: undefined;
247
300
  shell?: string | undefined;
301
+ outputs?: {
302
+ name: string;
303
+ required?: boolean | undefined;
304
+ }[] | undefined;
248
305
  }, {
249
306
  run: string;
250
307
  name?: string | undefined;
@@ -255,6 +312,10 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
255
312
  uses?: undefined;
256
313
  with?: undefined;
257
314
  shell?: string | undefined;
315
+ outputs?: {
316
+ name: string;
317
+ required?: boolean | undefined;
318
+ }[] | undefined;
258
319
  }>, z.ZodObject<z.objectUtil.extendShape<{
259
320
  /**
260
321
  * Unique identifier for the step.
@@ -318,9 +379,10 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
318
379
  * - value1
319
380
  * arg4: ${{ steps.step1.outputs.test }}
320
381
  */
321
- with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
382
+ with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodAny>]>>>;
322
383
  run: z.ZodOptional<z.ZodNever>;
323
384
  shell: z.ZodOptional<z.ZodNever>;
385
+ outputs: z.ZodOptional<z.ZodNever>;
324
386
  }>, "strip", z.ZodTypeAny, {
325
387
  uses: string;
326
388
  name?: string | undefined;
@@ -328,9 +390,10 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
328
390
  id?: string | undefined;
329
391
  if?: string | undefined;
330
392
  working_directory?: string | undefined;
331
- with?: Record<string, unknown> | undefined;
393
+ with?: Record<string, string | number | Record<string, any>> | undefined;
332
394
  run?: undefined;
333
395
  shell?: undefined;
396
+ outputs?: undefined;
334
397
  }, {
335
398
  uses: string;
336
399
  name?: string | undefined;
@@ -338,9 +401,10 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
338
401
  id?: string | undefined;
339
402
  if?: string | undefined;
340
403
  working_directory?: string | undefined;
341
- with?: Record<string, unknown> | undefined;
404
+ with?: Record<string, string | number | Record<string, any>> | undefined;
342
405
  run?: undefined;
343
406
  shell?: undefined;
407
+ outputs?: undefined;
344
408
  }>]>;
345
409
  /**
346
410
  * Structure of a custom EAS job step.
@@ -363,3 +427,6 @@ export declare const StepZ: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
363
427
  * - run: echo Hello, world!
364
428
  */
365
429
  export type Step = z.infer<typeof StepZ>;
430
+ export declare function validateSteps(maybeSteps: unknown): Step[];
431
+ export declare function isStepShellStep(step: Step): step is ShellStep;
432
+ export declare function isStepFunctionStep(step: Step): step is FunctionStep;
package/dist/step.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StepZ = exports.ShellStepZ = exports.FunctionStepZ = void 0;
3
+ exports.isStepFunctionStep = exports.isStepShellStep = exports.validateSteps = exports.StepZ = exports.ShellStepZ = exports.FunctionStepZ = void 0;
4
4
  const zod_1 = require("zod");
5
+ const StepOutputZ = zod_1.z.object({
6
+ name: zod_1.z.string(),
7
+ required: zod_1.z.boolean().optional(),
8
+ });
5
9
  const CommonStepZ = zod_1.z.object({
6
10
  /**
7
11
  * Unique identifier for the step.
@@ -66,9 +70,10 @@ exports.FunctionStepZ = CommonStepZ.extend({
66
70
  * - value1
67
71
  * arg4: ${{ steps.step1.outputs.test }}
68
72
  */
69
- with: zod_1.z.record(zod_1.z.unknown()).optional(),
73
+ with: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.record(zod_1.z.any())], zod_1.z.boolean())).optional(),
70
74
  run: zod_1.z.never().optional(),
71
75
  shell: zod_1.z.never().optional(),
76
+ outputs: zod_1.z.never().optional(),
72
77
  });
73
78
  exports.ShellStepZ = CommonStepZ.extend({
74
79
  /**
@@ -93,8 +98,33 @@ exports.ShellStepZ = CommonStepZ.extend({
93
98
  * @default 'bash'
94
99
  */
95
100
  shell: zod_1.z.string().optional(),
101
+ /**
102
+ * The outputs of the step.
103
+ *
104
+ * @example
105
+ * outputs:
106
+ * - name: my_output
107
+ * required: true
108
+ * - name: my_optional_output
109
+ * required: false
110
+ * - name: my_optional_output_without_required
111
+ */
112
+ outputs: zod_1.z.array(StepOutputZ).optional(),
96
113
  uses: zod_1.z.never().optional(),
97
114
  with: zod_1.z.never().optional(),
98
115
  });
99
116
  exports.StepZ = zod_1.z.union([exports.ShellStepZ, exports.FunctionStepZ]);
117
+ function validateSteps(maybeSteps) {
118
+ const steps = zod_1.z.array(exports.StepZ).min(1).parse(maybeSteps);
119
+ return steps;
120
+ }
121
+ exports.validateSteps = validateSteps;
122
+ function isStepShellStep(step) {
123
+ return step.run !== undefined;
124
+ }
125
+ exports.isStepShellStep = isStepShellStep;
126
+ function isStepFunctionStep(step) {
127
+ return step.uses !== undefined;
128
+ }
129
+ exports.isStepFunctionStep = isStepFunctionStep;
100
130
  //# sourceMappingURL=step.js.map
package/dist/step.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB;;;OAGG;IACH,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB;;;;;OAKG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;;;;;;OAOG;IACH,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC;;;;;;;OAOG;IACH,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C;;;;;;;;;OASG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEtC,GAAG,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIU,QAAA,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IAC3C;;;;;;;;;;;OAWG;IACH,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf;;;;;;;OAOG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAIU,QAAA,KAAK,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,kBAAU,EAAE,qBAAa,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nconst CommonStepZ = z.object({\n /**\n * Unique identifier for the step.\n *\n * @example\n * id: step1\n */\n id: z.string().optional(),\n /**\n * Expression that determines whether the step should run.\n * Based on the GitHub Actions job step `if` field (https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsif).\n */\n if: z.string().optional(),\n /**\n * The name of the step.\n *\n * @example\n * name: 'Step 1'\n */\n name: z.string().optional(),\n /**\n * The working directory to run the step in.\n *\n * @example\n * working_directory: ./my-working-directory\n *\n * @default depends on the project settings\n */\n working_directory: z.string().optional(),\n /**\n * Env variables override for the step.\n *\n * @example\n * env:\n * MY_ENV_VAR: my-value\n * ANOTHER_ENV_VAR: another-value\n */\n env: z.record(z.string()).optional(),\n});\n\nexport const FunctionStepZ = CommonStepZ.extend({\n /**\n * The custom EAS function to run as a step.\n * It can be a function provided by EAS or a custom function defined by the user.\n *\n * @example\n * uses: eas/build\n *\n * @example\n * uses: my-custom-function\n */\n uses: z.string(),\n /**\n * The arguments to pass to the function.\n *\n * @example\n * with:\n * arg1: value1\n * arg2: ['ala', 'ma', 'kota']\n * arg3:\n * key1: value1\n * key2:\n * - value1\n * arg4: ${{ steps.step1.outputs.test }}\n */\n with: z.record(z.unknown()).optional(),\n\n run: z.never().optional(),\n shell: z.never().optional(),\n});\n\nexport type FunctionStep = z.infer<typeof FunctionStepZ>;\n\nexport const ShellStepZ = CommonStepZ.extend({\n /**\n * The command-line programs to run as a step.\n *\n * @example\n * run: echo Hello, world!\n *\n * @example\n * run: |\n * npm install\n * npx expo prebuild\n * pod install\n */\n run: z.string(),\n /**\n * The shell to run the \"run\" command with.\n *\n * @example\n * shell: 'sh'\n *\n * @default 'bash'\n */\n shell: z.string().optional(),\n\n uses: z.never().optional(),\n with: z.never().optional(),\n});\n\nexport type ShellStep = z.infer<typeof ShellStepZ>;\n\nexport const StepZ = z.union([ShellStepZ, FunctionStepZ]);\n\n/**\n * Structure of a custom EAS job step.\n *\n * GHA step fields skipped here:\n * - `with.entrypoint`\n * - `continue-on-error`\n * - `timeout-minutes`\n *\n * * @example\n * steps:\n * - uses: eas/maestro-test\n * id: step1\n * name: Step 1\n * with:\n * flow_path: |\n * maestro/sign_in.yaml\n * maestro/create_post.yaml\n * maestro/sign_out.yaml\n * - run: echo Hello, world!\n */\nexport type Step = z.infer<typeof StepZ>;\n"]}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB;;;OAGG;IACH,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB;;;;;OAKG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;;;;;;OAOG;IACH,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC;;;;;;;OAOG;IACH,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C;;;;;;;;;OASG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE5F,GAAG,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAIU,QAAA,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IAC3C;;;;;;;;;;;OAWG;IACH,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf;;;;;;;OAOG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B;;;;;;;;;;OAUG;IACH,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IAExC,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAIU,QAAA,KAAK,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,kBAAU,EAAE,qBAAa,CAAC,CAAC,CAAC;AAwB1D,SAAgB,aAAa,CAAC,UAAmB;IAC/C,MAAM,KAAK,GAAG,OAAC,CAAC,KAAK,CAAC,aAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAHD,sCAGC;AAED,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;AAChC,CAAC;AAFD,0CAEC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;AACjC,CAAC;AAFD,gDAEC","sourcesContent":["import { z } from 'zod';\n\nconst StepOutputZ = z.object({\n name: z.string(),\n required: z.boolean().optional(),\n});\n\nconst CommonStepZ = z.object({\n /**\n * Unique identifier for the step.\n *\n * @example\n * id: step1\n */\n id: z.string().optional(),\n /**\n * Expression that determines whether the step should run.\n * Based on the GitHub Actions job step `if` field (https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsif).\n */\n if: z.string().optional(),\n /**\n * The name of the step.\n *\n * @example\n * name: 'Step 1'\n */\n name: z.string().optional(),\n /**\n * The working directory to run the step in.\n *\n * @example\n * working_directory: ./my-working-directory\n *\n * @default depends on the project settings\n */\n working_directory: z.string().optional(),\n /**\n * Env variables override for the step.\n *\n * @example\n * env:\n * MY_ENV_VAR: my-value\n * ANOTHER_ENV_VAR: another-value\n */\n env: z.record(z.string()).optional(),\n});\n\nexport const FunctionStepZ = CommonStepZ.extend({\n /**\n * The custom EAS function to run as a step.\n * It can be a function provided by EAS or a custom function defined by the user.\n *\n * @example\n * uses: eas/build\n *\n * @example\n * uses: my-custom-function\n */\n uses: z.string(),\n /**\n * The arguments to pass to the function.\n *\n * @example\n * with:\n * arg1: value1\n * arg2: ['ala', 'ma', 'kota']\n * arg3:\n * key1: value1\n * key2:\n * - value1\n * arg4: ${{ steps.step1.outputs.test }}\n */\n with: z.record(z.union([z.string(), z.number(), z.record(z.any())], z.boolean())).optional(),\n\n run: z.never().optional(),\n shell: z.never().optional(),\n outputs: z.never().optional(),\n});\n\nexport type FunctionStep = z.infer<typeof FunctionStepZ>;\n\nexport const ShellStepZ = CommonStepZ.extend({\n /**\n * The command-line programs to run as a step.\n *\n * @example\n * run: echo Hello, world!\n *\n * @example\n * run: |\n * npm install\n * npx expo prebuild\n * pod install\n */\n run: z.string(),\n /**\n * The shell to run the \"run\" command with.\n *\n * @example\n * shell: 'sh'\n *\n * @default 'bash'\n */\n shell: z.string().optional(),\n /**\n * The outputs of the step.\n *\n * @example\n * outputs:\n * - name: my_output\n * required: true\n * - name: my_optional_output\n * required: false\n * - name: my_optional_output_without_required\n */\n outputs: z.array(StepOutputZ).optional(),\n\n uses: z.never().optional(),\n with: z.never().optional(),\n});\n\nexport type ShellStep = z.infer<typeof ShellStepZ>;\n\nexport const StepZ = z.union([ShellStepZ, FunctionStepZ]);\n\n/**\n * Structure of a custom EAS job step.\n *\n * GHA step fields skipped here:\n * - `with.entrypoint`\n * - `continue-on-error`\n * - `timeout-minutes`\n *\n * * @example\n * steps:\n * - uses: eas/maestro-test\n * id: step1\n * name: Step 1\n * with:\n * flow_path: |\n * maestro/sign_in.yaml\n * maestro/create_post.yaml\n * maestro/sign_out.yaml\n * - run: echo Hello, world!\n */\nexport type Step = z.infer<typeof StepZ>;\n\nexport function validateSteps(maybeSteps: unknown): Step[] {\n const steps = z.array(StepZ).min(1).parse(maybeSteps);\n return steps;\n}\n\nexport function isStepShellStep(step: Step): step is ShellStep {\n return step.run !== undefined;\n}\n\nexport function isStepFunctionStep(step: Step): step is FunctionStep {\n return step.uses !== undefined;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/eas-build-job",
3
- "version": "1.0.126",
3
+ "version": "1.0.128",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -35,5 +35,5 @@
35
35
  "node": "20.14.0",
36
36
  "yarn": "1.22.21"
37
37
  },
38
- "gitHead": "b329acd121e1a7d98d71d0ecf7396c8b875612a9"
38
+ "gitHead": "8f98df8074316d9d152f00ae6deba610dfea1b6f"
39
39
  }