@expo/eas-build-job 0.2.90 → 0.2.92

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/android.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Joi from 'joi';
2
- import { ArchiveSource, Env, Platform, Workflow, Cache } from './common';
2
+ import { ArchiveSource, Env, Platform, Workflow, Cache, EnvironmentSecret } from './common';
3
3
  export interface Keystore {
4
4
  dataBase64: string;
5
5
  keystorePassword: string;
@@ -38,7 +38,7 @@ export interface Job {
38
38
  buildCredentials?: {
39
39
  keystore: Keystore;
40
40
  };
41
- environmentSecrets?: Env;
41
+ environmentSecrets?: EnvironmentSecret[] | Env;
42
42
  };
43
43
  builderEnvironment?: BuilderEnvironment;
44
44
  cache: Cache;
package/dist/android.js CHANGED
@@ -73,7 +73,7 @@ exports.JobSchema = joi_1.default.object({
73
73
  }),
74
74
  secrets: joi_1.default.object({
75
75
  buildCredentials: joi_1.default.object({ keystore: KeystoreSchema.required() }),
76
- environmentSecrets: common_1.EnvSchema,
76
+ environmentSecrets: joi_1.default.alternatives().try(common_1.EnvironmentSecretsSchema, common_1.EnvSchema),
77
77
  }).required(),
78
78
  builderEnvironment: BuilderEnvironmentSchema,
79
79
  cache: common_1.CacheSchema.default(),
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n} from './common';\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 const builderBaseImages = [\n 'default',\n 'latest',\n 'stable',\n 'ubuntu-18.04-android-30-ndk-r19c', // legacy naming (image with java 8)\n 'ubuntu-20.04-android-30-ndk-r21e', // legacy naming (image with java 8)\n 'ubuntu-18.04-jdk-8-ndk-r19c',\n 'ubuntu-18.04-jdk-11-ndk-r19c',\n 'ubuntu-20.04-jdk-8-ndk-r21e',\n 'ubuntu-20.04-jdk-11-ndk-r21e',\n 'ubuntu-22.04-jdk-8-ndk-r21e',\n 'ubuntu-22.04-jdk-11-ndk-r21e',\n] as const;\n\ninterface ImageMatchRule {\n image: typeof builderBaseImages[number];\n reactNativeSemverRange: string;\n sdkSemverRange: string;\n}\n\nexport const reactNativeImageMatchRules: ImageMatchRule[] = [\n {\n image: 'ubuntu-18.04-jdk-11-ndk-r19c',\n reactNativeSemverRange: '>=0.68.0',\n sdkSemverRange: '<46',\n },\n {\n image: 'ubuntu-18.04-jdk-8-ndk-r19c',\n reactNativeSemverRange: '<0.68.0',\n sdkSemverRange: '<46',\n },\n {\n image: 'ubuntu-20.04-jdk-11-ndk-r21e',\n reactNativeSemverRange: '>=0.68.0',\n sdkSemverRange: '>=46',\n },\n {\n image: 'ubuntu-20.04-jdk-8-ndk-r21e',\n reactNativeSemverRange: '<0.68.0',\n sdkSemverRange: '>=46',\n },\n];\n\nexport interface BuilderEnvironment {\n image?: typeof builderBaseImages[number];\n node?: string;\n yarn?: string;\n expoCli?: string;\n ndk?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string().valid(...builderBaseImages),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n ndk: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n type: Workflow;\n projectArchive: ArchiveSource;\n platform: Platform.ANDROID;\n projectRootDirectory: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: {\n keystore: Keystore;\n };\n environmentSecrets?: Env;\n };\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 experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.ANDROID).required(),\n projectRootDirectory: Joi.string().required(),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: Joi.object({ keystore: KeystoreSchema.required() }),\n environmentSecrets: EnvSchema,\n }).required(),\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}).oxor('releaseChannel', 'updates.channel');\n"]}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n} from './common';\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 const builderBaseImages = [\n 'default',\n 'latest',\n 'stable',\n 'ubuntu-18.04-android-30-ndk-r19c', // legacy naming (image with java 8)\n 'ubuntu-20.04-android-30-ndk-r21e', // legacy naming (image with java 8)\n 'ubuntu-18.04-jdk-8-ndk-r19c',\n 'ubuntu-18.04-jdk-11-ndk-r19c',\n 'ubuntu-20.04-jdk-8-ndk-r21e',\n 'ubuntu-20.04-jdk-11-ndk-r21e',\n 'ubuntu-22.04-jdk-8-ndk-r21e',\n 'ubuntu-22.04-jdk-11-ndk-r21e',\n] as const;\n\ninterface ImageMatchRule {\n image: typeof builderBaseImages[number];\n reactNativeSemverRange: string;\n sdkSemverRange: string;\n}\n\nexport const reactNativeImageMatchRules: ImageMatchRule[] = [\n {\n image: 'ubuntu-18.04-jdk-11-ndk-r19c',\n reactNativeSemverRange: '>=0.68.0',\n sdkSemverRange: '<46',\n },\n {\n image: 'ubuntu-18.04-jdk-8-ndk-r19c',\n reactNativeSemverRange: '<0.68.0',\n sdkSemverRange: '<46',\n },\n {\n image: 'ubuntu-20.04-jdk-11-ndk-r21e',\n reactNativeSemverRange: '>=0.68.0',\n sdkSemverRange: '>=46',\n },\n {\n image: 'ubuntu-20.04-jdk-8-ndk-r21e',\n reactNativeSemverRange: '<0.68.0',\n sdkSemverRange: '>=46',\n },\n];\n\nexport interface BuilderEnvironment {\n image?: typeof builderBaseImages[number];\n node?: string;\n yarn?: string;\n expoCli?: string;\n ndk?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string().valid(...builderBaseImages),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n ndk: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n type: Workflow;\n projectArchive: ArchiveSource;\n platform: Platform.ANDROID;\n projectRootDirectory: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: {\n keystore: Keystore;\n };\n environmentSecrets?: EnvironmentSecret[] | Env;\n };\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 experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.ANDROID).required(),\n projectRootDirectory: Joi.string().required(),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: Joi.object({ keystore: KeystoreSchema.required() }),\n environmentSecrets: Joi.alternatives().try(EnvironmentSecretsSchema, EnvSchema),\n }).required(),\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}).oxor('releaseChannel', 'updates.channel');\n"]}
package/dist/common.d.ts CHANGED
@@ -25,6 +25,16 @@ export declare type ArchiveSource = {
25
25
  export declare const ArchiveSourceSchema: Joi.ObjectSchema<ArchiveSource>;
26
26
  export declare type Env = Record<string, string>;
27
27
  export declare const EnvSchema: Joi.ObjectSchema<any>;
28
+ export declare type EnvironmentSecret = {
29
+ name: string;
30
+ type: EnvironmentSecretType;
31
+ value: string;
32
+ };
33
+ export declare enum EnvironmentSecretType {
34
+ STRING = "string",
35
+ FILE = "file"
36
+ }
37
+ export declare const EnvironmentSecretsSchema: Joi.ArraySchema;
28
38
  export interface Cache {
29
39
  disabled: boolean;
30
40
  clear: boolean;
package/dist/common.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CacheSchema = exports.EnvSchema = exports.ArchiveSourceSchema = exports.ArchiveSourceType = exports.Platform = exports.Workflow = void 0;
6
+ exports.CacheSchema = exports.EnvironmentSecretsSchema = exports.EnvironmentSecretType = exports.EnvSchema = exports.ArchiveSourceSchema = exports.ArchiveSourceType = exports.Platform = exports.Workflow = void 0;
7
7
  const joi_1 = __importDefault(require("joi"));
8
8
  var Workflow;
9
9
  (function (Workflow) {
@@ -45,6 +45,18 @@ exports.ArchiveSourceSchema = joi_1.default.object({
45
45
  }),
46
46
  });
47
47
  exports.EnvSchema = joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.string());
48
+ var EnvironmentSecretType;
49
+ (function (EnvironmentSecretType) {
50
+ EnvironmentSecretType["STRING"] = "string";
51
+ EnvironmentSecretType["FILE"] = "file";
52
+ })(EnvironmentSecretType = exports.EnvironmentSecretType || (exports.EnvironmentSecretType = {}));
53
+ exports.EnvironmentSecretsSchema = joi_1.default.array().items(joi_1.default.object({
54
+ name: joi_1.default.string().required(),
55
+ value: joi_1.default.string().required(),
56
+ type: joi_1.default.string()
57
+ .valid(...Object.values(EnvironmentSecretType))
58
+ .required(),
59
+ }));
48
60
  exports.CacheSchema = joi_1.default.object({
49
61
  disabled: joi_1.default.boolean().default(false),
50
62
  clear: joi_1.default.boolean().default(false),
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAEtB,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;AACrB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,uBAAW,CAAA;AACb,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAED,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,8BAAS,CAAA;IACT,gCAAW,CAAA;IACX,kCAAa,CAAA;AACf,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AAOY,QAAA,mBAAmB,GAAG,aAAG,CAAC,MAAM,CAAgB;IAC3D,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;SACf,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAC1C,QAAQ,EAAE;CACd,CAAC;KACC,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;IAC1D,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzD,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;CACH,CAAC;KACD,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;IAC3D,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC1D,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;CACH,CAAC;KACD,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;IAC5D,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC3D,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;CACH,CAAC,CAAC;AAIQ,QAAA,SAAS,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAU7D,QAAA,WAAW,GAAG,aAAG,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,KAAK,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,iBAAiB,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzD,CAAC,CAAC","sourcesContent":["import Joi from 'joi';\n\nexport enum Workflow {\n GENERIC = 'generic',\n MANAGED = 'managed',\n}\n\nexport enum Platform {\n ANDROID = 'android',\n IOS = 'ios',\n}\n\nexport enum ArchiveSourceType {\n S3 = 'S3',\n URL = 'URL',\n PATH = 'PATH',\n}\n\nexport type ArchiveSource =\n | { type: ArchiveSourceType.S3; bucketKey: string }\n | { type: ArchiveSourceType.URL; url: string }\n | { type: ArchiveSourceType.PATH; path: string };\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.S3 }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.S3).required(),\n bucketKey: Joi.string().required(),\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.PATH }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.PATH).required(),\n path: Joi.string().required(),\n }),\n });\n\nexport type Env = Record<string, string>;\n\nexport const EnvSchema = Joi.object().pattern(Joi.string(), Joi.string());\n\nexport interface Cache {\n disabled: boolean;\n clear: boolean;\n key?: string;\n cacheDefaultPaths: boolean;\n customPaths: 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().default(true),\n customPaths: Joi.array().items(Joi.string()).default([]),\n});\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nexport enum Workflow {\n GENERIC = 'generic',\n MANAGED = 'managed',\n}\n\nexport enum Platform {\n ANDROID = 'android',\n IOS = 'ios',\n}\n\nexport enum ArchiveSourceType {\n S3 = 'S3',\n URL = 'URL',\n PATH = 'PATH',\n}\n\nexport type ArchiveSource =\n | { type: ArchiveSourceType.S3; bucketKey: string }\n | { type: ArchiveSourceType.URL; url: string }\n | { type: ArchiveSourceType.PATH; path: string };\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.S3 }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.S3).required(),\n bucketKey: Joi.string().required(),\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.PATH }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.PATH).required(),\n path: Joi.string().required(),\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().required(),\n type: Joi.string()\n .valid(...Object.values(EnvironmentSecretType))\n .required(),\n })\n);\n\nexport interface Cache {\n disabled: boolean;\n clear: boolean;\n key?: string;\n cacheDefaultPaths: boolean;\n customPaths: 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().default(true),\n customPaths: Joi.array().items(Joi.string()).default([]),\n});\n"]}
package/dist/errors.d.ts CHANGED
@@ -1,100 +1,47 @@
1
+ import { BuildPhase } from './logs';
1
2
  export declare enum ErrorCode {
2
- UKNOWN_ERROR = "UNKNOWN_ERROR",
3
+ UNKNOWN_ERROR = "UNKNOWN_ERROR",
3
4
  SERVER_ERROR = "SERVER_ERROR",
4
- CREDENTIALS_DIST_CERT_MISMATCH = "EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH",
5
- SYSTEM_DEPS_INSTALL_ERROR = "EAS_BUILD_SYSTEM_DEPS_INSTALL_ERROR",
6
- UNSUPPORTED_COCOAPODS_VERSION_ERROR = "EAS_BUILD_UNSUPPORTED_COCOAPODS_VERSION_ERROR",
7
- UNSUPPORTED_BUNDLER_VERSION_ERROR = "EAS_BUILD_UNSUPPORTED_BUNDLER_VERSION_ERROR",
8
- INVALID_KEYSTORE_FORMAT_ERROR = "EAS_BUILD_INVALID_KEYSTORE_FORMAT_ERROR",
9
- INVALID_KEYSTORE_ALIAS_ERROR = "EAS_BUILD_INVALID_KEYSTORE_ALIAS_ERROR",
10
- MISSING_GOOGLE_SERVICES_JSON_ERROR = "EAS_BUILD_MISSING_GOOGLE_SERVICES_JSON_ERROR",
11
- MISSING_GOOGLE_SERVICES_PLIST_ERROR = "EAS_BUILD_MISSING_GOOGLE_SERVICES_PLIST_ERROR",
12
- INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR = "EAS_BUILD_INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR",
13
- INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR = "EAS_BUILD_INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR",
14
- YARN_LOCK_CHECKSUM_ERROR = "EAS_BUILD_YARN_LOCK_CHECKSUM_ERROR",
15
- YARN_MULTIPLE_INSTANCES_ERROR = "EAS_BUILD_YARN_MULTIPLE_INSTANCES_ERROR",
16
- NPM_PACKAGE_CORRUPTED_ERROR = "EAS_BUILD_NPM_PACKAGE_CORRUPTED_ERROR",
17
5
  UNKNOWN_FASTLANE_ERROR = "EAS_BUILD_UNKNOWN_FASTLANE_ERROR",
18
6
  UNKNOWN_GRADLE_ERROR = "EAS_BUILD_UNKNOWN_GRADLE_ERROR",
19
7
  BUILD_TIMEOUT_ERROR = "EAS_BUILD_TIMEOUT_ERROR"
20
8
  }
21
- export interface ExternalUserError {
9
+ export interface ExternalBuildError {
22
10
  errorCode: string;
23
11
  message: string;
24
12
  docsUrl?: string;
25
13
  }
26
- export declare abstract class UserError extends Error {
27
- abstract errorCode: ErrorCode;
14
+ interface BuildErrorDetails {
15
+ errorCode: string;
16
+ userFacingMessage: string;
17
+ userFacingErrorCode: string;
28
18
  docsUrl?: string;
29
19
  innerError?: Error;
30
- format(): ExternalUserError;
31
- }
32
- export declare class UnknownError extends UserError {
33
- errorCode: ErrorCode;
34
- message: string;
35
- }
36
- export declare class ServerError extends UserError {
37
- errorCode: ErrorCode;
38
- message: string;
39
- }
40
- export declare class BuildTimeout extends ServerError {
41
- constructor(maxBuildTimeMs: number);
42
- }
43
- export declare class CredentialsDistCertMismatchError extends UserError {
44
- errorCode: ErrorCode;
45
- message: string;
46
- }
47
- export declare class SystemDepsInstallError extends UserError {
48
- errorCode: ErrorCode;
49
- constructor(dependency: string);
50
- }
51
- export declare class InvalidKeystoreFormatError extends UserError {
52
- errorCode: ErrorCode;
53
- message: string;
54
- }
55
- export declare class InvalidKeystoreAliasError extends UserError {
56
- errorCode: ErrorCode;
57
- message: string;
58
- }
59
- export declare class UnsupportedCocoaPodsVersion extends UserError {
60
- errorCode: ErrorCode;
61
- message: string;
62
- docsUrl: string;
63
- }
64
- export declare class UnsupportedBundlerVersion extends UserError {
65
- errorCode: ErrorCode;
66
- message: string;
67
- docsUrl: string;
20
+ buildPhase?: BuildPhase;
68
21
  }
69
- export declare class MissingGoogleServicesJson extends UserError {
70
- errorCode: ErrorCode;
71
- message: string;
72
- }
73
- export declare class MissingGoogleServicesPlist extends UserError {
74
- errorCode: ErrorCode;
75
- message: string;
22
+ export declare class BuildError extends Error {
23
+ errorCode: string;
24
+ userFacingMessage: string;
25
+ userFacingErrorCode: string;
26
+ docsUrl?: string;
27
+ innerError?: Error;
28
+ buildPhase?: BuildPhase;
29
+ constructor(message: string, details: BuildErrorDetails);
30
+ format(): ExternalBuildError;
76
31
  }
77
- export declare class UnknownFastlaneError extends UserError {
78
- errorCode: ErrorCode;
32
+ export declare class UserFacingError extends Error {
33
+ errorCode: string;
79
34
  message: string;
35
+ docsUrl?: string | undefined;
36
+ constructor(errorCode: string, message: string, docsUrl?: string | undefined);
80
37
  }
81
- export declare class IncompatiblePodsManagedWorkflowError extends UserError {
82
- errorCode: ErrorCode;
83
- constructor(usingDefaultCacheConfig: boolean);
84
- }
85
- export declare class IncompatiblePodsGenericWorkflowError extends UserError {
86
- errorCode: ErrorCode;
87
- constructor(usingDefaultCacheConfig: boolean);
88
- }
89
- export declare class YarnMultipleInstancesError extends UserError {
90
- errorCode: ErrorCode;
38
+ export declare class UnknownError extends UserFacingError {
91
39
  constructor();
92
40
  }
93
- export declare class YarnLockChecksumError extends UserError {
94
- errorCode: ErrorCode;
95
- constructor(packageName: string);
41
+ export declare class UnknownBuildError extends BuildError {
42
+ constructor();
96
43
  }
97
- export declare class UnknownGradleError extends UserError {
98
- errorCode: ErrorCode;
99
- message: string;
44
+ export declare class CredentialsDistCertMismatchError extends UserFacingError {
45
+ constructor(message: string);
100
46
  }
47
+ export {};
package/dist/errors.js CHANGED
@@ -1,190 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnknownGradleError = exports.YarnLockChecksumError = exports.YarnMultipleInstancesError = exports.IncompatiblePodsGenericWorkflowError = exports.IncompatiblePodsManagedWorkflowError = exports.UnknownFastlaneError = exports.MissingGoogleServicesPlist = exports.MissingGoogleServicesJson = exports.UnsupportedBundlerVersion = exports.UnsupportedCocoaPodsVersion = exports.InvalidKeystoreAliasError = exports.InvalidKeystoreFormatError = exports.SystemDepsInstallError = exports.CredentialsDistCertMismatchError = exports.BuildTimeout = exports.ServerError = exports.UnknownError = exports.UserError = exports.ErrorCode = void 0;
3
+ exports.CredentialsDistCertMismatchError = exports.UnknownBuildError = exports.UnknownError = exports.UserFacingError = exports.BuildError = exports.ErrorCode = void 0;
4
4
  var ErrorCode;
5
5
  (function (ErrorCode) {
6
- ErrorCode["UKNOWN_ERROR"] = "UNKNOWN_ERROR";
6
+ ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
7
7
  ErrorCode["SERVER_ERROR"] = "SERVER_ERROR";
8
- ErrorCode["CREDENTIALS_DIST_CERT_MISMATCH"] = "EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH";
9
- ErrorCode["SYSTEM_DEPS_INSTALL_ERROR"] = "EAS_BUILD_SYSTEM_DEPS_INSTALL_ERROR";
10
- ErrorCode["UNSUPPORTED_COCOAPODS_VERSION_ERROR"] = "EAS_BUILD_UNSUPPORTED_COCOAPODS_VERSION_ERROR";
11
- ErrorCode["UNSUPPORTED_BUNDLER_VERSION_ERROR"] = "EAS_BUILD_UNSUPPORTED_BUNDLER_VERSION_ERROR";
12
- ErrorCode["INVALID_KEYSTORE_FORMAT_ERROR"] = "EAS_BUILD_INVALID_KEYSTORE_FORMAT_ERROR";
13
- ErrorCode["INVALID_KEYSTORE_ALIAS_ERROR"] = "EAS_BUILD_INVALID_KEYSTORE_ALIAS_ERROR";
14
- ErrorCode["MISSING_GOOGLE_SERVICES_JSON_ERROR"] = "EAS_BUILD_MISSING_GOOGLE_SERVICES_JSON_ERROR";
15
- ErrorCode["MISSING_GOOGLE_SERVICES_PLIST_ERROR"] = "EAS_BUILD_MISSING_GOOGLE_SERVICES_PLIST_ERROR";
16
- ErrorCode["INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR"] = "EAS_BUILD_INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR";
17
- ErrorCode["INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR"] = "EAS_BUILD_INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR";
18
- ErrorCode["YARN_LOCK_CHECKSUM_ERROR"] = "EAS_BUILD_YARN_LOCK_CHECKSUM_ERROR";
19
- ErrorCode["YARN_MULTIPLE_INSTANCES_ERROR"] = "EAS_BUILD_YARN_MULTIPLE_INSTANCES_ERROR";
20
- ErrorCode["NPM_PACKAGE_CORRUPTED_ERROR"] = "EAS_BUILD_NPM_PACKAGE_CORRUPTED_ERROR";
21
8
  ErrorCode["UNKNOWN_FASTLANE_ERROR"] = "EAS_BUILD_UNKNOWN_FASTLANE_ERROR";
22
9
  ErrorCode["UNKNOWN_GRADLE_ERROR"] = "EAS_BUILD_UNKNOWN_GRADLE_ERROR";
23
10
  ErrorCode["BUILD_TIMEOUT_ERROR"] = "EAS_BUILD_TIMEOUT_ERROR";
24
11
  })(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {}));
25
- class UserError extends Error {
12
+ class BuildError extends Error {
13
+ constructor(message, details) {
14
+ super(message);
15
+ this.errorCode = details.errorCode;
16
+ this.userFacingErrorCode = details.userFacingErrorCode;
17
+ this.userFacingMessage = details.userFacingMessage;
18
+ this.docsUrl = details.docsUrl;
19
+ this.innerError = details.innerError;
20
+ this.buildPhase = details.buildPhase;
21
+ }
26
22
  format() {
27
23
  return {
28
- errorCode: this.errorCode,
29
- message: this.message,
24
+ errorCode: this.userFacingErrorCode,
25
+ message: this.userFacingMessage,
30
26
  docsUrl: this.docsUrl,
31
27
  };
32
28
  }
33
29
  }
34
- exports.UserError = UserError;
35
- class UnknownError extends UserError {
36
- constructor() {
37
- super(...arguments);
38
- this.errorCode = ErrorCode.UKNOWN_ERROR;
39
- this.message = 'Unknown error. See logs for more information.';
30
+ exports.BuildError = BuildError;
31
+ class UserFacingError extends Error {
32
+ constructor(errorCode, message, docsUrl) {
33
+ super(message);
34
+ this.errorCode = errorCode;
35
+ this.message = message;
36
+ this.docsUrl = docsUrl;
40
37
  }
41
38
  }
42
- exports.UnknownError = UnknownError;
43
- class ServerError extends UserError {
39
+ exports.UserFacingError = UserFacingError;
40
+ class UnknownError extends UserFacingError {
44
41
  constructor() {
45
- super(...arguments);
46
- this.errorCode = ErrorCode.SERVER_ERROR;
47
- this.message = 'Internal Server Error.\nTry again later. If the problem persists, report the issue.';
48
- }
49
- }
50
- exports.ServerError = ServerError;
51
- class BuildTimeout extends ServerError {
52
- constructor(maxBuildTimeMs) {
53
- super();
54
- this.message = `Your build exceeded the maximum build time of ${maxBuildTimeMs / (60 * 1000)} minutes.`;
55
- }
56
- }
57
- exports.BuildTimeout = BuildTimeout;
58
- class CredentialsDistCertMismatchError extends UserError {
59
- constructor() {
60
- super(...arguments);
61
- this.errorCode = ErrorCode.CREDENTIALS_DIST_CERT_MISMATCH;
62
- this.message = "Provisioning profile and distribution certificate don't match.";
63
- }
64
- }
65
- exports.CredentialsDistCertMismatchError = CredentialsDistCertMismatchError;
66
- class SystemDepsInstallError extends UserError {
67
- constructor(dependency) {
68
- super();
69
- this.errorCode = ErrorCode.SYSTEM_DEPS_INSTALL_ERROR;
70
- this.message = `Failed to install ${dependency}. Make sure you specified the correct version in eas.json.`;
42
+ super(ErrorCode.UNKNOWN_ERROR, 'Unknown error. See logs for more information.');
71
43
  }
72
44
  }
73
- exports.SystemDepsInstallError = SystemDepsInstallError;
74
- class InvalidKeystoreFormatError extends UserError {
75
- constructor() {
76
- super(...arguments);
77
- this.errorCode = ErrorCode.INVALID_KEYSTORE_FORMAT_ERROR;
78
- this.message = 'The keystore used in this build is malformed or it has an unsupported type. Make sure you provided the correct file.';
79
- }
80
- }
81
- exports.InvalidKeystoreFormatError = InvalidKeystoreFormatError;
82
- class InvalidKeystoreAliasError extends UserError {
83
- constructor() {
84
- super(...arguments);
85
- this.errorCode = ErrorCode.INVALID_KEYSTORE_FORMAT_ERROR;
86
- this.message = 'The alias specified for this keystore does not exist. Make sure you specified the correct value.';
87
- }
88
- }
89
- exports.InvalidKeystoreAliasError = InvalidKeystoreAliasError;
90
- class UnsupportedCocoaPodsVersion extends UserError {
91
- constructor() {
92
- super(...arguments);
93
- this.errorCode = ErrorCode.UNSUPPORTED_COCOAPODS_VERSION_ERROR;
94
- this.message = `Your project requires a newer version of CocoaPods. You can update it in the build profile in eas.json by either:
95
- - changing the current version under key "cocoapods"
96
- - switching to an image that supports that version under key "image"`;
97
- this.docsUrl = 'https://docs.expo.dev/build-reference/eas-json/';
98
- }
99
- }
100
- exports.UnsupportedCocoaPodsVersion = UnsupportedCocoaPodsVersion;
101
- class UnsupportedBundlerVersion extends UserError {
102
- constructor() {
103
- super(...arguments);
104
- this.errorCode = ErrorCode.UNSUPPORTED_BUNDLER_VERSION_ERROR;
105
- this.message = `Your project requires a different version of the Ruby "bundler" program than the version installed in this EAS Build environment. You can specify which version of "bundler" to install by specifying the version under "build"→[buildProfileName]→"ios"→"bundler" in eas.json.`;
106
- this.docsUrl = 'https://docs.expo.dev/build-reference/eas-json/';
107
- }
108
- }
109
- exports.UnsupportedBundlerVersion = UnsupportedBundlerVersion;
110
- class MissingGoogleServicesJson extends UserError {
111
- constructor() {
112
- super(...arguments);
113
- this.errorCode = ErrorCode.MISSING_GOOGLE_SERVICES_JSON_ERROR;
114
- this.message = '"google-services.json" is missing, make sure that file exists. Remember that EAS Build only uploads the files tracked by git.';
115
- }
116
- }
117
- exports.MissingGoogleServicesJson = MissingGoogleServicesJson;
118
- class MissingGoogleServicesPlist extends UserError {
119
- constructor() {
120
- super(...arguments);
121
- this.errorCode = ErrorCode.MISSING_GOOGLE_SERVICES_PLIST_ERROR;
122
- this.message = '"GoogleService-Info.plist" is missing, make sure that file exists. Remember that EAS Build only uploads the files tracked by git.';
123
- }
124
- }
125
- exports.MissingGoogleServicesPlist = MissingGoogleServicesPlist;
126
- class UnknownFastlaneError extends UserError {
127
- constructor() {
128
- super(...arguments);
129
- this.errorCode = ErrorCode.UNKNOWN_FASTLANE_ERROR;
130
- this.message = `Fastlane build failed with unknown error. See logs for the "Run fastlane" and "Xcode Logs" phases for more information.
131
- Fastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.`;
132
- }
133
- }
134
- exports.UnknownFastlaneError = UnknownFastlaneError;
135
- class IncompatiblePodsManagedWorkflowError extends UserError {
136
- constructor(usingDefaultCacheConfig) {
137
- super();
138
- this.errorCode = ErrorCode.INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR;
139
- this.message = `Compatible versions of some pods could not be resolved.
140
- You are seeing this error because either:
141
- - Versions in the Podfile.lock cached by EAS do not match required values for some of the libraries, it can be triggered when upgrading Expo SDK or any other library with native code. To fix that ${usingDefaultCacheConfig
142
- ? 'add the "cache.key" field (it can be set to any value) in the build profile in eas.json to invalidate the cache.'
143
- : 'update value of the "cache.key" field in the build profile in eas.json to invalidate the cache.'}
144
- - Some of your npm packages have native code that depend on different versions of the same pod. See logs for more information.
145
- `;
146
- }
147
- }
148
- exports.IncompatiblePodsManagedWorkflowError = IncompatiblePodsManagedWorkflowError;
149
- class IncompatiblePodsGenericWorkflowError extends UserError {
150
- constructor(usingDefaultCacheConfig) {
151
- super();
152
- this.errorCode = ErrorCode.INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR;
153
- this.message = `Compatible versions of some pods could not be resolved.
154
- You are seeing this error because either:
155
- - Versions in the Podfile.lock cached by EAS do not match required values in Podspecs of some of the libraries. To fix that ${usingDefaultCacheConfig
156
- ? 'add the "cache.key" field (it can be set to any value) in the build profile in eas.json to invalidate the cache.'
157
- : 'update value of the "cache.key" field in the build profile in eas.json to invalidate the cache.'}
158
- - Some of the pods used in your project depend on different versions of the same pod. See logs for more information.
159
- `;
160
- }
161
- }
162
- exports.IncompatiblePodsGenericWorkflowError = IncompatiblePodsGenericWorkflowError;
163
- class YarnMultipleInstancesError extends UserError {
45
+ exports.UnknownError = UnknownError;
46
+ class UnknownBuildError extends BuildError {
164
47
  constructor() {
165
- super();
166
- this.errorCode = ErrorCode.YARN_MULTIPLE_INSTANCES_ERROR;
167
- this.message = `One of project dependencies is starting new install process while the main one is still in progress, which might result in corrupted packages. Most likely the reason for error is "prepare" script in git-referenced dependency of your project. Learn more: https://github.com/yarnpkg/yarn/issues/7212#issuecomment-493720324`;
48
+ const errorCode = ErrorCode.UNKNOWN_ERROR;
49
+ const message = 'Unknown error. See logs for more information.';
50
+ super(message, {
51
+ errorCode,
52
+ userFacingMessage: message,
53
+ userFacingErrorCode: errorCode,
54
+ });
168
55
  }
169
56
  }
170
- exports.YarnMultipleInstancesError = YarnMultipleInstancesError;
171
- class YarnLockChecksumError extends UserError {
172
- constructor(packageName) {
173
- super();
174
- this.errorCode = ErrorCode.YARN_LOCK_CHECKSUM_ERROR;
175
- this.message = `Checksum for package "${packageName}" does not match value in registry. To fix that:
176
- - run "yarn cache clean"
177
- - remove yarn.lock (or only the section for that package)
178
- - run "yarn install --force"`;
57
+ exports.UnknownBuildError = UnknownBuildError;
58
+ class CredentialsDistCertMismatchError extends UserFacingError {
59
+ constructor(message) {
60
+ super('EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH', message);
179
61
  }
180
62
  }
181
- exports.YarnLockChecksumError = YarnLockChecksumError;
182
- class UnknownGradleError extends UserError {
183
- constructor() {
184
- super(...arguments);
185
- this.errorCode = ErrorCode.UNKNOWN_GRADLE_ERROR;
186
- this.message = 'Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.';
187
- }
188
- }
189
- exports.UnknownGradleError = UnknownGradleError;
63
+ exports.CredentialsDistCertMismatchError = CredentialsDistCertMismatchError;
190
64
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["export enum ErrorCode {\n UKNOWN_ERROR = 'UNKNOWN_ERROR',\n SERVER_ERROR = 'SERVER_ERROR',\n CREDENTIALS_DIST_CERT_MISMATCH = 'EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH',\n SYSTEM_DEPS_INSTALL_ERROR = 'EAS_BUILD_SYSTEM_DEPS_INSTALL_ERROR',\n UNSUPPORTED_COCOAPODS_VERSION_ERROR = 'EAS_BUILD_UNSUPPORTED_COCOAPODS_VERSION_ERROR',\n UNSUPPORTED_BUNDLER_VERSION_ERROR = 'EAS_BUILD_UNSUPPORTED_BUNDLER_VERSION_ERROR',\n INVALID_KEYSTORE_FORMAT_ERROR = 'EAS_BUILD_INVALID_KEYSTORE_FORMAT_ERROR',\n INVALID_KEYSTORE_ALIAS_ERROR = 'EAS_BUILD_INVALID_KEYSTORE_ALIAS_ERROR',\n MISSING_GOOGLE_SERVICES_JSON_ERROR = 'EAS_BUILD_MISSING_GOOGLE_SERVICES_JSON_ERROR',\n MISSING_GOOGLE_SERVICES_PLIST_ERROR = 'EAS_BUILD_MISSING_GOOGLE_SERVICES_PLIST_ERROR',\n INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR = 'EAS_BUILD_INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR',\n INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR = 'EAS_BUILD_INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR',\n YARN_LOCK_CHECKSUM_ERROR = 'EAS_BUILD_YARN_LOCK_CHECKSUM_ERROR',\n YARN_MULTIPLE_INSTANCES_ERROR = 'EAS_BUILD_YARN_MULTIPLE_INSTANCES_ERROR',\n NPM_PACKAGE_CORRUPTED_ERROR = 'EAS_BUILD_NPM_PACKAGE_CORRUPTED_ERROR',\n UNKNOWN_FASTLANE_ERROR = 'EAS_BUILD_UNKNOWN_FASTLANE_ERROR',\n UNKNOWN_GRADLE_ERROR = 'EAS_BUILD_UNKNOWN_GRADLE_ERROR',\n BUILD_TIMEOUT_ERROR = 'EAS_BUILD_TIMEOUT_ERROR',\n}\n\nexport interface ExternalUserError {\n errorCode: string;\n message: string;\n docsUrl?: string;\n}\n\nexport abstract class UserError extends Error {\n public abstract errorCode: ErrorCode;\n public docsUrl?: string;\n public innerError?: Error;\n\n public format(): ExternalUserError {\n return {\n errorCode: this.errorCode,\n message: this.message,\n docsUrl: this.docsUrl,\n };\n }\n}\n\nexport class UnknownError extends UserError {\n errorCode = ErrorCode.UKNOWN_ERROR;\n message = 'Unknown error. See logs for more information.';\n}\n\nexport class ServerError extends UserError {\n errorCode = ErrorCode.SERVER_ERROR;\n message = 'Internal Server Error.\\nTry again later. If the problem persists, report the issue.';\n}\n\nexport class BuildTimeout extends ServerError {\n constructor(maxBuildTimeMs: number) {\n super();\n this.message = `Your build exceeded the maximum build time of ${\n maxBuildTimeMs / (60 * 1000)\n } minutes.`;\n }\n}\n\nexport class CredentialsDistCertMismatchError extends UserError {\n errorCode = ErrorCode.CREDENTIALS_DIST_CERT_MISMATCH;\n message = \"Provisioning profile and distribution certificate don't match.\";\n}\n\nexport class SystemDepsInstallError extends UserError {\n errorCode = ErrorCode.SYSTEM_DEPS_INSTALL_ERROR;\n\n constructor(dependency: string) {\n super();\n this.message = `Failed to install ${dependency}. Make sure you specified the correct version in eas.json.`;\n }\n}\n\nexport class InvalidKeystoreFormatError extends UserError {\n errorCode = ErrorCode.INVALID_KEYSTORE_FORMAT_ERROR;\n message =\n 'The keystore used in this build is malformed or it has an unsupported type. Make sure you provided the correct file.';\n}\n\nexport class InvalidKeystoreAliasError extends UserError {\n errorCode = ErrorCode.INVALID_KEYSTORE_FORMAT_ERROR;\n message =\n 'The alias specified for this keystore does not exist. Make sure you specified the correct value.';\n}\n\nexport class UnsupportedCocoaPodsVersion extends UserError {\n errorCode = ErrorCode.UNSUPPORTED_COCOAPODS_VERSION_ERROR;\n message = `Your project requires a newer version of CocoaPods. You can update it in the build profile in eas.json by either:\n- changing the current version under key \"cocoapods\"\n- switching to an image that supports that version under key \"image\"`;\n docsUrl = 'https://docs.expo.dev/build-reference/eas-json/';\n}\n\nexport class UnsupportedBundlerVersion extends UserError {\n errorCode = ErrorCode.UNSUPPORTED_BUNDLER_VERSION_ERROR;\n message = `Your project requires a different version of the Ruby \"bundler\" program than the version installed in this EAS Build environment. You can specify which version of \"bundler\" to install by specifying the version under \"build\"→[buildProfileName]→\"ios\"→\"bundler\" in eas.json.`;\n docsUrl = 'https://docs.expo.dev/build-reference/eas-json/';\n}\n\nexport class MissingGoogleServicesJson extends UserError {\n errorCode = ErrorCode.MISSING_GOOGLE_SERVICES_JSON_ERROR;\n message =\n '\"google-services.json\" is missing, make sure that file exists. Remember that EAS Build only uploads the files tracked by git.';\n}\n\nexport class MissingGoogleServicesPlist extends UserError {\n errorCode = ErrorCode.MISSING_GOOGLE_SERVICES_PLIST_ERROR;\n message =\n '\"GoogleService-Info.plist\" is missing, make sure that file exists. Remember that EAS Build only uploads the files tracked by git.';\n}\n\nexport class UnknownFastlaneError extends UserError {\n errorCode = ErrorCode.UNKNOWN_FASTLANE_ERROR;\n message = `Fastlane build failed with unknown error. See logs for the \"Run fastlane\" and \"Xcode Logs\" phases for more information.\nFastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.`;\n}\n\nexport class IncompatiblePodsManagedWorkflowError extends UserError {\n errorCode = ErrorCode.INCOMPATIBLE_PODS_MANAGED_WORKFLOW_ERROR;\n\n constructor(usingDefaultCacheConfig: boolean) {\n super();\n this.message = `Compatible versions of some pods could not be resolved.\nYou are seeing this error because either:\n - Versions in the Podfile.lock cached by EAS do not match required values for some of the libraries, it can be triggered when upgrading Expo SDK or any other library with native code. To fix that ${\n usingDefaultCacheConfig\n ? 'add the \"cache.key\" field (it can be set to any value) in the build profile in eas.json to invalidate the cache.'\n : 'update value of the \"cache.key\" field in the build profile in eas.json to invalidate the cache.'\n }\n - Some of your npm packages have native code that depend on different versions of the same pod. See logs for more information.\n`;\n }\n}\n\nexport class IncompatiblePodsGenericWorkflowError extends UserError {\n errorCode = ErrorCode.INCOMPATIBLE_PODS_GENERIC_WORKFLOW_ERROR;\n\n constructor(usingDefaultCacheConfig: boolean) {\n super();\n this.message = `Compatible versions of some pods could not be resolved.\nYou are seeing this error because either:\n - Versions in the Podfile.lock cached by EAS do not match required values in Podspecs of some of the libraries. To fix that ${\n usingDefaultCacheConfig\n ? 'add the \"cache.key\" field (it can be set to any value) in the build profile in eas.json to invalidate the cache.'\n : 'update value of the \"cache.key\" field in the build profile in eas.json to invalidate the cache.'\n }\n - Some of the pods used in your project depend on different versions of the same pod. See logs for more information.\n`;\n }\n}\n\nexport class YarnMultipleInstancesError extends UserError {\n errorCode = ErrorCode.YARN_MULTIPLE_INSTANCES_ERROR;\n\n constructor() {\n super();\n this.message = `One of project dependencies is starting new install process while the main one is still in progress, which might result in corrupted packages. Most likely the reason for error is \"prepare\" script in git-referenced dependency of your project. Learn more: https://github.com/yarnpkg/yarn/issues/7212#issuecomment-493720324`;\n }\n}\n\nexport class YarnLockChecksumError extends UserError {\n errorCode = ErrorCode.YARN_LOCK_CHECKSUM_ERROR;\n\n constructor(packageName: string) {\n super();\n this.message = `Checksum for package \"${packageName}\" does not match value in registry. To fix that:\n- run \"yarn cache clean\"\n- remove yarn.lock (or only the section for that package)\n- run \"yarn install --force\"`;\n }\n}\n\nexport class UnknownGradleError extends UserError {\n errorCode = ErrorCode.UNKNOWN_GRADLE_ERROR;\n message =\n 'Gradle build failed with unknown error. See logs for the \"Run gradlew\" phase for more information.';\n}\n"]}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,wEAA2D,CAAA;IAC3D,oEAAuD,CAAA;IACvD,4DAA+C,CAAA;AACjD,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AAiBD,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;SACtB,CAAC;IACJ,CAAC;CACF;AAxBD,gCAwBC;AAED,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAmB,SAAiB,EAAS,OAAe,EAAS,OAAgB;QACnF,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,cAAS,GAAT,SAAS,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAS;IAErF,CAAC;CACF;AAJD,0CAIC;AAED,MAAa,YAAa,SAAQ,eAAe;IAC/C;QACE,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,+CAA+C,CAAC,CAAC;IAClF,CAAC;CACF;AAJD,oCAIC;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,gCAAiC,SAAQ,eAAe;IACnE,YAAY,OAAe;QACzB,KAAK,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAJD,4EAIC","sourcesContent":["import { BuildPhase } from './logs';\n\nexport enum ErrorCode {\n UNKNOWN_ERROR = 'UNKNOWN_ERROR',\n SERVER_ERROR = 'SERVER_ERROR',\n UNKNOWN_FASTLANE_ERROR = 'EAS_BUILD_UNKNOWN_FASTLANE_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}\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 };\n }\n}\n\nexport class UserFacingError extends Error {\n constructor(public errorCode: string, public message: string, public docsUrl?: string) {\n super(message);\n }\n}\n\nexport class UnknownError extends UserFacingError {\n constructor() {\n super(ErrorCode.UNKNOWN_ERROR, 'Unknown error. See logs for more information.');\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 CredentialsDistCertMismatchError extends UserFacingError {\n constructor(message: string) {\n super('EAS_BUILD_CREDENTIALS_DIST_CERT_MISMATCH', message);\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * as Android from './android';
2
2
  export * as Ios from './ios';
3
- export { ArchiveSourceType, ArchiveSource, Env, Workflow, Platform, Cache } from './common';
3
+ export { ArchiveSourceType, ArchiveSource, Env, EnvironmentSecret, EnvironmentSecretType, Workflow, Platform, Cache, } from './common';
4
4
  export { Job, sanitizeJob } from './job';
5
5
  export { Metadata, sanitizeMetadata } from './metadata';
6
6
  export * from './logs';
package/dist/index.js CHANGED
@@ -26,11 +26,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.errors = exports.sanitizeMetadata = exports.sanitizeJob = exports.Platform = exports.Workflow = exports.ArchiveSourceType = exports.Ios = exports.Android = void 0;
29
+ exports.errors = exports.sanitizeMetadata = exports.sanitizeJob = exports.Platform = exports.Workflow = exports.EnvironmentSecretType = exports.ArchiveSourceType = exports.Ios = exports.Android = void 0;
30
30
  exports.Android = __importStar(require("./android"));
31
31
  exports.Ios = __importStar(require("./ios"));
32
32
  var common_1 = require("./common");
33
33
  Object.defineProperty(exports, "ArchiveSourceType", { enumerable: true, get: function () { return common_1.ArchiveSourceType; } });
34
+ Object.defineProperty(exports, "EnvironmentSecretType", { enumerable: true, get: function () { return common_1.EnvironmentSecretType; } });
34
35
  Object.defineProperty(exports, "Workflow", { enumerable: true, get: function () { return common_1.Workflow; } });
35
36
  Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return common_1.Platform; } });
36
37
  var job_1 = require("./job");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AACrC,6CAA6B;AAC7B,mCAA4F;AAAnF,2GAAA,iBAAiB,OAAA;AAAsB,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAClE,6BAAyC;AAA3B,kGAAA,WAAW,OAAA;AACzB,uCAAwD;AAArC,4GAAA,gBAAgB,OAAA;AACnC,yCAAuB;AACvB,mDAAmC","sourcesContent":["export * as Android from './android';\nexport * as Ios from './ios';\nexport { ArchiveSourceType, ArchiveSource, Env, Workflow, Platform, Cache } from './common';\nexport { Job, sanitizeJob } from './job';\nexport { Metadata, sanitizeMetadata } from './metadata';\nexport * from './logs';\nexport * as errors from './errors';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AACrC,6CAA6B;AAC7B,mCASkB;AARhB,2GAAA,iBAAiB,OAAA;AAIjB,+GAAA,qBAAqB,OAAA;AACrB,kGAAA,QAAQ,OAAA;AACR,kGAAA,QAAQ,OAAA;AAGV,6BAAyC;AAA3B,kGAAA,WAAW,OAAA;AACzB,uCAAwD;AAArC,4GAAA,gBAAgB,OAAA;AACnC,yCAAuB;AACvB,mDAAmC","sourcesContent":["export * as Android from './android';\nexport * as Ios from './ios';\nexport {\n ArchiveSourceType,\n ArchiveSource,\n Env,\n EnvironmentSecret,\n EnvironmentSecretType,\n Workflow,\n Platform,\n Cache,\n} from './common';\nexport { Job, sanitizeJob } from './job';\nexport { Metadata, sanitizeMetadata } from './metadata';\nexport * from './logs';\nexport * as errors from './errors';\n"]}
package/dist/ios.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Joi from 'joi';
2
- import { ArchiveSource, Env, Platform, Workflow, Cache } from './common';
2
+ import { ArchiveSource, Env, Platform, Workflow, Cache, EnvironmentSecret } from './common';
3
3
  export declare type DistributionType = 'store' | 'internal' | 'simulator';
4
4
  export interface TargetCredentials {
5
5
  provisioningProfileBase64: string;
@@ -34,7 +34,7 @@ export interface Job {
34
34
  };
35
35
  secrets: {
36
36
  buildCredentials?: BuildCredentials;
37
- environmentSecrets?: Env;
37
+ environmentSecrets?: EnvironmentSecret[] | Env;
38
38
  };
39
39
  builderEnvironment?: BuilderEnvironment;
40
40
  cache: Cache;
package/dist/ios.js CHANGED
@@ -51,7 +51,7 @@ exports.JobSchema = joi_1.default.object({
51
51
  }),
52
52
  secrets: joi_1.default.object({
53
53
  buildCredentials: BuildCredentialsSchema,
54
- environmentSecrets: common_1.EnvSchema,
54
+ environmentSecrets: joi_1.default.alternatives().try(common_1.EnvironmentSecretsSchema, common_1.EnvSchema),
55
55
  }).required(),
56
56
  builderEnvironment: BuilderEnvironmentSchema,
57
57
  cache: common_1.CacheSchema.default(),
package/dist/ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n} from './common';\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}\n\nexport const builderBaseImages = [\n 'default',\n 'latest',\n 'stable',\n 'macos-big-sur-11.4-xcode-12.5',\n 'macos-big-sur-11.4-xcode-13.0',\n 'macos-monterey-12.1-xcode-13.2',\n 'macos-monterey-12.3-xcode-13.3',\n 'macos-monterey-12.4-xcode-13.4',\n] as const;\n\nexport const sdkVersionToDefaultBuilderImage: Record<string, typeof builderBaseImages[number]> = {\n '<=44': 'macos-big-sur-11.4-xcode-13.0',\n '>=45': 'macos-monterey-12.3-xcode-13.3',\n};\n\nexport interface BuilderEnvironment {\n image?: typeof builderBaseImages[number];\n node?: string;\n yarn?: string;\n expoCli?: string;\n bundler?: string;\n fastlane?: string;\n cocoapods?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string().valid(...builderBaseImages),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n bundler: Joi.string(),\n fastlane: Joi.string(),\n cocoapods: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n type: Workflow;\n projectArchive: ArchiveSource;\n platform: Platform.IOS;\n projectRootDirectory: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: BuildCredentials;\n environmentSecrets?: Env;\n };\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 experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.IOS).required(),\n projectRootDirectory: Joi.string().required(),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: BuildCredentialsSchema,\n environmentSecrets: EnvSchema,\n }).required(),\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}).oxor('releaseChannel', 'updates.channel');\n"]}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport {\n ArchiveSource,\n ArchiveSourceSchema,\n Env,\n EnvSchema,\n Platform,\n Workflow,\n Cache,\n CacheSchema,\n EnvironmentSecretsSchema,\n EnvironmentSecret,\n} from './common';\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}\n\nexport const builderBaseImages = [\n 'default',\n 'latest',\n 'stable',\n 'macos-big-sur-11.4-xcode-12.5',\n 'macos-big-sur-11.4-xcode-13.0',\n 'macos-monterey-12.1-xcode-13.2',\n 'macos-monterey-12.3-xcode-13.3',\n 'macos-monterey-12.4-xcode-13.4',\n] as const;\n\nexport const sdkVersionToDefaultBuilderImage: Record<string, typeof builderBaseImages[number]> = {\n '<=44': 'macos-big-sur-11.4-xcode-13.0',\n '>=45': 'macos-monterey-12.3-xcode-13.3',\n};\n\nexport interface BuilderEnvironment {\n image?: typeof builderBaseImages[number];\n node?: string;\n yarn?: string;\n expoCli?: string;\n bundler?: string;\n fastlane?: string;\n cocoapods?: string;\n env?: Env;\n}\n\nconst BuilderEnvironmentSchema = Joi.object({\n image: Joi.string().valid(...builderBaseImages),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: Joi.string(),\n bundler: Joi.string(),\n fastlane: Joi.string(),\n cocoapods: Joi.string(),\n env: EnvSchema,\n});\n\nexport interface Job {\n type: Workflow;\n projectArchive: ArchiveSource;\n platform: Platform.IOS;\n projectRootDirectory: string;\n releaseChannel?: string;\n updates?: {\n channel?: string;\n };\n secrets: {\n buildCredentials?: BuildCredentials;\n environmentSecrets?: EnvironmentSecret[] | Env;\n };\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 experimental?: {\n prebuildCommand?: string;\n };\n}\n\nexport const JobSchema = Joi.object({\n type: Joi.string()\n .valid(...Object.values(Workflow))\n .required(),\n projectArchive: ArchiveSourceSchema.required(),\n platform: Joi.string().valid(Platform.IOS).required(),\n projectRootDirectory: Joi.string().required(),\n releaseChannel: Joi.string(),\n updates: Joi.object({\n channel: Joi.string(),\n }),\n secrets: Joi.object({\n buildCredentials: BuildCredentialsSchema,\n environmentSecrets: Joi.alternatives().try(EnvironmentSecretsSchema, EnvSchema),\n }).required(),\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}).oxor('releaseChannel', 'updates.channel');\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/eas-build-job",
3
- "version": "0.2.90",
3
+ "version": "0.2.92",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [