@expo/eas-build-job 0.2.105 → 0.2.106
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 +11 -7
- package/dist/android.js +18 -6
- package/dist/android.js.map +1 -1
- package/dist/common.d.ts +2 -1
- package/dist/common.js +1 -0
- package/dist/common.js.map +1 -1
- package/dist/ios.d.ts +9 -5
- package/dist/ios.js +26 -14
- package/dist/ios.js.map +1 -1
- package/dist/logs.d.ts +2 -1
- package/dist/logs.js +2 -0
- package/dist/logs.js.map +1 -1
- package/dist/metadata.d.ts +1 -1
- package/dist/metadata.js +1 -1
- package/dist/metadata.js.map +1 -1
- package/package.json +1 -1
package/dist/android.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ export interface BuilderEnvironment {
|
|
|
18
18
|
ndk?: string;
|
|
19
19
|
env?: Env;
|
|
20
20
|
}
|
|
21
|
+
export interface BuildSecrets {
|
|
22
|
+
buildCredentials?: {
|
|
23
|
+
keystore: Keystore;
|
|
24
|
+
};
|
|
25
|
+
environmentSecrets?: EnvironmentSecret[];
|
|
26
|
+
robotAccessToken?: string;
|
|
27
|
+
}
|
|
21
28
|
export interface Job {
|
|
22
29
|
mode: BuildMode;
|
|
23
30
|
type: Workflow;
|
|
@@ -30,13 +37,7 @@ export interface Job {
|
|
|
30
37
|
updates?: {
|
|
31
38
|
channel?: string;
|
|
32
39
|
};
|
|
33
|
-
secrets
|
|
34
|
-
buildCredentials?: {
|
|
35
|
-
keystore: Keystore;
|
|
36
|
-
};
|
|
37
|
-
environmentSecrets?: EnvironmentSecret[];
|
|
38
|
-
robotAccessToken?: string;
|
|
39
|
-
};
|
|
40
|
+
secrets?: BuildSecrets;
|
|
40
41
|
builderEnvironment?: BuilderEnvironment;
|
|
41
42
|
cache: Cache;
|
|
42
43
|
developmentClient?: boolean;
|
|
@@ -56,6 +57,9 @@ export interface Job {
|
|
|
56
57
|
applicationArchivePath?: string;
|
|
57
58
|
buildType?: BuildType;
|
|
58
59
|
username?: string;
|
|
60
|
+
customBuildConfig?: {
|
|
61
|
+
path: string;
|
|
62
|
+
};
|
|
59
63
|
experimental?: {
|
|
60
64
|
prebuildCommand?: string;
|
|
61
65
|
};
|
package/dist/android.js
CHANGED
|
@@ -25,8 +25,13 @@ const BuilderEnvironmentSchema = joi_1.default.object({
|
|
|
25
25
|
ndk: joi_1.default.string(),
|
|
26
26
|
env: common_1.EnvSchema,
|
|
27
27
|
});
|
|
28
|
+
const SecretsSchema = joi_1.default.object({
|
|
29
|
+
buildCredentials: joi_1.default.object({ keystore: KeystoreSchema.required() }),
|
|
30
|
+
environmentSecrets: common_1.EnvironmentSecretsSchema,
|
|
31
|
+
robotAccessToken: joi_1.default.string(),
|
|
32
|
+
});
|
|
28
33
|
exports.JobSchema = joi_1.default.object({
|
|
29
|
-
mode: joi_1.default.string().valid(common_1.BuildMode.BUILD).default(common_1.BuildMode.BUILD),
|
|
34
|
+
mode: joi_1.default.string().valid(common_1.BuildMode.BUILD, common_1.BuildMode.CUSTOM).default(common_1.BuildMode.BUILD),
|
|
30
35
|
type: joi_1.default.string()
|
|
31
36
|
.valid(...Object.values(common_1.Workflow))
|
|
32
37
|
.required(),
|
|
@@ -45,11 +50,11 @@ exports.JobSchema = joi_1.default.object({
|
|
|
45
50
|
updates: joi_1.default.object({
|
|
46
51
|
channel: joi_1.default.string(),
|
|
47
52
|
}),
|
|
48
|
-
secrets: joi_1.default.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
})
|
|
53
|
+
secrets: joi_1.default.when('mode', {
|
|
54
|
+
is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
|
|
55
|
+
then: SecretsSchema,
|
|
56
|
+
otherwise: SecretsSchema.required(),
|
|
57
|
+
}),
|
|
53
58
|
builderEnvironment: BuilderEnvironmentSchema,
|
|
54
59
|
cache: common_1.CacheSchema.default(),
|
|
55
60
|
developmentClient: joi_1.default.boolean(),
|
|
@@ -61,6 +66,13 @@ exports.JobSchema = joi_1.default.object({
|
|
|
61
66
|
applicationArchivePath: joi_1.default.string(),
|
|
62
67
|
buildType: joi_1.default.string().valid(...Object.values(BuildType)),
|
|
63
68
|
username: joi_1.default.string(),
|
|
69
|
+
customBuildConfig: joi_1.default.when('mode', {
|
|
70
|
+
is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
|
|
71
|
+
then: joi_1.default.object({
|
|
72
|
+
path: joi_1.default.string(),
|
|
73
|
+
}).required(),
|
|
74
|
+
otherwise: joi_1.default.any().strip(),
|
|
75
|
+
}),
|
|
64
76
|
experimental: joi_1.default.object({
|
|
65
77
|
prebuildCommand: joi_1.default.string(),
|
|
66
78
|
}),
|
package/dist/android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAEtB,qCAakB;AASlB,MAAM,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC;AAEH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,sCAAyB,CAAA;AAC3B,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAWD,MAAM,wBAAwB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,kBAAS;CACf,CAAC,CAAC;
|
|
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 BuildTrigger,\n BuildMode,\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 interface BuilderEnvironment {\n image?: string;\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(),\n node: Joi.string(),\n yarn: Joi.string(),\n expoCli: 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 releaseChannel?: 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\n experimental?: {\n prebuildCommand?: string;\n };\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().valid(BuildMode.BUILD, BuildMode.CUSTOM).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 releaseChannel: Joi.string(),\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 customBuildConfig: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: Joi.object({\n path: Joi.string(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
|
package/dist/common.d.ts
CHANGED
package/dist/common.js
CHANGED
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAItB,IAAY,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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","sourcesContent":["import Joi from 'joi';\n\nimport { BuildPhase, BuildPhaseResult } from './logs';\n\nexport enum BuildMode {\n BUILD = 'build',\n RESIGN = 'resign',\n CUSTOM = 'custom',\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 S3 = 'S3',\n URL = 'URL',\n PATH = 'PATH',\n GCS = 'GCS',\n GIT = 'GIT',\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.S3; bucketKey: string }\n | { type: ArchiveSourceType.GCS; 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 /**\n * Git commit hash, branch, or tag\n */\n gitRef: 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 }),\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.GIT }).unknown(), {\n then: Joi.object({\n type: Joi.string().valid(ArchiveSourceType.GIT).required(),\n repositoryUrl: Joi.string().required(),\n gitRef: Joi.string().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\nexport interface BuildPhaseStats {\n buildPhase: BuildPhase;\n result: BuildPhaseResult;\n durationMs: number;\n}\n"]}
|
package/dist/ios.d.ts
CHANGED
|
@@ -21,6 +21,11 @@ export interface BuilderEnvironment {
|
|
|
21
21
|
cocoapods?: string;
|
|
22
22
|
env?: Env;
|
|
23
23
|
}
|
|
24
|
+
export interface BuildSecrets {
|
|
25
|
+
buildCredentials?: BuildCredentials;
|
|
26
|
+
environmentSecrets?: EnvironmentSecret[];
|
|
27
|
+
robotAccessToken?: string;
|
|
28
|
+
}
|
|
24
29
|
export interface Job {
|
|
25
30
|
mode: BuildMode;
|
|
26
31
|
type: Workflow;
|
|
@@ -36,11 +41,7 @@ export interface Job {
|
|
|
36
41
|
updates?: {
|
|
37
42
|
channel?: string;
|
|
38
43
|
};
|
|
39
|
-
secrets
|
|
40
|
-
buildCredentials?: BuildCredentials;
|
|
41
|
-
environmentSecrets?: EnvironmentSecret[];
|
|
42
|
-
robotAccessToken?: string;
|
|
43
|
-
};
|
|
44
|
+
secrets?: BuildSecrets;
|
|
44
45
|
builderEnvironment?: BuilderEnvironment;
|
|
45
46
|
cache: Cache;
|
|
46
47
|
developmentClient?: boolean;
|
|
@@ -61,6 +62,9 @@ export interface Job {
|
|
|
61
62
|
buildConfiguration?: string;
|
|
62
63
|
applicationArchivePath?: string;
|
|
63
64
|
username?: string;
|
|
65
|
+
customBuildConfig?: {
|
|
66
|
+
path: string;
|
|
67
|
+
};
|
|
64
68
|
experimental?: {
|
|
65
69
|
prebuildCommand?: string;
|
|
66
70
|
};
|
package/dist/ios.js
CHANGED
|
@@ -24,33 +24,38 @@ const BuilderEnvironmentSchema = joi_1.default.object({
|
|
|
24
24
|
cocoapods: joi_1.default.string(),
|
|
25
25
|
env: common_1.EnvSchema,
|
|
26
26
|
});
|
|
27
|
+
const SecretsSchema = joi_1.default.object({
|
|
28
|
+
buildCredentials: BuildCredentialsSchema,
|
|
29
|
+
environmentSecrets: common_1.EnvironmentSecretsSchema,
|
|
30
|
+
robotAccessToken: joi_1.default.string(),
|
|
31
|
+
});
|
|
27
32
|
exports.JobSchema = joi_1.default.object({
|
|
28
33
|
mode: joi_1.default.string()
|
|
29
34
|
.valid(...Object.values(common_1.BuildMode))
|
|
30
35
|
.default(common_1.BuildMode.BUILD),
|
|
31
36
|
type: joi_1.default.when('mode', {
|
|
32
|
-
is: joi_1.default.string().valid(common_1.BuildMode.
|
|
33
|
-
then: joi_1.default.string()
|
|
37
|
+
is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
|
|
38
|
+
then: joi_1.default.string().valid(common_1.Workflow.UNKNOWN).default(common_1.Workflow.UNKNOWN),
|
|
39
|
+
otherwise: joi_1.default.string()
|
|
34
40
|
.valid(...Object.values(common_1.Workflow))
|
|
35
41
|
.required(),
|
|
36
|
-
otherwise: joi_1.default.string().valid(common_1.Workflow.UNKNOWN).default(common_1.Workflow.UNKNOWN),
|
|
37
42
|
}),
|
|
38
43
|
triggeredBy: joi_1.default.string()
|
|
39
44
|
.valid(...Object.values(common_1.BuildTrigger))
|
|
40
45
|
.default(common_1.BuildTrigger.EAS_CLI),
|
|
41
46
|
projectArchive: common_1.ArchiveSourceSchema.required(),
|
|
42
47
|
resign: joi_1.default.when('mode', {
|
|
43
|
-
is: joi_1.default.string().valid(common_1.BuildMode.
|
|
44
|
-
then: joi_1.default.
|
|
45
|
-
otherwise: joi_1.default.object({
|
|
48
|
+
is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
|
|
49
|
+
then: joi_1.default.object({
|
|
46
50
|
applicationArchiveSource: common_1.ArchiveSourceSchema.required(),
|
|
47
51
|
}).required(),
|
|
52
|
+
otherwise: joi_1.default.any().strip(),
|
|
48
53
|
}),
|
|
49
54
|
platform: joi_1.default.string().valid(common_1.Platform.IOS).required(),
|
|
50
55
|
projectRootDirectory: joi_1.default.when('mode', {
|
|
51
|
-
is: joi_1.default.string().valid(common_1.BuildMode.
|
|
52
|
-
then: joi_1.default.
|
|
53
|
-
otherwise: joi_1.default.
|
|
56
|
+
is: joi_1.default.string().valid(common_1.BuildMode.RESIGN),
|
|
57
|
+
then: joi_1.default.any().strip(),
|
|
58
|
+
otherwise: joi_1.default.string().required(),
|
|
54
59
|
}),
|
|
55
60
|
buildProfile: joi_1.default.when('mode', {
|
|
56
61
|
is: joi_1.default.string().valid(common_1.BuildMode.BUILD),
|
|
@@ -65,11 +70,11 @@ exports.JobSchema = joi_1.default.object({
|
|
|
65
70
|
updates: joi_1.default.object({
|
|
66
71
|
channel: joi_1.default.string(),
|
|
67
72
|
}),
|
|
68
|
-
secrets: joi_1.default.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
})
|
|
73
|
+
secrets: joi_1.default.when('mode', {
|
|
74
|
+
is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
|
|
75
|
+
then: SecretsSchema,
|
|
76
|
+
otherwise: SecretsSchema.required(),
|
|
77
|
+
}),
|
|
73
78
|
builderEnvironment: BuilderEnvironmentSchema,
|
|
74
79
|
cache: common_1.CacheSchema.default(),
|
|
75
80
|
developmentClient: joi_1.default.boolean(),
|
|
@@ -82,6 +87,13 @@ exports.JobSchema = joi_1.default.object({
|
|
|
82
87
|
buildConfiguration: joi_1.default.string(),
|
|
83
88
|
applicationArchivePath: joi_1.default.string(),
|
|
84
89
|
username: joi_1.default.string(),
|
|
90
|
+
customBuildConfig: joi_1.default.when('mode', {
|
|
91
|
+
is: joi_1.default.string().valid(common_1.BuildMode.CUSTOM),
|
|
92
|
+
then: joi_1.default.object({
|
|
93
|
+
path: joi_1.default.string(),
|
|
94
|
+
}).required(),
|
|
95
|
+
otherwise: joi_1.default.any().strip(),
|
|
96
|
+
}),
|
|
85
97
|
experimental: joi_1.default.object({
|
|
86
98
|
prebuildCommand: joi_1.default.string(),
|
|
87
99
|
}),
|
package/dist/ios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAEtB,qCAakB;AAIlB,MAAM,uBAAuB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IAChD,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClD,uBAAuB,EAAE,aAAG,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC5C,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC;AAOH,MAAM,sBAAsB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CACjD,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EACvB,uBAAuB,CACxB,CAAC;AAoBF,MAAM,wBAAwB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE;IACvB,GAAG,EAAE,kBAAS;CACf,CAAC,CAAC;
|
|
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 BuildTrigger,\n BuildMode,\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}\nexport interface BuilderEnvironment {\n image?: string;\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(),\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 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 releaseChannel?: 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\n experimental?: {\n prebuildCommand?: string;\n };\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 releaseChannel: Joi.string(),\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 customBuildConfig: Joi.when('mode', {\n is: Joi.string().valid(BuildMode.CUSTOM),\n then: Joi.object({\n path: Joi.string(),\n }).required(),\n otherwise: Joi.any().strip(),\n }),\n\n experimental: Joi.object({\n prebuildCommand: Joi.string(),\n }),\n}).oxor('releaseChannel', 'updates.channel');\n"]}
|
package/dist/logs.d.ts
CHANGED
|
@@ -38,7 +38,8 @@ export declare enum BuildPhase {
|
|
|
38
38
|
ON_BUILD_SUCCESS_HOOK = "ON_BUILD_SUCCESS_HOOK",
|
|
39
39
|
ON_BUILD_ERROR_HOOK = "ON_BUILD_ERROR_HOOK",
|
|
40
40
|
ON_BUILD_COMPLETE_HOOK = "ON_BUILD_COMPLETE_HOOK",
|
|
41
|
-
DOWNLOAD_APPLICATION_ARCHIVE = "DOWNLOAD_APPLICATION_ARCHIVE"
|
|
41
|
+
DOWNLOAD_APPLICATION_ARCHIVE = "DOWNLOAD_APPLICATION_ARCHIVE",
|
|
42
|
+
CUSTOM = "CUSTOM"
|
|
42
43
|
}
|
|
43
44
|
export declare enum BuildPhaseResult {
|
|
44
45
|
SUCCESS = "success",
|
package/dist/logs.js
CHANGED
|
@@ -47,6 +47,8 @@ var BuildPhase;
|
|
|
47
47
|
BuildPhase["ON_BUILD_COMPLETE_HOOK"] = "ON_BUILD_COMPLETE_HOOK";
|
|
48
48
|
// RESIGN
|
|
49
49
|
BuildPhase["DOWNLOAD_APPLICATION_ARCHIVE"] = "DOWNLOAD_APPLICATION_ARCHIVE";
|
|
50
|
+
// CUSTOM BUILDS
|
|
51
|
+
BuildPhase["CUSTOM"] = "CUSTOM";
|
|
50
52
|
})(BuildPhase = exports.BuildPhase || (exports.BuildPhase = {}));
|
|
51
53
|
var BuildPhaseResult;
|
|
52
54
|
(function (BuildPhaseResult) {
|
package/dist/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAoDX;AApDD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iDAAmC,CAAA;IACnC,2CAA6B,CAAA;IAC7B,iDAAmC,CAAA;IACnC,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,mEAAqD,CAAA;IACrD,yCAA2B,CAAA;IAC3B,2DAA6C,CAAA;IAC7C,iDAAmC,CAAA;IACnC,6CAA+B,CAAA;IAC/B,2DAA6C,CAAA;IAC7C,uDAAyC,CAAA;IACzC,mCAAqB,CAAA;IACrB,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IACjD,uCAAyB,CAAA;IACzB;;OAEG;IACH,mDAAqC,CAAA;IACrC,uEAAyD,CAAA;IACzD,+DAAiD,CAAA;IACjD,qDAAuC,CAAA;IACvC,2DAA6C,CAAA;IAC7C,+CAAiC,CAAA;IACjC,uCAAyB,CAAA;IAEzB,UAAU;IACV,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAE3B,MAAM;IACN,2CAA6B,CAAA;IAC7B,iEAAmD,CAAA;IACnD,2CAA6B,CAAA;IAE7B,QAAQ;IACR,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,qEAAuD,CAAA;IACvD,6DAA+C,CAAA;IAC/C,yDAA2C,CAAA;IAC3C,+DAAiD,CAAA;IAEjD,SAAS;IACT,2EAA6D,CAAA;IAE7D,gBAAgB;IAChB,+BAAiB,CAAA;AACnB,CAAC,EApDW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAoDrB;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACrB,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;AACzB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB","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_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 CONFIGURE_EXPO_UPDATES = 'CONFIGURE_EXPO_UPDATES',\n SAVE_CACHE = 'SAVE_CACHE',\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\n // RESIGN\n DOWNLOAD_APPLICATION_ARCHIVE = 'DOWNLOAD_APPLICATION_ARCHIVE',\n\n // CUSTOM BUILDS\n CUSTOM = 'CUSTOM',\n}\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"]}
|
package/dist/metadata.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export type Metadata = {
|
|
|
113
113
|
/**
|
|
114
114
|
* Build mode
|
|
115
115
|
*/
|
|
116
|
-
buildMode?: 'build' | 'resign';
|
|
116
|
+
buildMode?: 'build' | 'resign' | 'custom';
|
|
117
117
|
};
|
|
118
118
|
export declare const MetadataSchema: Joi.ObjectSchema<any>;
|
|
119
119
|
export declare function sanitizeMetadata(metadata: object): Metadata;
|
package/dist/metadata.js
CHANGED
|
@@ -31,7 +31,7 @@ exports.MetadataSchema = joi_1.default.object({
|
|
|
31
31
|
message: joi_1.default.string().max(1024),
|
|
32
32
|
runFromCI: joi_1.default.boolean(),
|
|
33
33
|
runWithNoWaitFlag: joi_1.default.boolean(),
|
|
34
|
-
buildMode: joi_1.default.string().valid('build', 'resign'),
|
|
34
|
+
buildMode: joi_1.default.string().valid('build', 'resign', 'custom'),
|
|
35
35
|
});
|
|
36
36
|
function sanitizeMetadata(metadata) {
|
|
37
37
|
const { value, error } = exports.MetadataSchema.validate(metadata, {
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AA+IT,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAClE,QAAQ,EAAE;IACb,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,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,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,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AA+IT,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAClE,QAAQ,EAAE;IACb,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,kBAAkB,EAAE,aAAG,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;IAC5B,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,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC3D,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;QACT,MAAM,KAAK,CAAC;KACb;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAXD,4CAWC","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 * Release channel (for classic expo-updates)\n * It's undefined if the classic expo-updates package is not installed for the project.\n */\n releaseChannel?: 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 */\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 * Build mode\n */\n buildMode?: 'build' | 'resign' | 'custom';\n};\n\nexport const MetadataSchema = Joi.object({\n trackingContext: Joi.object()\n .pattern(Joi.string(), [Joi.string(), Joi.number(), Joi.boolean()])\n .required(),\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 reactNativeVersion: Joi.string(),\n releaseChannel: 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 buildMode: Joi.string().valid('build', 'resign', 'custom'),\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"]}
|