@expo/eas-build-job 1.0.263 → 18.0.1

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/LICENSE CHANGED
@@ -1,100 +1,21 @@
1
- Business Source License 1.1
2
-
3
- Parameters
4
-
5
- Licensor: 650 Industries, Inc.
6
- Licensed Work: EAS Build
7
- The Licensed Work is (c) 2021 650 Industries, Inc.
8
- Additional Use Grant: You may make use of the Licensed Work, provided that you do
9
- not use the Licensed Work for commercial offerings such as
10
- a CI/CD service or application build service that allows
11
- third parties (other than your employees and contractors)
12
- to access the functionality of and directly benefit from the
13
- functionality of the Licensed Work.
14
-
15
- Change Date: 2028-04-01
16
-
17
- Change License: MIT
18
-
19
- For information about alternative licensing arrangements for the Software,
20
- please visit: https://expo.dev/pricing/
21
-
22
- Notice
23
-
24
- The Business Source License (this document, or the "License") is not an Open
25
- Source license. However, the Licensed Work will eventually be made available
26
- under an Open Source License, as stated in this License.
27
-
28
- License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
29
- "Business Source License" is a trademark of MariaDB Corporation Ab.
30
-
31
- -----------------------------------------------------------------------------
32
-
33
- Business Source License 1.1
34
-
35
- Terms
36
-
37
- The Licensor hereby grants you the right to copy, modify, create derivative
38
- works, redistribute, and make non-production use of the Licensed Work. The
39
- Licensor may make an Additional Use Grant, above, permitting limited
40
- production use.
41
-
42
- Effective on the Change Date, or the fourth anniversary of the first publicly
43
- available distribution of a specific version of the Licensed Work under this
44
- License, whichever comes first, the Licensor hereby grants you rights under
45
- the terms of the Change License, and the rights granted in the paragraph
46
- above terminate.
47
-
48
- If your use of the Licensed Work does not comply with the requirements
49
- currently in effect as described in this License, you must purchase a
50
- commercial license from the Licensor, its affiliated entities, or authorized
51
- resellers, or you must refrain from using the Licensed Work.
52
-
53
- All copies of the original and modified Licensed Work, and derivative works
54
- of the Licensed Work, are subject to this License. This License applies
55
- separately for each version of the Licensed Work and the Change Date may vary
56
- for each version of the Licensed Work released by Licensor.
57
-
58
- You must conspicuously display this License on each original or modified copy
59
- of the Licensed Work. If you receive the Licensed Work in original or
60
- modified form from a third party, the terms and conditions set forth in this
61
- License apply to your use of that work.
62
-
63
- Any use of the Licensed Work in violation of this License will automatically
64
- terminate your rights under this License for the current and all other
65
- versions of the Licensed Work.
66
-
67
- This License does not grant you any right in any trademark or logo of
68
- Licensor or its affiliates (provided that you may use a trademark or logo of
69
- Licensor as expressly required by this License).
70
-
71
- TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
72
- AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
73
- EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
74
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
75
- TITLE.
76
-
77
- MariaDB hereby grants you permission to use this License’s text to license
78
- your works, and to refer to it using the trademark "Business Source License",
79
- as long as you comply with the Covenants of Licensor below.
80
-
81
- Covenants of Licensor
82
-
83
- In consideration of the right to use this License’s text and the "Business
84
- Source License" name and trademark, Licensor covenants to MariaDB, and to all
85
- other recipients of the licensed work to be provided by Licensor:
86
-
87
- 1. To specify as the Change License the GPL Version 2.0 or any later version,
88
- or a license that is compatible with GPL Version 2.0 or a later version,
89
- where "compatible" means that software provided under the Change License can
90
- be included in a program with software provided under GPL Version 2.0 or a
91
- later version. Licensor may specify additional Change Licenses without
92
- limitation.
93
-
94
- 2. To either: (a) specify an additional grant of rights to use that does not
95
- impose any additional restriction on the right granted in this License, as
96
- the Additional Use Grant; or (b) insert the text "None".
97
-
98
- 3. To specify a Change Date.
99
-
100
- 4. Not to modify this License in any other way.
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020-present 650 Industries, Inc. (aka Expo)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  ## Repository
6
6
 
7
- https://github.com/expo/eas-build/tree/main/packages/eas-build-job
7
+ https://github.com/expo/eas-cli/tree/main/packages/eas-build-job
package/dist/android.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Joi from 'joi';
2
1
  import { LoggerLevel } from '@expo/logger';
3
- import { ArchiveSource, Env, Platform, Workflow, Cache, EnvironmentSecret, BuildTrigger, BuildMode, StaticWorkflowInterpolationContext } from './common';
2
+ import Joi from 'joi';
3
+ import { ArchiveSource, BuildMode, BuildTrigger, Cache, Env, EnvironmentSecret, Platform, StaticWorkflowInterpolationContext, Workflow } from './common';
4
4
  import { Step } from './step';
5
5
  export interface Keystore {
6
6
  dataBase64: string;
package/dist/android.js CHANGED
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.JobSchema = exports.BuildType = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
7
  const logger_1 = require("@expo/logger");
8
+ const joi_1 = __importDefault(require("joi"));
9
9
  const common_1 = require("./common");
10
10
  const KeystoreSchema = joi_1.default.object({
11
11
  dataBase64: joi_1.default.string().required(),
@@ -82,6 +82,5 @@ exports.JobSchema = joi_1.default.object({
82
82
  initiatingUserId: joi_1.default.string().required(),
83
83
  appId: joi_1.default.string().required(),
84
84
  environment: joi_1.default.string(),
85
- workflowInterpolationContext: joi_1.default.object().custom((workflowInterpolationContext) => common_1.StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)),
85
+ workflowInterpolationContext: joi_1.default.object().custom(workflowInterpolationContext => common_1.StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)),
86
86
  }).concat(common_1.CustomBuildConfigSchema);
87
- //# sourceMappingURL=android.js.map
package/dist/artifacts.js CHANGED
@@ -25,4 +25,3 @@ const isGenericArtifact = (artifactSpec) => {
25
25
  return false;
26
26
  };
27
27
  exports.isGenericArtifact = isGenericArtifact;
28
- //# sourceMappingURL=artifacts.js.map
package/dist/common.js CHANGED
@@ -201,7 +201,7 @@ exports.CustomBuildConfigSchema = joi_1.default.object().when('.mode', {
201
201
  steps: joi_1.default.array()
202
202
  .items(joi_1.default.any())
203
203
  .required()
204
- .custom((steps) => (0, step_1.validateSteps)(steps), 'steps validation'),
204
+ .custom(steps => (0, step_1.validateSteps)(steps), 'steps validation'),
205
205
  outputs: joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.string()).required(),
206
206
  }),
207
207
  }),
@@ -216,4 +216,3 @@ var EasCliNpmTags;
216
216
  EasCliNpmTags["STAGING"] = "latest-eas-build-staging";
217
217
  EasCliNpmTags["PRODUCTION"] = "latest-eas-build";
218
218
  })(EasCliNpmTags || (exports.EasCliNpmTags = EasCliNpmTags = {}));
219
- //# sourceMappingURL=common.js.map
package/dist/context.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=context.js.map
package/dist/errors.js CHANGED
@@ -13,6 +13,12 @@ var ErrorCode;
13
13
  ErrorCode["BUILD_TIMEOUT_ERROR"] = "EAS_BUILD_TIMEOUT_ERROR";
14
14
  })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
15
15
  class BuildError extends Error {
16
+ errorCode;
17
+ userFacingMessage;
18
+ userFacingErrorCode;
19
+ docsUrl;
20
+ innerError;
21
+ buildPhase;
16
22
  constructor(message, details) {
17
23
  super(message);
18
24
  this.errorCode = details.errorCode;
@@ -33,6 +39,9 @@ class BuildError extends Error {
33
39
  }
34
40
  exports.BuildError = BuildError;
35
41
  class UserFacingError extends Error {
42
+ errorCode;
43
+ message;
44
+ docsUrl;
36
45
  constructor(errorCode, message, docsUrl) {
37
46
  super(message);
38
47
  this.errorCode = errorCode;
@@ -79,4 +88,3 @@ class CredentialsDistCertMismatchError extends UserFacingError {
79
88
  }
80
89
  }
81
90
  exports.CredentialsDistCertMismatchError = CredentialsDistCertMismatchError;
82
- //# sourceMappingURL=errors.js.map
package/dist/generic.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
2
1
  import { LoggerLevel } from '@expo/logger';
2
+ import { z } from 'zod';
3
3
  import { BuildTrigger } from './common';
4
4
  export declare namespace Generic {
5
5
  type Job = z.infer<typeof JobZ>;
@@ -113,6 +113,7 @@ export declare namespace Generic {
113
113
  name: z.ZodOptional<z.ZodString>;
114
114
  working_directory: z.ZodOptional<z.ZodString>;
115
115
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
116
+ __metrics_id: z.ZodOptional<z.ZodString>;
116
117
  run: z.ZodString;
117
118
  shell: z.ZodOptional<z.ZodString>;
118
119
  outputs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodCodec<z.ZodString, z.ZodObject<{
@@ -130,6 +131,7 @@ export declare namespace Generic {
130
131
  name: z.ZodOptional<z.ZodString>;
131
132
  working_directory: z.ZodOptional<z.ZodString>;
132
133
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
134
+ __metrics_id: z.ZodOptional<z.ZodString>;
133
135
  uses: z.ZodString;
134
136
  with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
137
  run: z.ZodOptional<z.ZodNever>;
@@ -249,6 +251,7 @@ export declare namespace Generic {
249
251
  name: z.ZodOptional<z.ZodString>;
250
252
  working_directory: z.ZodOptional<z.ZodString>;
251
253
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
254
+ __metrics_id: z.ZodOptional<z.ZodString>;
252
255
  run: z.ZodString;
253
256
  shell: z.ZodOptional<z.ZodString>;
254
257
  outputs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodCodec<z.ZodString, z.ZodObject<{
@@ -266,6 +269,7 @@ export declare namespace Generic {
266
269
  name: z.ZodOptional<z.ZodString>;
267
270
  working_directory: z.ZodOptional<z.ZodString>;
268
271
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
272
+ __metrics_id: z.ZodOptional<z.ZodString>;
269
273
  uses: z.ZodString;
270
274
  with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
271
275
  run: z.ZodOptional<z.ZodNever>;
package/dist/generic.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Generic = void 0;
4
- const zod_1 = require("zod");
5
4
  const logger_1 = require("@expo/logger");
5
+ const zod_1 = require("zod");
6
6
  const common_1 = require("./common");
7
7
  const step_1 = require("./step");
8
8
  var Generic;
@@ -43,4 +43,3 @@ var Generic;
43
43
  });
44
44
  Generic.PartialJobZ = Generic.JobZ.partial();
45
45
  })(Generic || (exports.Generic = Generic = {}));
46
- //# sourceMappingURL=generic.js.map
package/dist/index.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
37
  };
@@ -50,4 +60,3 @@ __exportStar(require("./step"), exports);
50
60
  __exportStar(require("./submission-config"), exports);
51
61
  const version = require('../package.json').version;
52
62
  exports.version = version;
53
- //# sourceMappingURL=index.js.map
package/dist/ios.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Joi from 'joi';
2
1
  import { LoggerLevel } from '@expo/logger';
3
- import { ArchiveSource, Env, Platform, Workflow, Cache, EnvironmentSecret, BuildTrigger, BuildMode, StaticWorkflowInterpolationContext } from './common';
2
+ import Joi from 'joi';
3
+ import { ArchiveSource, BuildMode, BuildTrigger, Cache, Env, EnvironmentSecret, Platform, StaticWorkflowInterpolationContext, Workflow } from './common';
4
4
  import { Step } from './step';
5
5
  export type DistributionType = 'store' | 'internal' | 'simulator';
6
6
  export interface TargetCredentials {
package/dist/ios.js CHANGED
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.JobSchema = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
7
  const logger_1 = require("@expo/logger");
8
+ const joi_1 = __importDefault(require("joi"));
9
9
  const common_1 = require("./common");
10
10
  const TargetCredentialsSchema = joi_1.default.object().keys({
11
11
  provisioningProfileBase64: joi_1.default.string().required(),
@@ -101,6 +101,5 @@ exports.JobSchema = joi_1.default.object({
101
101
  initiatingUserId: joi_1.default.string().required(),
102
102
  appId: joi_1.default.string().required(),
103
103
  environment: joi_1.default.string(),
104
- workflowInterpolationContext: joi_1.default.object().custom((workflowInterpolationContext) => common_1.StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)),
104
+ workflowInterpolationContext: joi_1.default.object().custom(workflowInterpolationContext => common_1.StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)),
105
105
  }).concat(common_1.CustomBuildConfigSchema);
106
- //# sourceMappingURL=ios.js.map
package/dist/job.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -29,8 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
39
  exports.JobSchema = void 0;
30
40
  exports.sanitizeBuildJob = sanitizeBuildJob;
31
41
  const joi_1 = __importDefault(require("joi"));
32
- const common_1 = require("./common");
33
42
  const Android = __importStar(require("./android"));
43
+ const common_1 = require("./common");
34
44
  const Ios = __importStar(require("./ios"));
35
45
  exports.JobSchema = joi_1.default.object({
36
46
  platform: joi_1.default.string()
@@ -53,4 +63,3 @@ function sanitizeBuildJob(rawJob) {
53
63
  return job;
54
64
  }
55
65
  }
56
- //# sourceMappingURL=job.js.map
package/dist/logs.js CHANGED
@@ -192,4 +192,3 @@ var LogMarker;
192
192
  LogMarker["START_PHASE"] = "START_PHASE";
193
193
  LogMarker["END_PHASE"] = "END_PHASE";
194
194
  })(LogMarker || (exports.LogMarker = LogMarker = {}));
195
- //# sourceMappingURL=logs.js.map
package/dist/metadata.js CHANGED
@@ -51,4 +51,3 @@ function sanitizeMetadata(metadata) {
51
51
  return value;
52
52
  }
53
53
  }
54
- //# sourceMappingURL=metadata.js.map
package/dist/step.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare const FunctionStepZ: z.ZodObject<{
5
5
  name: z.ZodOptional<z.ZodString>;
6
6
  working_directory: z.ZodOptional<z.ZodString>;
7
7
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
8
+ __metrics_id: z.ZodOptional<z.ZodString>;
8
9
  uses: z.ZodString;
9
10
  with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
10
11
  run: z.ZodOptional<z.ZodNever>;
@@ -18,6 +19,7 @@ export declare const ShellStepZ: z.ZodObject<{
18
19
  name: z.ZodOptional<z.ZodString>;
19
20
  working_directory: z.ZodOptional<z.ZodString>;
20
21
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
22
+ __metrics_id: z.ZodOptional<z.ZodString>;
21
23
  run: z.ZodString;
22
24
  shell: z.ZodOptional<z.ZodString>;
23
25
  outputs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodCodec<z.ZodString, z.ZodObject<{
@@ -37,6 +39,7 @@ export declare const StepZ: z.ZodUnion<readonly [z.ZodObject<{
37
39
  name: z.ZodOptional<z.ZodString>;
38
40
  working_directory: z.ZodOptional<z.ZodString>;
39
41
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
42
+ __metrics_id: z.ZodOptional<z.ZodString>;
40
43
  run: z.ZodString;
41
44
  shell: z.ZodOptional<z.ZodString>;
42
45
  outputs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodCodec<z.ZodString, z.ZodObject<{
@@ -54,6 +57,7 @@ export declare const StepZ: z.ZodUnion<readonly [z.ZodObject<{
54
57
  name: z.ZodOptional<z.ZodString>;
55
58
  working_directory: z.ZodOptional<z.ZodString>;
56
59
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
60
+ __metrics_id: z.ZodOptional<z.ZodString>;
57
61
  uses: z.ZodString;
58
62
  with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
63
  run: z.ZodOptional<z.ZodNever>;
package/dist/step.js CHANGED
@@ -52,6 +52,9 @@ const CommonStepZ = zod_1.z.object({
52
52
  .record(zod_1.z.string(), zod_1.z.string())
53
53
  .optional()
54
54
  .describe('Additional environment variables to set for the step.'),
55
+ // Internal field for metrics collection. Not documented publicly.
56
+ // YAML uses snake_case, but we transform to camelCase for internal use.
57
+ __metrics_id: zod_1.z.string().optional(),
55
58
  });
56
59
  exports.FunctionStepZ = CommonStepZ.extend({
57
60
  /**
@@ -123,8 +126,8 @@ exports.ShellStepZ = CommonStepZ.extend({
123
126
  .array(zod_1.z.union([
124
127
  // We allow a shorthand for outputs
125
128
  zod_1.z.codec(zod_1.z.string(), zod_1.z.object({ name: zod_1.z.string(), required: zod_1.z.boolean().default(false) }), {
126
- decode: (name) => ({ name, required: false }),
127
- encode: (output) => output.name,
129
+ decode: name => ({ name, required: false }),
130
+ encode: output => output.name,
128
131
  }),
129
132
  zod_1.z.object({
130
133
  name: zod_1.z.string(),
@@ -146,4 +149,3 @@ function isStepShellStep(step) {
146
149
  function isStepFunctionStep(step) {
147
150
  return step.uses !== undefined;
148
151
  }
149
- //# sourceMappingURL=step.js.map
@@ -68,4 +68,3 @@ var SubmissionConfig;
68
68
  ]));
69
69
  })(Android = SubmissionConfig.Android || (SubmissionConfig.Android = {}));
70
70
  })(SubmissionConfig || (exports.SubmissionConfig = SubmissionConfig = {}));
71
- //# sourceMappingURL=submission-config.js.map
package/package.json CHANGED
@@ -1,28 +1,35 @@
1
1
  {
2
2
  "name": "@expo/eas-build-job",
3
+ "version": "18.0.1",
4
+ "bugs": "https://github.com/expo/eas-cli/issues",
5
+ "license": "MIT",
6
+ "author": "Expo <support@expo.io>",
3
7
  "repository": {
4
8
  "type": "git",
5
- "url": "https://github.com/expo/eas-build.git",
9
+ "url": "https://github.com/expo/eas-cli.git",
6
10
  "directory": "packages/eas-build-job"
7
11
  },
8
- "version": "1.0.263",
9
- "main": "dist/index.js",
10
- "types": "dist/index.d.ts",
11
12
  "files": [
12
13
  "dist"
13
14
  ],
15
+ "main": "dist/index.js",
16
+ "types": "dist/index.d.ts",
14
17
  "scripts": {
15
18
  "start": "yarn watch",
16
19
  "watch": "tsc --watch --preserveWatchOutput",
17
20
  "build": "tsc",
18
- "prepack": "rm -rf dist && tsc -p tsconfig.build.json",
19
- "test": "jest --config jest.config.js",
20
- "test:watch": "jest --config jest.config.js --watch",
21
- "clean": "rm -rf node_modules dist coverage"
21
+ "typecheck": "tsc",
22
+ "prepack": "rm -rf dist *.tsbuildinfo && tsc -p tsconfig.build.json",
23
+ "test": "jest --config jest.config.ts",
24
+ "test:watch": "jest --config jest.config.ts --watch",
25
+ "clean": "rm -rf node_modules dist coverage *.tsbuildinfo"
26
+ },
27
+ "dependencies": {
28
+ "@expo/logger": "18.0.1",
29
+ "joi": "^17.13.1",
30
+ "semver": "^7.6.2",
31
+ "zod": "^4.3.5"
22
32
  },
23
- "author": "Expo <support@expo.io>",
24
- "bugs": "https://github.com/expo/eas-build/issues",
25
- "license": "MIT",
26
33
  "devDependencies": {
27
34
  "@types/jest": "^29.5.12",
28
35
  "@types/node": "20.14.2",
@@ -30,15 +37,5 @@
30
37
  "ts-jest": "^29.1.4",
31
38
  "typescript": "^5.5.4"
32
39
  },
33
- "dependencies": {
34
- "@expo/logger": "1.0.260",
35
- "joi": "^17.13.1",
36
- "semver": "^7.6.2",
37
- "zod": "^4.3.5"
38
- },
39
- "volta": {
40
- "node": "20.14.0",
41
- "yarn": "1.22.21"
42
- },
43
- "gitHead": "794754a2feae676b276d3179a1bfa18c8ec98d41"
40
+ "gitHead": "772d4dd654a71b0d88e73341106d417222dd401e"
44
41
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\nimport { LoggerLevel } from '@expo/logger';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n StaticWorkflowInterpolationContextZ,\n StaticWorkflowInterpolationContext,\n CustomBuildConfigSchema,\n} from './common';\nimport { Step } from './step';\n\nexport interface Keystore {\n dataBase64: string;\n keystorePassword: string;\n keyAlias: string;\n keyPassword?: string;\n}\n\nconst KeystoreSchema = Joi.object({\n dataBase64: Joi.string().required(),\n keystorePassword: Joi.string().allow('').required(),\n keyAlias: Joi.string().required(),\n keyPassword: Joi.string().allow(''),\n});\n\nexport enum BuildType {\n APK = 'apk',\n APP_BUNDLE = 'app-bundle',\n}\n\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n corepack?: boolean;\n pnpm?: string;\n yarn?: string;\n bun?: string;\n ndk?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n corepack: Joi.boolean(),\n yarn: Joi.string(),\n pnpm: Joi.string(),\n bun: Joi.string(),\n ndk: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface BuildSecrets {\n buildCredentials?: {\n keystore: Keystore;\n };\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n}\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n platform: Platform.ANDROID;\n projectRootDirectory: string;\n buildProfile?: string;\n updates?: {\n channel?: string;\n };\n secrets?: BuildSecrets;\n builderEnvironment?: BuilderEnvironment;\n cache?: Cache;\n developmentClient?: boolean;\n version?: {\n versionCode?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n versionName?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n gradleCommand?: string;\n applicationArchivePath?: string;\n\n buildType?: BuildType;\n username?: string;\n\n customBuildConfig?: {\n path: string;\n };\n steps?: Step[];\n outputs?: Record<string, string>;\n\n experimental?: {\n prebuildCommand?: string;\n };\n expoBuildUrl?: string;\n githubTriggerOptions?: {\n autoSubmit: boolean;\n submitProfile?: string;\n };\n loggerLevel?: LoggerLevel;\n\n workflowInterpolationContext?: StaticWorkflowInterpolationContext;\n\n initiatingUserId: string;\n appId: string;\n\n environment?: string;\n}\n\nconst SecretsSchema = Joi.object({\n buildCredentials: Joi.object({ keystore: KeystoreSchema.required() }),\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n});\n\nexport const JobSchema = Joi.object({\n mode: Joi.string()\n .valid(BuildMode.BUILD, BuildMode.CUSTOM, BuildMode.REPACK)\n .default(BuildMode.BUILD),\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.ANDROID).required(),\n projectRootDirectory: Joi.string().required(),\n buildProfile: Joi.when('triggeredBy', {\n is: BuildTrigger.GIT_BASED_INTEGRATION,\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: SecretsSchema,\n otherwise: SecretsSchema.required(),\n }),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n version: Joi.object({\n versionCode: Joi.string().regex(/^\\d+$/),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n gradleCommand: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n buildType: Joi.string().valid(...Object.values(BuildType)),\n username: Joi.string(),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n expoBuildUrl: Joi.string().uri().optional(),\n githubTriggerOptions: Joi.object({\n autoSubmit: Joi.boolean().default(false),\n submitProfile: Joi.string(),\n }),\n loggerLevel: Joi.string().valid(...Object.values(LoggerLevel)),\n\n initiatingUserId: Joi.string().required(),\n appId: Joi.string().required(),\n\n environment: Joi.string(),\n\n workflowInterpolationContext: Joi.object().custom((workflowInterpolationContext) =>\n StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)\n ),\n}).concat(CustomBuildConfigSchema);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,kEAA2C,CAAA;IAC3C,0DAAmC,CAAA;IACnC;;OAEG;IACH,4DAAqC,CAAA;AACvC,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AAED,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,kDAA2B,CAAA;IAE3B,8DAAuC,CAAA;IACvC,0CAAmB,CAAA;IAEnB,sCAAe,CAAA;AACjB,CAAC,EARW,mBAAmB,mCAAnB,mBAAmB,QAQ9B;AAEM,MAAM,iBAAiB,GAAG,CAG/B,YAAmB,EACoC,EAAE;IACzD,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAA2B,CAAC,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B","sourcesContent":["export enum ManagedArtifactType {\n APPLICATION_ARCHIVE = 'APPLICATION_ARCHIVE',\n BUILD_ARTIFACTS = 'BUILD_ARTIFACTS',\n /**\n * @deprecated\n */\n XCODE_BUILD_LOGS = 'XCODE_BUILD_LOGS',\n}\n\nexport enum GenericArtifactType {\n ANDROID_APK = 'android-apk',\n ANDROID_AAB = 'android-aab',\n\n IOS_SIMULATOR_APP = 'ios-simulator-app',\n IOS_IPA = 'ios-ipa',\n\n OTHER = 'other',\n}\n\nexport const isGenericArtifact = <\n TSpec extends { type: GenericArtifactType | ManagedArtifactType },\n>(\n artifactSpec: TSpec\n): artifactSpec is TSpec & { type: GenericArtifactType } => {\n if (Object.values(GenericArtifactType).includes(artifactSpec.type as GenericArtifactType)) {\n return true;\n }\n return false;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\nimport { z } from 'zod';\n\nimport { BuildPhase, BuildPhaseResult } from './logs';\nimport { validateSteps } from './step';\n\nexport enum BuildMode {\n BUILD = 'build',\n RESIGN = 'resign',\n CUSTOM = 'custom',\n REPACK = 'repack',\n}\n\nexport enum Workflow {\n GENERIC = 'generic',\n MANAGED = 'managed',\n UNKNOWN = 'unknown',\n}\n\nexport enum Platform {\n ANDROID = 'android',\n IOS = 'ios',\n}\n\nexport enum ArchiveSourceType {\n NONE = 'NONE',\n URL = 'URL',\n PATH = 'PATH',\n GCS = 'GCS',\n GIT = 'GIT',\n R2 = 'R2',\n}\n\nexport enum BuildTrigger {\n EAS_CLI = 'EAS_CLI',\n GIT_BASED_INTEGRATION = 'GIT_BASED_INTEGRATION',\n}\n\nexport type ArchiveSource =\n | { type: ArchiveSourceType.NONE }\n | { type: ArchiveSourceType.GCS; bucketKey: string; metadataLocation?: string }\n | { type: ArchiveSourceType.R2; bucketKey: string }\n | { type: ArchiveSourceType.URL; url: string }\n | { type: ArchiveSourceType.PATH; path: string }\n | {\n type: ArchiveSourceType.GIT;\n /**\n * Url that can be used to clone repository.\n * It should contain embedded credentials for private registries.\n */\n repositoryUrl: string;\n /** A Git ref - points to a branch head, tag head or a branch name. */\n gitRef: string | null;\n /**\n * Git commit hash.\n */\n gitCommitHash: string;\n };\n\nexport const ArchiveSourceSchema = Joi.object<ArchiveSource>({\n type: Joi.string()\n .valid(...Object.values(ArchiveSourceType))\n .required(),\n})\n .when(Joi.object({ type: ArchiveSourceType.GCS }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GCS).required(),\n bucketKey: Joi.string().required(),\n metadataLocation: Joi.string(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.URL }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.URL).required(),\n url: Joi.string().uri().required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.GIT }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GIT).required(),\n repositoryUrl: Joi.string().required(),\n gitCommitHash: Joi.string().required(),\n gitRef: Joi.string().allow(null).required(),\n }),\n })\n .when(Joi.object({ type: ArchiveSourceType.PATH }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.PATH).required(),\n path: Joi.string().required(),\n }),\n });\n\nexport const ArchiveSourceSchemaZ = z.discriminatedUnion('type', [\n z.object({\n type: z.literal(ArchiveSourceType.GIT),\n repositoryUrl: z.string().url(),\n gitRef: z.string().nullable(),\n gitCommitHash: z.string(),\n }),\n z.object({\n type: z.literal(ArchiveSourceType.PATH),\n path: z.string(),\n }),\n z.object({\n type: z.literal(ArchiveSourceType.URL),\n url: z.string().url(),\n }),\n z.object({\n type: z.literal(ArchiveSourceType.GCS),\n bucketKey: z.string(),\n metadataLocation: z.string().optional(),\n }),\n z.object({\n type: z.literal(ArchiveSourceType.NONE),\n }),\n]);\n\nexport type Env = Record<string, string>;\nexport const EnvSchema = Joi.object().pattern(Joi.string(), Joi.string());\n\nexport type EnvironmentSecret = {\n name: string;\n type: EnvironmentSecretType;\n value: string;\n};\nexport enum EnvironmentSecretType {\n STRING = 'string',\n FILE = 'file',\n}\nexport const EnvironmentSecretsSchema = Joi.array().items(\n Joi.object({\n name: Joi.string().required(),\n value: Joi.string().allow('').required(),\n type: Joi.string()\n .valid(...Object.values(EnvironmentSecretType))\n .required(),\n })\n);\nexport const EnvironmentSecretZ = z.object({\n name: z.string(),\n value: z.string(),\n type: z.nativeEnum(EnvironmentSecretType),\n});\n\nexport interface Cache {\n disabled: boolean;\n clear: boolean;\n key?: string;\n /**\n * @deprecated We don't cache anything by default anymore.\n */\n cacheDefaultPaths?: boolean;\n /**\n * @deprecated We use paths now since there is no default caching anymore.\n */\n customPaths?: string[];\n paths: string[];\n}\n\nexport const CacheSchema = Joi.object({\n disabled: Joi.boolean().default(false),\n clear: Joi.boolean().default(false),\n key: Joi.string().allow('').max(128),\n cacheDefaultPaths: Joi.boolean(),\n customPaths: Joi.array().items(Joi.string()),\n paths: Joi.array().items(Joi.string()).default([]),\n});\n\nexport interface BuildPhaseStats {\n buildPhase: BuildPhase;\n result: BuildPhaseResult;\n durationMs: number;\n}\n\nconst GitHubContextZ = z.object({\n triggering_actor: z.string().optional(),\n event_name: z.enum(['push', 'pull_request', 'workflow_dispatch', 'schedule']),\n sha: z.string(),\n ref: z.string(),\n ref_name: z.string(),\n ref_type: z.string(),\n commit_message: z.string().optional(),\n label: z.string().optional(),\n repository: z.string().optional(),\n repository_owner: z.string().optional(),\n event: z\n .record(z.string(), z.unknown())\n .and(\n z.object({\n label: z\n .looseObject({\n name: z.string(),\n })\n .optional(),\n head_commit: z\n .looseObject({\n message: z.string(),\n id: z.string(),\n })\n .optional(),\n pull_request: z\n .looseObject({\n number: z.number(),\n })\n .optional(),\n number: z.number().optional(),\n schedule: z.string().optional(),\n inputs: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional(),\n })\n )\n .optional(),\n});\n\nexport const StaticWorkflowInterpolationContextZ = z.object({\n after: z.record(\n z.string(),\n z.object({\n status: z.string(),\n outputs: z.record(z.string(), z.string().nullable()),\n })\n ),\n needs: z.record(\n z.string(),\n z.object({\n status: z.string(),\n outputs: z.record(z.string(), z.string().nullable()),\n })\n ),\n inputs: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional(),\n github:\n // We need to .optional() to support jobs that are not triggered by a GitHub event.\n GitHubContextZ.optional(),\n workflow: z.looseObject({\n id: z.string(),\n name: z.string(),\n filename: z.string(),\n url: z.url(),\n }),\n app: z.looseObject({\n id: z.string(),\n slug: z.string(),\n }),\n account: z.looseObject({\n id: z.string(),\n name: z.string(),\n }),\n});\n\nexport type StaticWorkflowInterpolationContext = z.infer<\n typeof StaticWorkflowInterpolationContextZ\n>;\n\nexport type DynamicInterpolationContext = {\n env: Record<string, string | undefined>;\n success: () => boolean;\n failure: () => boolean;\n always: () => boolean;\n never: () => boolean;\n fromJSON: (value: string) => unknown;\n toJSON: (value: unknown) => string;\n contains: (value: string, substring: string) => boolean;\n startsWith: (value: string, prefix: string) => boolean;\n endsWith: (value: string, suffix: string) => boolean;\n hashFiles: (...globs: string[]) => string;\n replaceAll: (input: string, stringToReplace: string, replacementString: string) => string;\n substring: (input: string, start: number, end?: number) => string;\n};\n\nexport type WorkflowInterpolationContext = StaticWorkflowInterpolationContext &\n DynamicInterpolationContext;\n\nexport const CustomBuildConfigSchema = Joi.object().when('.mode', {\n is: [BuildMode.CUSTOM, BuildMode.REPACK],\n then: Joi.object().when('.customBuildConfig.path', {\n is: Joi.exist(),\n then: Joi.object({\n customBuildConfig: Joi.object({\n path: Joi.string().required(),\n }).required(),\n steps: Joi.any().strip(),\n outputs: Joi.any().strip(),\n }),\n otherwise: Joi.object({\n customBuildConfig: Joi.any().strip(),\n steps: Joi.array()\n .items(Joi.any())\n .required()\n .custom((steps) => validateSteps(steps), 'steps validation'),\n outputs: Joi.object().pattern(Joi.string(), Joi.string()).required(),\n }),\n }),\n otherwise: Joi.object({\n customBuildConfig: Joi.any().strip(),\n steps: Joi.any().strip(),\n outputs: Joi.any().strip(),\n }),\n});\n\nexport enum EasCliNpmTags {\n STAGING = 'latest-eas-build-staging',\n PRODUCTION = 'latest-eas-build',\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"","sourcesContent":["import { DynamicInterpolationContext, StaticWorkflowInterpolationContext } from './common';\nimport { Job } from './job';\nimport { Metadata } from './metadata';\n\ntype StaticJobOnlyInterpolationContext = {\n job: Job;\n metadata: Metadata | null;\n steps: Record<\n string,\n {\n outputs: Record<string, string | undefined>;\n }\n >;\n expoApiServerURL: string;\n};\n\nexport type StaticJobInterpolationContext =\n | (StaticWorkflowInterpolationContext & StaticJobOnlyInterpolationContext)\n | StaticJobOnlyInterpolationContext;\n\nexport type JobInterpolationContext = StaticJobInterpolationContext & DynamicInterpolationContext;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,iCAA2D;AAE3D,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,4CAA+B,CAAA;IAC/B,sEAAyD,CAAA;IACzD,0CAA6B,CAAA;IAC7B,wEAA2D,CAAA;IAC3D,sFAAyE,CAAA;IACzE,oEAAuD,CAAA;IACvD,4DAA+C,CAAA;AACjD,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB;AAkBD,MAAa,UAAW,SAAQ,KAAK;IAQnC,YAAY,OAAe,EAAE,OAA0B;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IACM,MAAM;QACX,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,mBAAmB;YACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AAzBD,gCAyBC;AAED,MAAa,eAAgB,SAAQ,KAAK;IACxC,YACS,SAAiB,EACjB,OAAe,EACf,OAAgB;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;IAGzB,CAAC;CACF;AARD,0CAQC;AAED,MAAa,YAAa,SAAQ,eAAe;IAC/C,YAAY,UAAuB;QACjC,KAAK,CACH,SAAS,CAAC,aAAa,EACvB,UAAU;YACR,CAAC,CAAC,kCAAkC,4BAAqB,CAAC,UAAU,CAAC,oCAAoC;YACzG,CAAC,CAAC,+CAA+C,CACpD,CAAC;IACJ,CAAC;CACF;AATD,oCASC;AAED,MAAa,iBAAkB,SAAQ,UAAU;IAC/C;QACE,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC;QAC1C,MAAM,OAAO,GAAG,+CAA+C,CAAC;QAChE,KAAK,CAAC,OAAO,EAAE;YACb,SAAS;YACT,iBAAiB,EAAE,OAAO;YAC1B,mBAAmB,EAAE,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AAVD,8CAUC;AAED,MAAa,uBAAwB,SAAQ,UAAU;IACrD;QACE,MAAM,SAAS,GAAG,SAAS,CAAC,0BAA0B,CAAC;QACvD,MAAM,OAAO,GAAG,4DAA4D,CAAC;QAC7E,KAAK,CAAC,OAAO,EAAE;YACb,SAAS;YACT,iBAAiB,EAAE,OAAO;YAC1B,mBAAmB,EAAE,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AAVD,0DAUC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IACnE,YAAY,OAAe;QACzB,KAAK,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAJD,4EAIC","sourcesContent":["import { BuildPhase, buildPhaseDisplayName } from './logs';\n\nexport enum ErrorCode {\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n UNKNOWN_CUSTOM_BUILD_ERROR = 'UNKNOWN_CUSTOM_BUILD_ERROR',\n SERVER_ERROR = 'SERVER_ERROR',\n UNKNOWN_FASTLANE_ERROR = 'EAS_BUILD_UNKNOWN_FASTLANE_ERROR',\n UNKNOWN_FASTLANE_RESIGN_ERROR = 'EAS_BUILD_UNKNOWN_FASTLANE_RESIGN_ERROR',\n UNKNOWN_GRADLE_ERROR = 'EAS_BUILD_UNKNOWN_GRADLE_ERROR',\n BUILD_TIMEOUT_ERROR = 'EAS_BUILD_TIMEOUT_ERROR',\n}\n\nexport interface ExternalBuildError {\n errorCode: string;\n message: string;\n docsUrl?: string;\n buildPhase?: BuildPhase;\n}\n\ninterface BuildErrorDetails {\n errorCode: string;\n userFacingMessage: string;\n userFacingErrorCode: string;\n docsUrl?: string;\n innerError?: Error;\n buildPhase?: BuildPhase;\n}\n\nexport class BuildError extends Error {\n public errorCode: string;\n public userFacingMessage: string;\n public userFacingErrorCode: string;\n public docsUrl?: string;\n public innerError?: Error;\n public buildPhase?: BuildPhase;\n\n constructor(message: string, details: BuildErrorDetails) {\n super(message);\n this.errorCode = details.errorCode;\n this.userFacingErrorCode = details.userFacingErrorCode;\n this.userFacingMessage = details.userFacingMessage;\n this.docsUrl = details.docsUrl;\n this.innerError = details.innerError;\n this.buildPhase = details.buildPhase;\n }\n public format(): ExternalBuildError {\n return {\n errorCode: this.userFacingErrorCode,\n message: this.userFacingMessage,\n docsUrl: this.docsUrl,\n buildPhase: this.buildPhase,\n };\n }\n}\n\nexport class UserFacingError extends Error {\n constructor(\n public errorCode: string,\n public message: string,\n public docsUrl?: string\n ) {\n super(message);\n }\n}\n\nexport class UnknownError extends UserFacingError {\n constructor(buildPhase?: BuildPhase) {\n super(\n ErrorCode.UNKNOWN_ERROR,\n buildPhase\n ? `Unknown error. See logs of the ${buildPhaseDisplayName[buildPhase]} build phase for more information.`\n : 'Unknown error. See logs for more information.'\n );\n }\n}\n\nexport class UnknownBuildError extends BuildError {\n constructor() {\n const errorCode = ErrorCode.UNKNOWN_ERROR;\n const message = 'Unknown error. See logs for more information.';\n super(message, {\n errorCode,\n userFacingMessage: message,\n userFacingErrorCode: errorCode,\n });\n }\n}\n\nexport class UnknownCustomBuildError extends BuildError {\n constructor() {\n const errorCode = ErrorCode.UNKNOWN_CUSTOM_BUILD_ERROR;\n const message = 'Unknown custom build error. See logs for more information.';\n super(message, {\n errorCode,\n userFacingMessage: message,\n userFacingErrorCode: errorCode,\n });\n }\n}\n\nexport class CredentialsDistCertMismatchError extends UserFacingError {\n constructor(message: string) {\n super('EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH', message);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../src/generic.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA2C;AAE3C,qCAKkB;AAClB,iCAA+B;AAE/B,IAAiB,OAAO,CA0CvB;AA1CD,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,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,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,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;QACrC,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,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;QACjD,4BAA4B,EAAE,4CAAmC,CAAC,QAAQ,EAAE;QAE5E,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;QAC5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QAEjB,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,YAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACrD,CAAC,CAAC;IAGU,mBAAW,GAAG,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5C,CAAC,EA1CgB,OAAO,uBAAP,OAAO,QA0CvB","sourcesContent":["import { z } from 'zod';\nimport { LoggerLevel } from '@expo/logger';\n\nimport {\n ArchiveSourceSchemaZ,\n BuildTrigger,\n EnvironmentSecretZ,\n StaticWorkflowInterpolationContextZ,\n} 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 corepack: z.boolean().optional(),\n yarn: z.string().optional(),\n pnpm: z.string().optional(),\n bun: z.string().optional(),\n env: z.record(z.string(), 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 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 workflowInterpolationContext: StaticWorkflowInterpolationContextZ.optional(),\n\n initiatingUserId: z.string(),\n appId: z.string(),\n\n steps: z.array(StepZ).min(1),\n outputs: z.record(z.string(), z.string()).optional(),\n });\n\n export type PartialJob = z.infer<typeof PartialJobZ>;\n export const PartialJobZ = JobZ.partial();\n}\n"]}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AACrC,6CAA6B;AAC7B,mCAekB;AAdhB,2GAAA,iBAAiB,OAAA;AAEjB,8GAAA,oBAAoB,OAAA;AACpB,mGAAA,SAAS,OAAA;AAET,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AAGb,+GAAA,qBAAqB,OAAA;AACrB,kGAAA,QAAQ,OAAA;AACR,kGAAA,QAAQ,OAAA;AAIV,uCAAwD;AAArC,4GAAA,gBAAgB,OAAA;AACnC,wCAAsB;AACtB,yCAAuB;AACvB,mDAAmC;AACnC,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,sDAAoC;AAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAC1C,0BAAO","sourcesContent":["export * as Android from './android';\nexport * as Ios from './ios';\nexport {\n ArchiveSourceType,\n ArchiveSource,\n ArchiveSourceSchemaZ,\n BuildMode,\n BuildPhaseStats,\n BuildTrigger,\n EasCliNpmTags,\n Env,\n EnvironmentSecret,\n EnvironmentSecretType,\n Workflow,\n Platform,\n Cache,\n WorkflowInterpolationContext,\n} from './common';\nexport { Metadata, sanitizeMetadata } from './metadata';\nexport * from './job';\nexport * from './logs';\nexport * as errors from './errors';\nexport * from './artifacts';\nexport * from './context';\nexport * from './generic';\nexport * from './step';\nexport * from './submission-config';\n\nconst version = require('../package.json').version;\nexport { version };\n"]}
package/dist/ios.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\nimport { LoggerLevel } from '@expo/logger';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n BuildTrigger,\n BuildMode,\n StaticWorkflowInterpolationContextZ,\n StaticWorkflowInterpolationContext,\n CustomBuildConfigSchema,\n} from './common';\nimport { Step } from './step';\n\nexport type DistributionType = 'store' | 'internal' | 'simulator';\n\nconst TargetCredentialsSchema = Joi.object().keys({\n provisioningProfileBase64: Joi.string().required(),\n distributionCertificate: Joi.object({\n dataBase64: Joi.string().required(),\n password: Joi.string().allow('').required(),\n }).required(),\n});\n\nexport interface TargetCredentials {\n provisioningProfileBase64: string;\n distributionCertificate: DistributionCertificate;\n}\n\nconst BuildCredentialsSchema = Joi.object().pattern(\n Joi.string().required(),\n TargetCredentialsSchema\n);\n\ntype Target = string;\nexport type BuildCredentials = Record<Target, TargetCredentials>;\n\nexport interface DistributionCertificate {\n dataBase64: string;\n password: string;\n}\nexport interface BuilderEnvironment {\n image?: string;\n node?: string;\n corepack?: boolean;\n yarn?: string;\n bun?: string;\n pnpm?: string;\n bundler?: string;\n fastlane?: string;\n cocoapods?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string(),\n node: Joi.string(),\n corepack: Joi.boolean(),\n yarn: Joi.string(),\n pnpm: Joi.string(),\n bun: Joi.string(),\n bundler: Joi.string(),\n fastlane: Joi.string(),\n cocoapods: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface BuildSecrets {\n buildCredentials?: BuildCredentials;\n environmentSecrets?: EnvironmentSecret[];\n robotAccessToken?: string;\n}\n\nexport interface Job {\n mode: BuildMode;\n type: Workflow;\n triggeredBy: BuildTrigger;\n projectArchive: ArchiveSource;\n resign?: {\n applicationArchiveSource: ArchiveSource;\n };\n platform: Platform.IOS;\n projectRootDirectory?: string;\n buildProfile?: string;\n updates?: {\n channel?: string;\n };\n secrets?: BuildSecrets;\n builderEnvironment?: BuilderEnvironment;\n cache?: Cache;\n developmentClient?: boolean;\n simulator?: boolean;\n version?: {\n buildNumber?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n appVersion?: string;\n /**\n * support for this field is implemented, but specifying it is disabled on schema level\n */\n runtimeVersion?: string;\n };\n buildArtifactPaths?: string[];\n\n scheme?: string;\n buildConfiguration?: string;\n applicationArchivePath?: string;\n\n username?: string;\n\n customBuildConfig?: {\n path: string;\n };\n steps?: Step[];\n outputs?: Record<string, string>;\n\n experimental?: {\n prebuildCommand?: string;\n };\n expoBuildUrl?: string;\n githubTriggerOptions?: {\n autoSubmit: boolean;\n submitProfile?: string;\n };\n loggerLevel?: LoggerLevel;\n\n workflowInterpolationContext?: StaticWorkflowInterpolationContext;\n\n initiatingUserId: string;\n appId: string;\n\n environment?: string;\n}\n\nconst SecretsSchema = Joi.object({\n buildCredentials: BuildCredentialsSchema,\n environmentSecrets: EnvironmentSecretsSchema,\n robotAccessToken: Joi.string(),\n});\n\nexport const JobSchema = Joi.object({\n mode: Joi.string()\n .valid(...Object.values(BuildMode))\n .default(BuildMode.BUILD),\n type: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.string().valid(Workflow.UNKNOWN).default(Workflow.UNKNOWN),\n otherwise: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n }),\n triggeredBy: Joi.string()\n .valid(...Object.values(BuildTrigger))\n .default(BuildTrigger.EAS_CLI),\n projectArchive: ArchiveSourceSchema.required(),\n resign: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.object({\n applicationArchiveSource: ArchiveSourceSchema.required(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n platform: Joi.string().valid(Platform.IOS).required(),\n projectRootDirectory: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.RESIGN),\n then: Joi.any().strip(),\n otherwise: Joi.string().required(),\n }),\n buildProfile: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.BUILD),\n then: Joi.when('triggeredBy', {\n is: Joi.string().valid(BuildTrigger.GIT_BASED_INTEGRATION),\n then: Joi.string().required(),\n otherwise: Joi.string(),\n }),\n otherwise: Joi.string(),\n }),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: SecretsSchema,\n otherwise: SecretsSchema.required(),\n }),\n builderEnvironment: BuilderEnvironmentSchema,\n cache: CacheSchema.default(),\n developmentClient: Joi.boolean(),\n simulator: Joi.boolean(),\n version: Joi.object({\n buildNumber: Joi.string(),\n }),\n buildArtifactPaths: Joi.array().items(Joi.string()),\n\n scheme: Joi.string(),\n buildConfiguration: Joi.string(),\n applicationArchivePath: Joi.string(),\n\n username: Joi.string(),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n expoBuildUrl: Joi.string().uri().optional(),\n githubTriggerOptions: Joi.object({\n autoSubmit: Joi.boolean().default(false),\n submitProfile: Joi.string(),\n }),\n loggerLevel: Joi.string().valid(...Object.values(LoggerLevel)),\n\n initiatingUserId: Joi.string().required(),\n appId: Joi.string().required(),\n\n environment: Joi.string(),\n\n workflowInterpolationContext: Joi.object().custom((workflowInterpolationContext) =>\n StaticWorkflowInterpolationContextZ.optional().parse(workflowInterpolationContext)\n ),\n}).concat(CustomBuildConfigSchema);\n"]}
package/dist/job.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,4CAaC;AA/BD,8CAAsB;AAEtB,qCAAoC;AACpC,mDAAqC;AAErC,2CAA6B;AAKhB,QAAA,SAAS,GAAG,aAAG,CAAC,MAAM,CAAW;IAC5C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE;SACnB,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAQ,CAAC,CAAC;SACjC,QAAQ,EAAE;CACd,CAAC;KACC,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,iBAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KACvF,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,iBAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;AAEnF,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,iBAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;QAClD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAa,KAAK,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC","sourcesContent":["import Joi from 'joi';\n\nimport { Platform } from './common';\nimport * as Android from './android';\nimport { Generic } from './generic';\nimport * as Ios from './ios';\n\nexport type BuildJob = Android.Job | Ios.Job;\nexport type Job = BuildJob | Generic.Job;\n\nexport const JobSchema = Joi.object<BuildJob>({\n platform: Joi.string()\n .valid(...Object.values(Platform))\n .required(),\n})\n .when(Joi.object({ platform: Platform.ANDROID }).unknown(), { then: Android.JobSchema })\n .when(Joi.object({ platform: Platform.IOS }).unknown(), { then: Ios.JobSchema });\n\nexport function sanitizeBuildJob(rawJob: object): BuildJob {\n const { value, error } = JobSchema.validate(rawJob, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n\n if (error) {\n throw error;\n } else {\n const job: BuildJob = value;\n return job;\n }\n}\n"]}
package/dist/logs.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"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","sourcesContent":["export enum BuildPhase {\n UNKNOWN = 'UNKNOWN',\n QUEUE = 'QUEUE',\n SPIN_UP_BUILDER = 'SPIN_UP_BUILDER',\n BUILDER_INFO = 'BUILDER_INFO',\n READ_APP_CONFIG = 'READ_APP_CONFIG',\n READ_EAS_JSON = 'READ_EAS_JSON',\n READ_PACKAGE_JSON = 'READ_PACKAGE_JSON',\n RUN_EXPO_DOCTOR = 'RUN_EXPO_DOCTOR',\n SET_UP_BUILD_ENVIRONMENT = 'SET_UP_BUILD_ENVIRONMENT',\n START_BUILD = 'START_BUILD',\n INSTALL_CUSTOM_TOOLS = 'INSTALL_CUSTOM_TOOLS',\n PREPARE_PROJECT = 'PREPARE_PROJECT',\n RESTORE_CACHE = 'RESTORE_CACHE',\n INSTALL_DEPENDENCIES = 'INSTALL_DEPENDENCIES',\n EAS_BUILD_INTERNAL = 'EAS_BUILD_INTERNAL',\n PREBUILD = 'PREBUILD',\n PREPARE_CREDENTIALS = 'PREPARE_CREDENTIALS',\n CALCULATE_EXPO_UPDATES_RUNTIME_VERSION = 'CALCULATE_EXPO_UPDATES_RUNTIME_VERSION',\n CONFIGURE_EXPO_UPDATES = 'CONFIGURE_EXPO_UPDATES',\n EAGER_BUNDLE = 'EAGER_BUNDLE',\n SAVE_CACHE = 'SAVE_CACHE',\n CACHE_STATS = 'CACHE_STATS',\n /**\n * @deprecated\n */\n UPLOAD_ARTIFACTS = 'UPLOAD_ARTIFACTS',\n UPLOAD_APPLICATION_ARCHIVE = 'UPLOAD_APPLICATION_ARCHIVE',\n UPLOAD_BUILD_ARTIFACTS = 'UPLOAD_BUILD_ARTIFACTS',\n PREPARE_ARTIFACTS = 'PREPARE_ARTIFACTS',\n CLEAN_UP_CREDENTIALS = 'CLEAN_UP_CREDENTIALS',\n COMPLETE_BUILD = 'COMPLETE_BUILD',\n FAIL_BUILD = 'FAIL_BUILD',\n\n // ANDROID\n FIX_GRADLEW = 'FIX_GRADLEW',\n RUN_GRADLEW = 'RUN_GRADLEW',\n\n // IOS\n INSTALL_PODS = 'INSTALL_PODS',\n CONFIGURE_XCODE_PROJECT = 'CONFIGURE_XCODE_PROJECT',\n RUN_FASTLANE = 'RUN_FASTLANE',\n\n // HOOKS\n PRE_INSTALL_HOOK = 'PRE_INSTALL_HOOK',\n POST_INSTALL_HOOK = 'POST_INSTALL_HOOK',\n PRE_UPLOAD_ARTIFACTS_HOOK = 'PRE_UPLOAD_ARTIFACTS_HOOK',\n ON_BUILD_SUCCESS_HOOK = 'ON_BUILD_SUCCESS_HOOK',\n ON_BUILD_ERROR_HOOK = 'ON_BUILD_ERROR_HOOK',\n ON_BUILD_COMPLETE_HOOK = 'ON_BUILD_COMPLETE_HOOK',\n ON_BUILD_CANCEL_HOOK = 'ON_BUILD_CANCEL_HOOK',\n\n // RESIGN\n DOWNLOAD_APPLICATION_ARCHIVE = 'DOWNLOAD_APPLICATION_ARCHIVE',\n\n // CUSTOM BUILDS\n PARSE_CUSTOM_WORKFLOW_CONFIG = 'PARSE_CUSTOM_WORKFLOW_CONFIG',\n CUSTOM = 'CUSTOM',\n COMPLETE_JOB = 'COMPLETE_JOB',\n}\n\nexport enum SubmissionPhase {\n SPIN_UP_SUBMISSION_WORKER = 'SPIN_UP_SUBMISSION_WORKER',\n SUBMIT_TO_PLAY_STORE = 'SUBMIT_TO_PLAY_STORE',\n SUBMIT_TO_APP_STORE = 'SUBMIT_TO_APP_STORE',\n FAIL_SUBMISSION = 'FAIL_SUBMISSION',\n}\n\nexport const buildPhaseDisplayName: Record<BuildPhase, string> = {\n [BuildPhase.UNKNOWN]: 'Unknown build phase',\n [BuildPhase.QUEUE]: 'Waiting to start',\n [BuildPhase.SPIN_UP_BUILDER]: 'Spin up build environment',\n [BuildPhase.SET_UP_BUILD_ENVIRONMENT]: 'Set up build environment',\n [BuildPhase.BUILDER_INFO]: 'Builder environment info',\n [BuildPhase.START_BUILD]: 'Start build',\n [BuildPhase.INSTALL_CUSTOM_TOOLS]: 'Install custom tools',\n [BuildPhase.PREPARE_PROJECT]: 'Prepare project',\n [BuildPhase.RESTORE_CACHE]: 'Restore cache',\n [BuildPhase.INSTALL_DEPENDENCIES]: 'Install dependencies',\n [BuildPhase.EAS_BUILD_INTERNAL]: 'Resolve build configuration',\n [BuildPhase.PREBUILD]: 'Prebuild',\n [BuildPhase.PREPARE_CREDENTIALS]: 'Prepare credentials',\n [BuildPhase.CALCULATE_EXPO_UPDATES_RUNTIME_VERSION]: 'Calculate expo-updates runtime version',\n [BuildPhase.CONFIGURE_EXPO_UPDATES]: 'Configure expo-updates',\n [BuildPhase.EAGER_BUNDLE]: 'Bundle JavaScript',\n [BuildPhase.SAVE_CACHE]: 'Save cache',\n [BuildPhase.CACHE_STATS]: 'Cache stats',\n [BuildPhase.UPLOAD_ARTIFACTS]: 'Upload artifacts',\n [BuildPhase.UPLOAD_APPLICATION_ARCHIVE]: 'Upload application archive',\n [BuildPhase.UPLOAD_BUILD_ARTIFACTS]: 'Upload build artifacts',\n [BuildPhase.PREPARE_ARTIFACTS]: 'Prepare artifacts',\n [BuildPhase.CLEAN_UP_CREDENTIALS]: 'Clean up credentials',\n [BuildPhase.COMPLETE_BUILD]: 'Complete build',\n [BuildPhase.FAIL_BUILD]: 'Fail job',\n [BuildPhase.READ_APP_CONFIG]: 'Read app config',\n [BuildPhase.READ_PACKAGE_JSON]: 'Read package.json',\n [BuildPhase.READ_EAS_JSON]: 'Read eas.json',\n [BuildPhase.RUN_EXPO_DOCTOR]: 'Run expo doctor',\n [BuildPhase.DOWNLOAD_APPLICATION_ARCHIVE]: 'Download application archive',\n\n // ANDROID\n [BuildPhase.FIX_GRADLEW]: 'Fix gradlew',\n [BuildPhase.RUN_GRADLEW]: 'Run gradlew',\n\n // IOS\n [BuildPhase.INSTALL_PODS]: 'Install pods',\n [BuildPhase.CONFIGURE_XCODE_PROJECT]: 'Configure Xcode project',\n [BuildPhase.RUN_FASTLANE]: 'Run fastlane',\n\n // HOOKS\n [BuildPhase.PRE_INSTALL_HOOK]: 'Pre-install hook',\n [BuildPhase.POST_INSTALL_HOOK]: 'Post-install hook',\n [BuildPhase.PRE_UPLOAD_ARTIFACTS_HOOK]: 'Pre-upload-artifacts hook',\n [BuildPhase.ON_BUILD_SUCCESS_HOOK]: 'Build success hook',\n [BuildPhase.ON_BUILD_ERROR_HOOK]: 'Build error hook',\n [BuildPhase.ON_BUILD_COMPLETE_HOOK]: 'Build complete hook',\n [BuildPhase.ON_BUILD_CANCEL_HOOK]: 'Build cancel hook',\n\n // CUSTOM\n [BuildPhase.CUSTOM]: 'Unknown build phase',\n [BuildPhase.PARSE_CUSTOM_WORKFLOW_CONFIG]: 'Parse custom build config',\n [BuildPhase.COMPLETE_JOB]: 'Complete job',\n};\n\nexport const submissionPhaseDisplayName: Record<SubmissionPhase, string> = {\n [SubmissionPhase.SPIN_UP_SUBMISSION_WORKER]: 'Spin up submission worker',\n [SubmissionPhase.SUBMIT_TO_PLAY_STORE]: 'Submit to Play Store',\n [SubmissionPhase.SUBMIT_TO_APP_STORE]: 'Submit to App Store',\n [SubmissionPhase.FAIL_SUBMISSION]: 'Fail submission',\n};\n\nexport const buildPhaseWebsiteId: Record<BuildPhase, string> = {\n [BuildPhase.UNKNOWN]: 'unknown',\n [BuildPhase.QUEUE]: 'waiting-to-start',\n [BuildPhase.SPIN_UP_BUILDER]: 'spin-up-build-environment',\n [BuildPhase.SET_UP_BUILD_ENVIRONMENT]: 'set-up-build-environment',\n [BuildPhase.BUILDER_INFO]: 'builder-environment-info',\n [BuildPhase.START_BUILD]: 'start-build',\n [BuildPhase.INSTALL_CUSTOM_TOOLS]: 'install-custom-tools',\n [BuildPhase.PREPARE_PROJECT]: 'prepare-project',\n [BuildPhase.RESTORE_CACHE]: 'restore-cache',\n [BuildPhase.INSTALL_DEPENDENCIES]: 'install-dependencies',\n [BuildPhase.EAS_BUILD_INTERNAL]: 'resolve-build-configuration',\n [BuildPhase.PREBUILD]: 'prebuild',\n [BuildPhase.PREPARE_CREDENTIALS]: 'prepare-credentials',\n [BuildPhase.CALCULATE_EXPO_UPDATES_RUNTIME_VERSION]: 'calculate-expo-updates-runtime-version',\n [BuildPhase.CONFIGURE_EXPO_UPDATES]: 'configure-expo-updates',\n [BuildPhase.EAGER_BUNDLE]: 'eager-bundle',\n [BuildPhase.SAVE_CACHE]: 'save-cache',\n [BuildPhase.CACHE_STATS]: 'cache-stats',\n [BuildPhase.UPLOAD_ARTIFACTS]: 'upload-artifacts',\n [BuildPhase.UPLOAD_APPLICATION_ARCHIVE]: 'upload-application-archive',\n [BuildPhase.UPLOAD_BUILD_ARTIFACTS]: 'upload-build-artifacts',\n [BuildPhase.PREPARE_ARTIFACTS]: 'prepare-artifacts',\n [BuildPhase.CLEAN_UP_CREDENTIALS]: 'clean-up-credentials',\n [BuildPhase.COMPLETE_BUILD]: 'complete-build',\n [BuildPhase.FAIL_BUILD]: 'fail-build',\n [BuildPhase.READ_APP_CONFIG]: 'read-app-config',\n [BuildPhase.READ_PACKAGE_JSON]: 'read-package-json',\n [BuildPhase.READ_EAS_JSON]: 'read-eas-json',\n [BuildPhase.RUN_EXPO_DOCTOR]: 'run-expo-doctor',\n [BuildPhase.DOWNLOAD_APPLICATION_ARCHIVE]: 'download-application-archive',\n\n // ANDROID\n [BuildPhase.FIX_GRADLEW]: 'fix-gradlew',\n [BuildPhase.RUN_GRADLEW]: 'run-gradlew',\n\n // IOS\n [BuildPhase.INSTALL_PODS]: 'install-pods',\n [BuildPhase.CONFIGURE_XCODE_PROJECT]: 'configure-xcode-project',\n [BuildPhase.RUN_FASTLANE]: 'run-fastlane',\n\n // HOOKS\n [BuildPhase.PRE_INSTALL_HOOK]: 'pre-install-hook',\n [BuildPhase.POST_INSTALL_HOOK]: 'post-install-hook',\n [BuildPhase.PRE_UPLOAD_ARTIFACTS_HOOK]: 'pre-upload-artifacts-hook',\n [BuildPhase.ON_BUILD_SUCCESS_HOOK]: 'build-success-hook',\n [BuildPhase.ON_BUILD_ERROR_HOOK]: 'build-error-hook',\n [BuildPhase.ON_BUILD_COMPLETE_HOOK]: 'build-complete-hook',\n [BuildPhase.ON_BUILD_CANCEL_HOOK]: 'build-cancel-hook',\n\n // CUSTOM\n [BuildPhase.CUSTOM]: 'custom',\n [BuildPhase.PARSE_CUSTOM_WORKFLOW_CONFIG]: 'parse-custom-workflow-config',\n [BuildPhase.COMPLETE_JOB]: 'complete-job',\n};\n\nexport const submissionPhaseWebsiteId: Record<SubmissionPhase, string> = {\n [SubmissionPhase.SPIN_UP_SUBMISSION_WORKER]: 'spin-up-submission-worker',\n [SubmissionPhase.SUBMIT_TO_PLAY_STORE]: 'submit-to-play-store',\n [SubmissionPhase.SUBMIT_TO_APP_STORE]: 'submit-to-app-store',\n [SubmissionPhase.FAIL_SUBMISSION]: 'fail-submission',\n};\n\nexport const XCODE_LOGS_BUILD_PHASE_WEBSITE_ID = 'xcode-logs';\n\nexport enum BuildPhaseResult {\n SUCCESS = 'success',\n FAIL = 'failed',\n WARNING = 'warning',\n SKIPPED = 'skipped',\n UNKNOWN = 'unknown',\n}\n\nexport enum LogMarker {\n START_PHASE = 'START_PHASE',\n END_PHASE = 'END_PHASE',\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;;;;AA8MA,4CAWC;AAzND,8CAAsB;AA6KT,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;IAClE,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;IACxD,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;IAC7B,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE;IAC5C,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,qBAAqB,EAAE,aAAG,CAAC,OAAO,EAAE;IACpC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE;IACtB,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;IACnE,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B,SAAS,EAAE,aAAG,CAAC,OAAO,EAAE;IACxB,iBAAiB,EAAE,aAAG,CAAC,OAAO,EAAE;IAChC,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,iBAAiB,EAAE,aAAG,CAAC,OAAO,EAAE;IAChC,sBAAsB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACxE,SAAS,EAAE,aAAG,CAAC,OAAO,EAAE;IACxB,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE;IAC3B,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE;IAC/B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACzD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import Joi from 'joi';\n\nimport { Workflow } from './common';\n\nexport type Metadata = {\n /**\n * Tracking context\n * It's used to track build process across different Expo services and tools.\n */\n trackingContext?: Record<string, string | number | boolean>;\n\n /**\n * Application version:\n * - managed projects: expo.version in app.json/app.config.js\n * - generic projects:\n * * iOS: CFBundleShortVersionString in Info.plist\n * * Android: versionName in build.gradle\n */\n appVersion?: string;\n\n /**\n * Application build version:\n * - Android: version code\n * - iOS: build number\n */\n appBuildVersion?: string;\n\n /**\n * EAS CLI version\n */\n cliVersion?: string;\n\n /**\n * Build workflow\n * It's either 'generic' or 'managed'\n */\n workflow?: Workflow;\n\n /**\n * Credentials source\n * Credentials could be obtained either from credential.json or EAS servers.\n */\n credentialsSource?: 'local' | 'remote';\n\n /**\n * Expo SDK version\n * It's determined by the expo package version in package.json.\n * It's undefined if the expo package is not installed for the project.\n */\n sdkVersion?: string;\n\n /**\n * Runtime version (for Expo Updates)\n */\n runtimeVersion?: string;\n\n /**\n * Fingerprint hash of a project's native dependencies\n */\n fingerprintHash?: string;\n\n /**\n * Version of the react-native package used in the project.\n */\n reactNativeVersion?: string;\n\n /**\n * Channel (for Expo Updates when it is configured for for use with EAS)\n * It's undefined if the expo-updates package is not configured for use with EAS.\n */\n channel?: string;\n\n /**\n * Distribution type\n * Indicates whether this is a build for store, internal distribution, or simulator (iOS).\n * simulator is deprecated, use simulator flag instead\n */\n distribution?: 'store' | 'internal' | 'simulator';\n\n /**\n * App name (expo.name in app.json/app.config.js)\n */\n appName?: string;\n\n /**\n * App identifier:\n * - iOS builds: the bundle identifier (expo.ios.bundleIdentifier in app.json/app.config.js)\n * - Android builds: the application id (expo.android.package in app.json/app.config.js)\n */\n appIdentifier?: string;\n\n /**\n * Build profile name (e.g. release)\n */\n buildProfile?: string;\n\n /**\n * Git commit hash (e.g. aab03fbdabb6e536ea78b28df91575ad488f5f21)\n */\n gitCommitHash?: string;\n\n /**\n * Git commit message\n */\n gitCommitMessage?: string;\n\n /**\n * State of the git working tree\n */\n isGitWorkingTreeDirty?: boolean;\n\n /**\n * Username of the initiating user\n */\n username?: string;\n\n /**\n * Indicates what type of an enterprise provisioning profile was used to build the app.\n * It's either adhoc or universal\n */\n iosEnterpriseProvisioning?: 'adhoc' | 'universal';\n\n /**\n * Message attached to the build.\n */\n message?: string;\n\n /**\n * Indicates whether the build was run from CI.\n */\n runFromCI?: boolean;\n\n /**\n * Indicates whether the build was run with --no-wait flag.\n */\n runWithNoWaitFlag?: boolean;\n\n /**\n * Workflow name available for custom builds.\n */\n customWorkflowName?: string;\n\n /**\n * Indicates whether this is (likely, we can't be 100% sure) development client build.\n */\n developmentClient?: boolean;\n\n /**\n * Which package manager will be used for the build. Determined based on lockfiles in the project directory.\n */\n requiredPackageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun';\n\n /**\n * Indicates if this is an iOS build for a simulator\n */\n simulator?: boolean;\n\n /**\n * Image selected by user for the build. If user didn't select any image and wants to use default for the given RN and SDK version it will undefined.\n */\n selectedImage?: string;\n\n /**\n * Custom node version selected by user for the build. If user didn't select any node version and wants to use default it will be undefined.\n */\n customNodeVersion?: string;\n\n /**\n * EAS env vars environment chosen for the job\n */\n environment?: string;\n};\n\nexport const MetadataSchema = Joi.object({\n trackingContext: Joi.object().pattern(Joi.string(), [Joi.string(), Joi.number(), Joi.boolean()]),\n appVersion: Joi.string(),\n appBuildVersion: Joi.string(),\n cliVersion: Joi.string(),\n workflow: Joi.string().valid('generic', 'managed'),\n distribution: Joi.string().valid('store', 'internal', 'simulator'),\n credentialsSource: Joi.string().valid('local', 'remote'),\n sdkVersion: Joi.string(),\n runtimeVersion: Joi.string(),\n fingerprintHash: Joi.string(),\n reactNativeVersion: Joi.string(),\n channel: Joi.string(),\n appName: Joi.string(),\n appIdentifier: Joi.string(),\n buildProfile: Joi.string(),\n gitCommitHash: Joi.string().length(40).hex(),\n gitCommitMessage: Joi.string().max(4096),\n isGitWorkingTreeDirty: Joi.boolean(),\n username: Joi.string(),\n iosEnterpriseProvisioning: Joi.string().valid('adhoc', 'universal'),\n message: Joi.string().max(1024),\n runFromCI: Joi.boolean(),\n runWithNoWaitFlag: Joi.boolean(),\n customWorkflowName: Joi.string(),\n developmentClient: Joi.boolean(),\n requiredPackageManager: Joi.string().valid('npm', 'pnpm', 'yarn', 'bun'),\n simulator: Joi.boolean(),\n selectedImage: Joi.string(),\n customNodeVersion: Joi.string(),\n environment: Joi.string(),\n});\n\nexport function sanitizeMetadata(metadata: object): Metadata {\n const { value, error } = MetadataSchema.validate(metadata, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n } else {\n return value;\n }\n}\n"]}
package/dist/step.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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","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\n .string()\n .optional()\n .describe(\n `ID of the step. Useful for later referencing the job's outputs. Example: step with id \"setup\" and an output \"platform\" will expose its value under \"steps.setup.outputs.platform\".`\n ),\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().describe('Expression that determines whether the step should run.'),\n /**\n * The name of the step.\n *\n * @example\n * name: 'Step 1'\n */\n name: z.string().optional().describe('Name of the step.'),\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\n .string()\n .optional()\n .describe(\n `Working directory to run the step in. Relative paths like \"./assets\" or \"assets\" are resolved from the app's base directory. Absolute paths like \"/apps/mobile\" are resolved from the repository root.`\n ),\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\n .record(z.string(), z.string())\n .optional()\n .describe('Additional environment variables to set for the step.'),\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\n .string()\n .describe(\n 'Name of the function to use for this step. See https://docs.expo.dev/custom-builds/schema/#built-in-eas-functions for available functions.'\n ),\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.string(), z.unknown()).optional().describe('Inputs to the function.'),\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().describe('Shell script to run in the step.'),\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().describe('Shell to run the \"run\" command with.'),\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\n .array(\n z.union([\n // We allow a shorthand for outputs\n z.codec(z.string(), z.object({ name: z.string(), required: z.boolean().default(false) }), {\n decode: (name) => ({ name, required: false }),\n encode: (output) => output.name,\n }),\n z.object({\n name: z.string(),\n required: z.boolean().optional(),\n }),\n ])\n )\n .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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"submission-config.js","sourceRoot":"","sources":["../src/submission-config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,0DAA0D;AAC1D,IAAiB,gBAAgB,CAqEhC;AArED,WAAiB,gBAAgB;IAI/B,IAAiB,GAAG,CAkCnB;IAlCD,WAAiB,GAAG;QACL,WAAO,GAAG,OAAC;aACrB,MAAM,CAAC;YACN;;eAEG;YACH,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;YAC5B,wBAAwB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAChD,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;aACD,GAAG,CACF,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,CAAC;gBACP,qGAAqG;gBACrG,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;gBAC3B,wBAAwB,EAAE,OAAC,CAAC,MAAM,EAAE;gBACpC,aAAa,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;aACpC,CAAC;YACF,OAAC,CAAC,MAAM,CAAC;gBACP;;;;;;;mBAOG;gBACH,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;gBACzB,eAAe,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;gBACrC,wBAAwB,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;aAC/C,CAAC;SACH,CAAC,CACH,CAAC;IACN,CAAC,EAlCgB,GAAG,GAAH,oBAAG,KAAH,oBAAG,QAkCnB;IAED,IAAiB,OAAO,CA4BvB;IA5BD,WAAiB,OAAO;QACtB,IAAY,aAKX;QALD,WAAY,aAAa;YACvB,wCAAuB,CAAA;YACvB,gCAAe,CAAA;YACf,kCAAiB,CAAA;YACjB,2CAA0B,CAAA;QAC5B,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;QAEY,eAAO,GAAG,OAAC;aACrB,MAAM,CAAC;YACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;YACjB,uBAAuB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACnD,2BAA2B,EAAE,OAAC,CAAC,MAAM,EAAE;YACvC,wBAAwB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAChD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;aACD,GAAG,CACF,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,CAAC;gBACP,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;gBACnD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aAC7C,CAAC;YACF,OAAC,CAAC,MAAM,CAAC;gBACP,aAAa,EAAE,OAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;gBACrD,OAAO,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;aAC9B,CAAC;SACH,CAAC,CACH,CAAC;IACN,CAAC,EA5BgB,OAAO,GAAP,wBAAO,KAAP,wBAAO,QA4BvB;AACH,CAAC,EArEgB,gBAAgB,gCAAhB,gBAAgB,QAqEhC","sourcesContent":["import { z } from 'zod';\n\n/** Submission config as used by the submission worker. */\nexport namespace SubmissionConfig {\n export type Ios = z.infer<typeof Ios.SchemaZ>;\n export type Android = z.infer<typeof Android.SchemaZ>;\n\n export namespace Ios {\n export const SchemaZ = z\n .object({\n /**\n * App Store Connect unique App ID\n */\n ascAppIdentifier: z.string(),\n isVerboseFastlaneEnabled: z.boolean().optional(),\n groups: z.array(z.string()).optional(),\n changelog: z.string().optional(),\n })\n .and(\n z.union([\n z.object({\n // The `appleIdUsername` & `appleAppSpecificPassword` pair is mutually exclusive with `ascApiJsonKey`\n appleIdUsername: z.string(),\n appleAppSpecificPassword: z.string(),\n ascApiJsonKey: z.never().optional(),\n }),\n z.object({\n /**\n * ASC API JSON token example:\n * {\n * key_id: \"D383SF739\",\n * issuer_id: \"6053b7fe-68a8-4acb-89be-165aa6465141\",\n * key: \"-----BEGIN PRIVATE KEY-----\\nMIGTAgEAMBMGByqGSM\\n-----END PRIVATE KEY--\"\n * }\n */\n ascApiJsonKey: z.string(),\n appleIdUsername: z.never().optional(),\n appleAppSpecificPassword: z.never().optional(),\n }),\n ])\n );\n }\n\n export namespace Android {\n export enum ReleaseStatus {\n COMPLETED = 'completed',\n DRAFT = 'draft',\n HALTED = 'halted',\n IN_PROGRESS = 'inProgress',\n }\n\n export const SchemaZ = z\n .object({\n track: z.string(),\n changesNotSentForReview: z.boolean().default(false),\n googleServiceAccountKeyJson: z.string(),\n isVerboseFastlaneEnabled: z.boolean().optional(),\n changelog: z.string().optional(),\n })\n .and(\n z.union([\n z.object({\n releaseStatus: z.literal(ReleaseStatus.IN_PROGRESS),\n rollout: z.number().gte(0).lte(1).default(1),\n }),\n z.object({\n releaseStatus: z.nativeEnum(ReleaseStatus).optional(),\n rollout: z.never().optional(),\n }),\n ])\n );\n }\n}\n"]}