eas-cli-local-build-plugin 0.0.102 → 0.0.103

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,3 +1,3 @@
1
1
  import { Android } from '@expo/eas-build-job';
2
2
  import { BuildParams } from './types';
3
- export declare function buildAndroidAsync(job: Android.Job, { workingdir, env: baseEnv }: BuildParams): Promise<string | undefined>;
3
+ export declare function buildAndroidAsync(job: Android.Job, { workingdir, env: baseEnv, metadata }: BuildParams): Promise<string | undefined>;
package/dist/android.js CHANGED
@@ -34,7 +34,7 @@ const logger_1 = __importStar(require("./logger"));
34
34
  const buildArtifact_1 = require("./buildArtifact");
35
35
  const config_1 = __importDefault(require("./config"));
36
36
  const expoCli_1 = require("./expoCli");
37
- async function buildAndroidAsync(job, { workingdir, env: baseEnv }) {
37
+ async function buildAndroidAsync(job, { workingdir, env: baseEnv, metadata }) {
38
38
  var _a, _b;
39
39
  const versionName = (_a = job.version) === null || _a === void 0 ? void 0 : _a.versionName;
40
40
  const versionCode = (_b = job.version) === null || _b === void 0 ? void 0 : _b.versionCode;
@@ -46,6 +46,7 @@ async function buildAndroidAsync(job, { workingdir, env: baseEnv }) {
46
46
  runGlobalExpoCliCommand: expoCli_1.runGlobalExpoCliCommandAsync,
47
47
  uploadBuildArtifacts: buildArtifact_1.prepareBuildArtifact,
48
48
  env,
49
+ metadata,
49
50
  skipNativeBuild: config_1.default.skipNativeBuild,
50
51
  });
51
52
  await ctx.runBuildPhase(eas_build_job_1.BuildPhase.START_BUILD, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA+D;AAC/D,mDAA2D;AAC3D,uDAA+B;AAE/B,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAC9B,uCAAyD;AAElD,KAAK,UAAU,iBAAiB,CACrC,GAAgB,EAChB,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAe;;IAEzC,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,GAAG,iDACJ,OAAO,GACP,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC,GAChE,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC,CACpE,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAc,GAAG,EAAE;QAC7C,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,oBAAoB,EAAE,oCAAoB;QAC1C,GAAG;QACH,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,sBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AA1BD,8CA0BC","sourcesContent":["import { Android, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\n\nexport async function buildAndroidAsync(\n job: Android.Job,\n { workingdir, env: baseEnv }: BuildParams\n): Promise<string | undefined> {\n const versionName = job.version?.versionName;\n const versionCode = job.version?.versionCode;\n const env: Env = {\n ...baseEnv,\n ...(versionCode && { EAS_BUILD_ANDROID_VERSION_CODE: versionCode }),\n ...(versionName && { EAS_BUILD_ANDROID_VERSION_NAME: versionName }),\n };\n const ctx = new BuildContext<Android.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,\n uploadBuildArtifacts: prepareBuildArtifact,\n env,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n return await Builders.androidBuilder(ctx);\n}\n"]}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA+D;AAC/D,mDAA2D;AAC3D,uDAA+B;AAE/B,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAC9B,uCAAyD;AAElD,KAAK,UAAU,iBAAiB,CACrC,GAAgB,EAChB,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAe;;IAEnD,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,GAAG,iDACJ,OAAO,GACP,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC,GAChE,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC,CACpE,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAc,GAAG,EAAE;QAC7C,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,oBAAoB,EAAE,oCAAoB;QAC1C,GAAG;QACH,QAAQ;QACR,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,sBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AA3BD,8CA2BC","sourcesContent":["import { Android, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\n\nexport async function buildAndroidAsync(\n job: Android.Job,\n { workingdir, env: baseEnv, metadata }: BuildParams\n): Promise<string | undefined> {\n const versionName = job.version?.versionName;\n const versionCode = job.version?.versionCode;\n const env: Env = {\n ...baseEnv,\n ...(versionCode && { EAS_BUILD_ANDROID_VERSION_CODE: versionCode }),\n ...(versionName && { EAS_BUILD_ANDROID_VERSION_NAME: versionName }),\n };\n const ctx = new BuildContext<Android.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,\n uploadBuildArtifacts: prepareBuildArtifact,\n env,\n metadata,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n return await Builders.androidBuilder(ctx);\n}\n"]}
package/dist/build.js CHANGED
@@ -35,11 +35,11 @@ async function buildAsync(job, metadata) {
35
35
  let artifactPath;
36
36
  switch (job.platform) {
37
37
  case eas_build_job_1.Platform.ANDROID: {
38
- artifactPath = await (0, android_1.buildAndroidAsync)(job, { env, workingdir });
38
+ artifactPath = await (0, android_1.buildAndroidAsync)(job, { env, workingdir, metadata });
39
39
  break;
40
40
  }
41
41
  case eas_build_job_1.Platform.IOS: {
42
- artifactPath = await (0, ios_1.buildIosAsync)(job, { env, workingdir });
42
+ artifactPath = await (0, ios_1.buildIosAsync)(job, { env, workingdir, metadata });
43
43
  break;
44
44
  }
45
45
  }
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { Job, Platform, ArchiveSourceType, Metadata, Workflow } from '@expo/eas-build-job';\nimport pickBy from 'lodash/pickBy';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { SkipNativeBuildError } from '@expo/build-tools';\n\nimport { buildAndroidAsync } from './android';\nimport config from './config';\nimport { buildIosAsync } from './ios';\nimport { prepareWorkingdirAsync } from './workingdir';\n\nexport async function buildAsync(job: Job, metadata: Metadata): Promise<void> {\n const workingdir = await prepareWorkingdirAsync();\n\n try {\n let username = metadata.username;\n if (!username && job.type === Workflow.MANAGED) {\n username = job.username;\n }\n\n // keep in sync with worker env vars\n // https://github.com/expo/turtle-v2/blob/main/src/services/worker/src/env.ts\n const unfilteredEnv: Record<string, string | undefined> = {\n ...process.env,\n ...job.builderEnvironment?.env,\n EAS_BUILD: '1',\n EAS_BUILD_RUNNER: 'local-build-plugin',\n EAS_BUILD_PLATFORM: job.platform,\n EAS_BUILD_WORKINGDIR: path.join(workingdir, 'build'),\n EAS_BUILD_PROFILE: metadata.buildProfile,\n EAS_BUILD_GIT_COMMIT_HASH: metadata.gitCommitHash,\n EAS_BUILD_USERNAME: username,\n ...(job.platform === Platform.ANDROID && {\n EAS_BUILD_ANDROID_VERSION_CODE: job.version?.versionCode,\n EAS_BUILD_ANDROID_VERSION_NAME: job.version?.versionName,\n }),\n ...(job.platform === Platform.IOS && {\n EAS_BUILD_IOS_BUILD_NUMBER: job.version?.buildNumber,\n EAS_BUILD_IOS_APP_VERSION: job.version?.appVersion,\n }),\n };\n const env = pickBy(unfilteredEnv, (val?: string): val is string => !!val);\n\n let artifactPath: string | undefined;\n switch (job.platform) {\n case Platform.ANDROID: {\n artifactPath = await buildAndroidAsync(job, { env, workingdir });\n break;\n }\n case Platform.IOS: {\n artifactPath = await buildIosAsync(job, { env, workingdir });\n break;\n }\n }\n if (!config.skipNativeBuild) {\n console.log();\n console.log(chalk.green('Build successful'));\n console.log(chalk.green(`You can find the build artifacts in ${artifactPath}`));\n }\n } catch (e: any) {\n if (e instanceof SkipNativeBuildError) {\n console.log(e.message);\n return;\n }\n console.error();\n console.error(chalk.red(`Build failed`));\n if (config.logger.level === 'debug') {\n console.error(e.innerError);\n }\n throw e;\n } finally {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(chalk.yellow(`Skipping cleanup, ${workingdir} won't be removed.`));\n }\n if (job.projectArchive.type === ArchiveSourceType.PATH) {\n await fs.remove(job.projectArchive.path);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { Job, Platform, ArchiveSourceType, Metadata, Workflow } from '@expo/eas-build-job';\nimport pickBy from 'lodash/pickBy';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { SkipNativeBuildError } from '@expo/build-tools';\n\nimport { buildAndroidAsync } from './android';\nimport config from './config';\nimport { buildIosAsync } from './ios';\nimport { prepareWorkingdirAsync } from './workingdir';\n\nexport async function buildAsync(job: Job, metadata: Metadata): Promise<void> {\n const workingdir = await prepareWorkingdirAsync();\n\n try {\n let username = metadata.username;\n if (!username && job.type === Workflow.MANAGED) {\n username = job.username;\n }\n\n // keep in sync with worker env vars\n // https://github.com/expo/turtle-v2/blob/main/src/services/worker/src/env.ts\n const unfilteredEnv: Record<string, string | undefined> = {\n ...process.env,\n ...job.builderEnvironment?.env,\n EAS_BUILD: '1',\n EAS_BUILD_RUNNER: 'local-build-plugin',\n EAS_BUILD_PLATFORM: job.platform,\n EAS_BUILD_WORKINGDIR: path.join(workingdir, 'build'),\n EAS_BUILD_PROFILE: metadata.buildProfile,\n EAS_BUILD_GIT_COMMIT_HASH: metadata.gitCommitHash,\n EAS_BUILD_USERNAME: username,\n ...(job.platform === Platform.ANDROID && {\n EAS_BUILD_ANDROID_VERSION_CODE: job.version?.versionCode,\n EAS_BUILD_ANDROID_VERSION_NAME: job.version?.versionName,\n }),\n ...(job.platform === Platform.IOS && {\n EAS_BUILD_IOS_BUILD_NUMBER: job.version?.buildNumber,\n EAS_BUILD_IOS_APP_VERSION: job.version?.appVersion,\n }),\n };\n const env = pickBy(unfilteredEnv, (val?: string): val is string => !!val);\n\n let artifactPath: string | undefined;\n switch (job.platform) {\n case Platform.ANDROID: {\n artifactPath = await buildAndroidAsync(job, { env, workingdir, metadata });\n break;\n }\n case Platform.IOS: {\n artifactPath = await buildIosAsync(job, { env, workingdir, metadata });\n break;\n }\n }\n if (!config.skipNativeBuild) {\n console.log();\n console.log(chalk.green('Build successful'));\n console.log(chalk.green(`You can find the build artifacts in ${artifactPath}`));\n }\n } catch (e: any) {\n if (e instanceof SkipNativeBuildError) {\n console.log(e.message);\n return;\n }\n console.error();\n console.error(chalk.red(`Build failed`));\n if (config.logger.level === 'debug') {\n console.error(e.innerError);\n }\n throw e;\n } finally {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(chalk.yellow(`Skipping cleanup, ${workingdir} won't be removed.`));\n }\n if (job.projectArchive.type === ArchiveSourceType.PATH) {\n await fs.remove(job.projectArchive.path);\n }\n }\n}\n"]}
package/dist/ios.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { Ios } from '@expo/eas-build-job';
2
2
  import { BuildParams } from './types';
3
- export declare function buildIosAsync(job: Ios.Job, { workingdir, env: baseEnv }: BuildParams): Promise<string | undefined>;
3
+ export declare function buildIosAsync(job: Ios.Job, { workingdir, env: baseEnv, metadata }: BuildParams): Promise<string | undefined>;
package/dist/ios.js CHANGED
@@ -34,7 +34,7 @@ const expoCli_1 = require("./expoCli");
34
34
  const logger_1 = __importStar(require("./logger"));
35
35
  const buildArtifact_1 = require("./buildArtifact");
36
36
  const config_1 = __importDefault(require("./config"));
37
- async function buildIosAsync(job, { workingdir, env: baseEnv }) {
37
+ async function buildIosAsync(job, { workingdir, env: baseEnv, metadata }) {
38
38
  var _a, _b;
39
39
  const buildNumber = (_a = job.version) === null || _a === void 0 ? void 0 : _a.buildNumber;
40
40
  const appVersion = (_b = job.version) === null || _b === void 0 ? void 0 : _b.appVersion;
@@ -46,6 +46,7 @@ async function buildIosAsync(job, { workingdir, env: baseEnv }) {
46
46
  runGlobalExpoCliCommand: expoCli_1.runGlobalExpoCliCommandAsync,
47
47
  uploadBuildArtifacts: buildArtifact_1.prepareBuildArtifact,
48
48
  env,
49
+ metadata,
49
50
  skipNativeBuild: config_1.default.skipNativeBuild,
50
51
  });
51
52
  await ctx.runBuildPhase(eas_build_job_1.BuildPhase.START_BUILD, async () => {
package/dist/ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,mDAA2D;AAC3D,uDAA+B;AAE/B,uCAAyD;AACzD,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAEvB,KAAK,UAAU,aAAa,CACjC,GAAY,EACZ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAe;;IAEzC,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,CAAC;IAC3C,MAAM,GAAG,iDACJ,OAAO,GACP,CAAC,WAAW,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,GAC5D,CAAC,UAAU,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC,CAC7D,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAU,GAAG,EAAE;QACzC,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,oBAAoB,EAAE,oCAAoB;QAC1C,GAAG;QACH,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,sBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AA1BD,sCA0BC","sourcesContent":["import { Ios, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\n\nexport async function buildIosAsync(\n job: Ios.Job,\n { workingdir, env: baseEnv }: BuildParams\n): Promise<string | undefined> {\n const buildNumber = job.version?.buildNumber;\n const appVersion = job.version?.appVersion;\n const env: Env = {\n ...baseEnv,\n ...(buildNumber && { EAS_BUILD_IOS_BUILD_NUMBER: buildNumber }),\n ...(appVersion && { EAS_BUILD_IOS_APP_VERSION: appVersion }),\n };\n const ctx = new BuildContext<Ios.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,\n uploadBuildArtifacts: prepareBuildArtifact,\n env,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n return await Builders.iosBuilder(ctx);\n}\n"]}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA2D;AAC3D,mDAA2D;AAC3D,uDAA+B;AAE/B,uCAAyD;AACzD,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAEvB,KAAK,UAAU,aAAa,CACjC,GAAY,EACZ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAe;;IAEnD,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,CAAC;IAC3C,MAAM,GAAG,iDACJ,OAAO,GACP,CAAC,WAAW,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,GAC5D,CAAC,UAAU,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC,CAC7D,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAU,GAAG,EAAE;QACzC,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,oBAAoB,EAAE,oCAAoB;QAC1C,GAAG;QACH,QAAQ;QACR,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,sBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AA3BD,sCA2BC","sourcesContent":["import { Ios, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\n\nexport async function buildIosAsync(\n job: Ios.Job,\n { workingdir, env: baseEnv, metadata }: BuildParams\n): Promise<string | undefined> {\n const buildNumber = job.version?.buildNumber;\n const appVersion = job.version?.appVersion;\n const env: Env = {\n ...baseEnv,\n ...(buildNumber && { EAS_BUILD_IOS_BUILD_NUMBER: buildNumber }),\n ...(appVersion && { EAS_BUILD_IOS_APP_VERSION: appVersion }),\n };\n const ctx = new BuildContext<Ios.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,\n uploadBuildArtifacts: prepareBuildArtifact,\n env,\n metadata,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n return await Builders.iosBuilder(ctx);\n}\n"]}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import { Metadata } from '@expo/eas-build-job';
1
2
  export interface BuildParams {
2
3
  workingdir: string;
3
4
  env: Record<string, string>;
5
+ metadata: Metadata;
4
6
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface BuildParams {\n workingdir: string;\n env: Record<string, string>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Metadata } from '@expo/eas-build-job';\n\nexport interface BuildParams {\n workingdir: string;\n env: Record<string, string>;\n metadata: Metadata;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eas-cli-local-build-plugin",
3
- "version": "0.0.102",
3
+ "version": "0.0.103",
4
4
  "description": "Tool for running EAS compatible builds on a local machine.",
5
5
  "main": "dist/main.js",
6
6
  "bin": {
@@ -19,14 +19,14 @@
19
19
  "bugs": "https://github.com/expo/eas-build/issues",
20
20
  "license": "BUSL-1.1",
21
21
  "dependencies": {
22
- "@expo/build-tools": "0.1.145",
22
+ "@expo/build-tools": "0.1.146",
23
23
  "@expo/bunyan": "^4.0.0",
24
- "@expo/eas-build-job": "0.2.87",
24
+ "@expo/eas-build-job": "0.2.88",
25
25
  "@expo/spawn-async": "^1.5.0",
26
26
  "@expo/turtle-spawn": "0.0.25",
27
27
  "chalk": "^4.1.0",
28
28
  "env-paths": "2.2.0",
29
- "expo-cli": "5.4.9",
29
+ "expo-cli": "6.0.5",
30
30
  "fs-extra": "^10.0.1",
31
31
  "joi": "^17.4.2",
32
32
  "lodash": "^4.17.21",
package/src/android.ts CHANGED
@@ -10,7 +10,7 @@ import { runGlobalExpoCliCommandAsync } from './expoCli';
10
10
 
11
11
  export async function buildAndroidAsync(
12
12
  job: Android.Job,
13
- { workingdir, env: baseEnv }: BuildParams
13
+ { workingdir, env: baseEnv, metadata }: BuildParams
14
14
  ): Promise<string | undefined> {
15
15
  const versionName = job.version?.versionName;
16
16
  const versionCode = job.version?.versionCode;
@@ -26,6 +26,7 @@ export async function buildAndroidAsync(
26
26
  runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,
27
27
  uploadBuildArtifacts: prepareBuildArtifact,
28
28
  env,
29
+ metadata,
29
30
  skipNativeBuild: config.skipNativeBuild,
30
31
  });
31
32
 
package/src/build.ts CHANGED
@@ -46,11 +46,11 @@ export async function buildAsync(job: Job, metadata: Metadata): Promise<void> {
46
46
  let artifactPath: string | undefined;
47
47
  switch (job.platform) {
48
48
  case Platform.ANDROID: {
49
- artifactPath = await buildAndroidAsync(job, { env, workingdir });
49
+ artifactPath = await buildAndroidAsync(job, { env, workingdir, metadata });
50
50
  break;
51
51
  }
52
52
  case Platform.IOS: {
53
- artifactPath = await buildIosAsync(job, { env, workingdir });
53
+ artifactPath = await buildIosAsync(job, { env, workingdir, metadata });
54
54
  break;
55
55
  }
56
56
  }
package/src/ios.ts CHANGED
@@ -10,7 +10,7 @@ import config from './config';
10
10
 
11
11
  export async function buildIosAsync(
12
12
  job: Ios.Job,
13
- { workingdir, env: baseEnv }: BuildParams
13
+ { workingdir, env: baseEnv, metadata }: BuildParams
14
14
  ): Promise<string | undefined> {
15
15
  const buildNumber = job.version?.buildNumber;
16
16
  const appVersion = job.version?.appVersion;
@@ -26,6 +26,7 @@ export async function buildIosAsync(
26
26
  runGlobalExpoCliCommand: runGlobalExpoCliCommandAsync,
27
27
  uploadBuildArtifacts: prepareBuildArtifact,
28
28
  env,
29
+ metadata,
29
30
  skipNativeBuild: config.skipNativeBuild,
30
31
  });
31
32
 
package/src/types.ts CHANGED
@@ -1,4 +1,7 @@
1
+ import { Metadata } from '@expo/eas-build-job';
2
+
1
3
  export interface BuildParams {
2
4
  workingdir: string;
3
5
  env: Record<string, string>;
6
+ metadata: Metadata;
4
7
  }