eas-cli-local-build-plugin 1.0.95 → 1.0.97

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,4 +1,4 @@
1
1
  import { Android } from '@expo/eas-build-job';
2
2
  import { Artifacts } from '@expo/build-tools';
3
3
  import { BuildParams } from './types';
4
- export declare function buildAndroidAsync(job: Android.Job, { workingdir, env: baseEnv, metadata }: BuildParams): Promise<Artifacts>;
4
+ export declare function buildAndroidAsync(job: Android.Job, { workingdir, env: baseEnv, metadata, logger }: BuildParams): Promise<Artifacts>;
package/dist/android.js CHANGED
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -30,11 +7,11 @@ exports.buildAndroidAsync = void 0;
30
7
  const eas_build_job_1 = require("@expo/eas-build-job");
31
8
  const build_tools_1 = require("@expo/build-tools");
32
9
  const omit_1 = __importDefault(require("lodash/omit"));
33
- const logger_1 = __importStar(require("./logger"));
10
+ const logger_1 = require("./logger");
34
11
  const artifacts_1 = require("./artifacts");
35
12
  const config_1 = __importDefault(require("./config"));
36
13
  const expoCli_1 = require("./expoCli");
37
- async function buildAndroidAsync(job, { workingdir, env: baseEnv, metadata }) {
14
+ async function buildAndroidAsync(job, { workingdir, env: baseEnv, metadata, logger }) {
38
15
  var _a, _b;
39
16
  const versionName = (_a = job.version) === null || _a === void 0 ? void 0 : _a.versionName;
40
17
  const versionCode = (_b = job.version) === null || _b === void 0 ? void 0 : _b.versionCode;
@@ -45,7 +22,7 @@ async function buildAndroidAsync(job, { workingdir, env: baseEnv, metadata }) {
45
22
  };
46
23
  const ctx = new build_tools_1.BuildContext(job, {
47
24
  workingdir,
48
- logger: logger_1.default,
25
+ logger,
49
26
  logBuffer: logger_1.logBuffer,
50
27
  runGlobalExpoCliCommand: expoCli_1.runGlobalExpoCliCommandAsync,
51
28
  uploadArtifact: async ({ artifact, logger }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAoF;AACpF,mDAAsE;AACtE,uDAA+B;AAE/B,mDAA6C;AAE7C,2CAA+C;AAC/C,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,GAAQ;QACf,GAAG,OAAO;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC;QACnE,GAAG,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC;KACpE,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,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,mCAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAA,4BAAgB,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,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;AAjCD,8CAiCC","sourcesContent":["import { Android, ManagedArtifactType, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext, Artifacts } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareArtifacts } from './artifacts';\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<Artifacts> {\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 uploadArtifact: async ({ artifact, logger }) => {\n if (artifact.type !== ManagedArtifactType.APPLICATION_ARCHIVE) {\n return null;\n } else {\n return await prepareArtifacts(artifact.paths, logger);\n }\n },\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"]}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoF;AACpF,mDAAsE;AACtE,uDAA+B;AAE/B,qCAAqC;AAErC,2CAA+C;AAC/C,sDAA8B;AAC9B,uCAAyD;AAElD,KAAK,UAAU,iBAAiB,CACrC,GAAgB,EAChB,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAe;;IAE3D,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,GAAG,GAAQ;QACf,GAAG,OAAO;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC;QACnE,GAAG,CAAC,WAAW,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAc,GAAG,EAAE;QAC7C,UAAU;QACV,MAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,mCAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAA,4BAAgB,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,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;AAjCD,8CAiCC","sourcesContent":["import { Android, ManagedArtifactType, BuildPhase, Env } from '@expo/eas-build-job';\nimport { Builders, BuildContext, Artifacts } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareArtifacts } from './artifacts';\nimport config from './config';\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\n\nexport async function buildAndroidAsync(\n job: Android.Job,\n { workingdir, env: baseEnv, metadata, logger }: BuildParams\n): Promise<Artifacts> {\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 uploadArtifact: async ({ artifact, logger }) => {\n if (artifact.type !== ManagedArtifactType.APPLICATION_ARCHIVE) {\n return null;\n } else {\n return await prepareArtifacts(artifact.paths, logger);\n }\n },\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
@@ -10,13 +10,16 @@ const pickBy_1 = __importDefault(require("lodash/pickBy"));
10
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
11
  const chalk_1 = __importDefault(require("chalk"));
12
12
  const build_tools_1 = require("@expo/build-tools");
13
+ const bunyan_1 = require("bunyan");
13
14
  const android_1 = require("./android");
14
15
  const config_1 = __importDefault(require("./config"));
15
16
  const ios_1 = require("./ios");
16
17
  const workingdir_1 = require("./workingdir");
18
+ const logger_1 = require("./logger");
17
19
  async function buildAsync(job, metadata) {
18
20
  var _a, _b, _c, _d, _e;
19
- const workingdir = await (0, workingdir_1.prepareWorkingdirAsync)();
21
+ const logger = (0, logger_1.createLogger)(job.loggerLevel);
22
+ const workingdir = await (0, workingdir_1.prepareWorkingdirAsync)({ logger });
20
23
  try {
21
24
  let username = metadata.username;
22
25
  if (!username && job.type === eas_build_job_1.Workflow.MANAGED) {
@@ -49,11 +52,11 @@ async function buildAsync(job, metadata) {
49
52
  let artifacts;
50
53
  switch (job.platform) {
51
54
  case eas_build_job_1.Platform.ANDROID: {
52
- artifacts = await (0, android_1.buildAndroidAsync)(job, { env, workingdir, metadata });
55
+ artifacts = await (0, android_1.buildAndroidAsync)(job, { env, workingdir, metadata, logger });
53
56
  break;
54
57
  }
55
58
  case eas_build_job_1.Platform.IOS: {
56
- artifacts = await (0, ios_1.buildIosAsync)(job, { env, workingdir, metadata });
59
+ artifacts = await (0, ios_1.buildIosAsync)(job, { env, workingdir, metadata, logger });
57
60
  break;
58
61
  }
59
62
  }
@@ -72,7 +75,7 @@ async function buildAsync(job, metadata) {
72
75
  }
73
76
  console.error();
74
77
  console.error(chalk_1.default.red(`Build failed`));
75
- if (config_1.default.logger.level === 'debug') {
78
+ if (logger.level() === bunyan_1.DEBUG) {
76
79
  console.error(e.innerError);
77
80
  }
78
81
  throw e;
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 { BuildJob, Platform, ArchiveSourceType, Metadata, Workflow } from '@expo/eas-build-job';\nimport pickBy from 'lodash/pickBy';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { Artifacts, 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: BuildJob, 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 // We don't use Node.js mirror locally, but a user might\n NVM_NODEJS_ORG_MIRROR: process.env.NVM_NODEJS_ORG_MIRROR,\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 artifacts: Artifacts | undefined;\n switch (job.platform) {\n case Platform.ANDROID: {\n artifacts = await buildAndroidAsync(job, { env, workingdir, metadata });\n break;\n }\n case Platform.IOS: {\n artifacts = 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 if (artifacts.APPLICATION_ARCHIVE) {\n console.log(\n chalk.green(`You can find the build artifacts in ${artifacts.APPLICATION_ARCHIVE}`)\n );\n }\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 { BuildJob, Platform, ArchiveSourceType, Metadata, Workflow } from '@expo/eas-build-job';\nimport pickBy from 'lodash/pickBy';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { Artifacts, SkipNativeBuildError } from '@expo/build-tools';\nimport { DEBUG } from 'bunyan';\n\nimport { buildAndroidAsync } from './android';\nimport config from './config';\nimport { buildIosAsync } from './ios';\nimport { prepareWorkingdirAsync } from './workingdir';\nimport { createLogger } from './logger';\n\nexport async function buildAsync(job: BuildJob, metadata: Metadata): Promise<void> {\n const logger = createLogger(job.loggerLevel);\n const workingdir = await prepareWorkingdirAsync({ logger });\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 // We don't use Node.js mirror locally, but a user might\n NVM_NODEJS_ORG_MIRROR: process.env.NVM_NODEJS_ORG_MIRROR,\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 artifacts: Artifacts | undefined;\n switch (job.platform) {\n case Platform.ANDROID: {\n artifacts = await buildAndroidAsync(job, { env, workingdir, metadata, logger });\n break;\n }\n case Platform.IOS: {\n artifacts = await buildIosAsync(job, { env, workingdir, metadata, logger });\n break;\n }\n }\n if (!config.skipNativeBuild) {\n console.log();\n console.log(chalk.green('Build successful'));\n if (artifacts.APPLICATION_ARCHIVE) {\n console.log(\n chalk.green(`You can find the build artifacts in ${artifacts.APPLICATION_ARCHIVE}`)\n );\n }\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 (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/config.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { LoggerLevel } from '@expo/logger';
1
2
  declare const _default: {
2
3
  workingdir: string;
3
4
  skipCleanup: boolean;
@@ -5,7 +6,7 @@ declare const _default: {
5
6
  artifactsDir: string;
6
7
  artifactPath: string | undefined;
7
8
  logger: {
8
- level: "debug" | "info" | "warn" | "error";
9
+ defaultLoggerLevel: LoggerLevel;
9
10
  };
10
11
  };
11
12
  export default _default;
package/dist/config.js CHANGED
@@ -6,16 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const uuid_1 = require("uuid");
8
8
  const env_paths_1 = __importDefault(require("env-paths"));
9
+ const logger_1 = require("@expo/logger");
9
10
  const { temp } = (0, env_paths_1.default)('eas-build-local');
10
- const envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL;
11
11
  const envWorkingdir = process.env.EAS_LOCAL_BUILD_WORKINGDIR;
12
12
  const envSkipCleanup = process.env.EAS_LOCAL_BUILD_SKIP_CLEANUP;
13
13
  const envSkipNativeBuild = process.env.EAS_LOCAL_BUILD_SKIP_NATIVE_BUILD;
14
14
  const envArtifactsDir = process.env.EAS_LOCAL_BUILD_ARTIFACTS_DIR;
15
15
  const envArtifactPath = process.env.EAS_LOCAL_BUILD_ARTIFACT_PATH;
16
- if (envLoggerLevel && !['debug', 'info', 'warn', 'error'].includes(envLoggerLevel)) {
17
- throw new Error('Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of info, warn, or error is expected');
16
+ if (process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL &&
17
+ !Object.values(logger_1.LoggerLevel).includes(process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL)) {
18
+ throw new Error(`Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of ${Object.values(logger_1.LoggerLevel)
19
+ .map((ll) => `"${ll}"`)
20
+ .join(', ')} is expected`);
18
21
  }
22
+ const envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL;
19
23
  exports.default = {
20
24
  workingdir: envWorkingdir !== null && envWorkingdir !== void 0 ? envWorkingdir : path_1.default.join(temp, (0, uuid_1.v4)()),
21
25
  skipCleanup: envSkipCleanup === '1',
@@ -23,7 +27,7 @@ exports.default = {
23
27
  artifactsDir: envArtifactsDir !== null && envArtifactsDir !== void 0 ? envArtifactsDir : process.cwd(),
24
28
  artifactPath: envArtifactPath,
25
29
  logger: {
26
- level: (envLoggerLevel !== null && envLoggerLevel !== void 0 ? envLoggerLevel : 'info'),
30
+ defaultLoggerLevel: envLoggerLevel !== null && envLoggerLevel !== void 0 ? envLoggerLevel : logger_1.LoggerLevel.INFO,
27
31
  },
28
32
  };
29
33
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,+BAAoC;AACpC,0DAAiC;AAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAQ,EAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAChE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAChE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;AACzE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAClE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAElE,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IACnF,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;AACJ,CAAC;AAED,kBAAe;IACb,UAAU,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,SAAM,GAAE,CAAC;IACtD,WAAW,EAAE,cAAc,KAAK,GAAG;IACnC,eAAe,EAAE,kBAAkB,KAAK,GAAG;IAC3C,YAAY,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,OAAO,CAAC,GAAG,EAAE;IAC9C,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,MAAM,CAAwC;KACzE;CACF,CAAC","sourcesContent":["import path from 'path';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport envPaths from 'env-paths';\n\nconst { temp } = envPaths('eas-build-local');\n\nconst envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL;\nconst envWorkingdir = process.env.EAS_LOCAL_BUILD_WORKINGDIR;\nconst envSkipCleanup = process.env.EAS_LOCAL_BUILD_SKIP_CLEANUP;\nconst envSkipNativeBuild = process.env.EAS_LOCAL_BUILD_SKIP_NATIVE_BUILD;\nconst envArtifactsDir = process.env.EAS_LOCAL_BUILD_ARTIFACTS_DIR;\nconst envArtifactPath = process.env.EAS_LOCAL_BUILD_ARTIFACT_PATH;\n\nif (envLoggerLevel && !['debug', 'info', 'warn', 'error'].includes(envLoggerLevel)) {\n throw new Error(\n 'Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of info, warn, or error is expected'\n );\n}\n\nexport default {\n workingdir: envWorkingdir ?? path.join(temp, uuidv4()),\n skipCleanup: envSkipCleanup === '1',\n skipNativeBuild: envSkipNativeBuild === '1',\n artifactsDir: envArtifactsDir ?? process.cwd(),\n artifactPath: envArtifactPath,\n logger: {\n level: (envLoggerLevel ?? 'info') as 'debug' | 'info' | 'warn' | 'error',\n },\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,+BAAoC;AACpC,0DAAiC;AACjC,yCAA2C;AAE3C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAQ,EAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAChE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;AACzE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAClE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAElE,IACE,OAAO,CAAC,GAAG,CAAC,4BAA4B;IACxC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA2C,CAAC,EAC7F,CAAC;IACD,MAAM,IAAI,KAAK,CACb,0DAA0D,MAAM,CAAC,MAAM,CAAC,oBAAW,CAAC;SACjF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC,cAAc,CAC5B,CAAC;AACJ,CAAC;AACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA2C,CAAC;AAE/E,kBAAe;IACb,UAAU,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,SAAM,GAAE,CAAC;IACtD,WAAW,EAAE,cAAc,KAAK,GAAG;IACnC,eAAe,EAAE,kBAAkB,KAAK,GAAG;IAC3C,YAAY,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,OAAO,CAAC,GAAG,EAAE;IAC9C,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE;QACN,kBAAkB,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,oBAAW,CAAC,IAAI;KACvD;CACF,CAAC","sourcesContent":["import path from 'path';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport envPaths from 'env-paths';\nimport { LoggerLevel } from '@expo/logger';\n\nconst { temp } = envPaths('eas-build-local');\n\nconst envWorkingdir = process.env.EAS_LOCAL_BUILD_WORKINGDIR;\nconst envSkipCleanup = process.env.EAS_LOCAL_BUILD_SKIP_CLEANUP;\nconst envSkipNativeBuild = process.env.EAS_LOCAL_BUILD_SKIP_NATIVE_BUILD;\nconst envArtifactsDir = process.env.EAS_LOCAL_BUILD_ARTIFACTS_DIR;\nconst envArtifactPath = process.env.EAS_LOCAL_BUILD_ARTIFACT_PATH;\n\nif (\n process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL &&\n !Object.values(LoggerLevel).includes(process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL as LoggerLevel)\n) {\n throw new Error(\n `Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of ${Object.values(LoggerLevel)\n .map((ll) => `\"${ll}\"`)\n .join(', ')} is expected`\n );\n}\nconst envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL as LoggerLevel;\n\nexport default {\n workingdir: envWorkingdir ?? path.join(temp, uuidv4()),\n skipCleanup: envSkipCleanup === '1',\n skipNativeBuild: envSkipNativeBuild === '1',\n artifactsDir: envArtifactsDir ?? process.cwd(),\n artifactPath: envArtifactPath,\n logger: {\n defaultLoggerLevel: envLoggerLevel ?? LoggerLevel.INFO,\n },\n};\n"]}
package/dist/exit.js CHANGED
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.shouldExit = exports.registerHandler = exports.listenForInterrupts = void 0;
7
- const logger_1 = __importDefault(require("./logger"));
4
+ const logger_1 = require("./logger");
8
5
  const handlers = [];
9
6
  let shouldExitStatus = false;
10
7
  function listenForInterrupts() {
@@ -17,7 +14,7 @@ function listenForInterrupts() {
17
14
  return;
18
15
  }
19
16
  handlerInProgress = true;
20
- logger_1.default.error({ phase: 'ABORT' }, 'Received termination signal.');
17
+ (0, logger_1.createLogger)().error({ phase: 'ABORT' }, 'Received termination signal.');
21
18
  shouldExitStatus = true;
22
19
  await Promise.allSettled(handlers.map((handler) => {
23
20
  return handler();
package/dist/exit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"exit.js","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,MAAM,QAAQ,GAAmC,EAAE,CAAC;AACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAgB,mBAAmB;IACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;QAC3C,IAAI,CAAC;YACH,8DAA8D;YAC9D,6BAA6B;YAC7B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC;YACzB,gBAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;YACjE,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,OAAO,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC;AAzBD,kDAyBC;AAED,SAAgB,eAAe,CAAC,EAA8B;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAFD,0CAEC;AAED,SAAgB,UAAU;IACxB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAFD,gCAEC","sourcesContent":["import logger from './logger';\n\nconst handlers: (() => void | Promise<void>)[] = [];\nlet shouldExitStatus = false;\n\nexport function listenForInterrupts(): void {\n let handlerInProgress = false;\n const handleExit = async (): Promise<void> => {\n try {\n // when eas-cli calls childProcess.kill() local build receives\n // signal twice in some cases\n if (handlerInProgress) {\n return;\n }\n handlerInProgress = true;\n logger.error({ phase: 'ABORT' }, 'Received termination signal.');\n shouldExitStatus = true;\n await Promise.allSettled(\n handlers.map((handler) => {\n return handler();\n })\n );\n } finally {\n handlerInProgress = false;\n }\n process.exit(1);\n };\n\n process.on('SIGTERM', handleExit);\n process.on('SIGINT', handleExit);\n}\n\nexport function registerHandler(fn: () => void | Promise<void>): void {\n handlers.push(fn);\n}\n\nexport function shouldExit(): boolean {\n return shouldExitStatus;\n}\n"]}
1
+ {"version":3,"file":"exit.js","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAExC,MAAM,QAAQ,GAAmC,EAAE,CAAC;AACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAgB,mBAAmB;IACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;QAC3C,IAAI,CAAC;YACH,8DAA8D;YAC9D,6BAA6B;YAC7B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAA,qBAAY,GAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;YACzE,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,OAAO,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC;AAzBD,kDAyBC;AAED,SAAgB,eAAe,CAAC,EAA8B;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAFD,0CAEC;AAED,SAAgB,UAAU;IACxB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAFD,gCAEC","sourcesContent":["import { createLogger } from './logger';\n\nconst handlers: (() => void | Promise<void>)[] = [];\nlet shouldExitStatus = false;\n\nexport function listenForInterrupts(): void {\n let handlerInProgress = false;\n const handleExit = async (): Promise<void> => {\n try {\n // when eas-cli calls childProcess.kill() local build receives\n // signal twice in some cases\n if (handlerInProgress) {\n return;\n }\n handlerInProgress = true;\n createLogger().error({ phase: 'ABORT' }, 'Received termination signal.');\n shouldExitStatus = true;\n await Promise.allSettled(\n handlers.map((handler) => {\n return handler();\n })\n );\n } finally {\n handlerInProgress = false;\n }\n process.exit(1);\n };\n\n process.on('SIGTERM', handleExit);\n process.on('SIGINT', handleExit);\n}\n\nexport function registerHandler(fn: () => void | Promise<void>): void {\n handlers.push(fn);\n}\n\nexport function shouldExit(): boolean {\n return shouldExitStatus;\n}\n"]}
package/dist/ios.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Ios } from '@expo/eas-build-job';
2
2
  import { Artifacts } from '@expo/build-tools';
3
3
  import { BuildParams } from './types';
4
- export declare function buildIosAsync(job: Ios.Job, { workingdir, env: baseEnv, metadata }: BuildParams): Promise<Artifacts>;
4
+ export declare function buildIosAsync(job: Ios.Job, { workingdir, env: baseEnv, metadata, logger }: BuildParams): Promise<Artifacts>;
package/dist/ios.js CHANGED
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -31,10 +8,10 @@ const eas_build_job_1 = require("@expo/eas-build-job");
31
8
  const build_tools_1 = require("@expo/build-tools");
32
9
  const omit_1 = __importDefault(require("lodash/omit"));
33
10
  const expoCli_1 = require("./expoCli");
34
- const logger_1 = __importStar(require("./logger"));
11
+ const logger_1 = require("./logger");
35
12
  const artifacts_1 = require("./artifacts");
36
13
  const config_1 = __importDefault(require("./config"));
37
- async function buildIosAsync(job, { workingdir, env: baseEnv, metadata }) {
14
+ async function buildIosAsync(job, { workingdir, env: baseEnv, metadata, logger }) {
38
15
  var _a, _b;
39
16
  const buildNumber = (_a = job.version) === null || _a === void 0 ? void 0 : _a.buildNumber;
40
17
  const appVersion = (_b = job.version) === null || _b === void 0 ? void 0 : _b.appVersion;
@@ -45,7 +22,7 @@ async function buildIosAsync(job, { workingdir, env: baseEnv, metadata }) {
45
22
  };
46
23
  const ctx = new build_tools_1.BuildContext(job, {
47
24
  workingdir,
48
- logger: logger_1.default,
25
+ logger,
49
26
  logBuffer: logger_1.logBuffer,
50
27
  runGlobalExpoCliCommand: expoCli_1.runGlobalExpoCliCommandAsync,
51
28
  uploadArtifact: async ({ artifact, logger }) => {
package/dist/ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAgF;AAChF,mDAAsE;AACtE,uDAA+B;AAE/B,uCAAyD;AACzD,mDAA6C;AAE7C,2CAA+C;AAC/C,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,GAAQ;QACf,GAAG,OAAO;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC;QAC/D,GAAG,CAAC,UAAU,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;KAC7D,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,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,mCAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAA,4BAAgB,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,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;AAjCD,sCAiCC","sourcesContent":["import { Ios, BuildPhase, Env, ManagedArtifactType } from '@expo/eas-build-job';\nimport { Builders, BuildContext, Artifacts } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareArtifacts } from './artifacts';\nimport config from './config';\n\nexport async function buildIosAsync(\n job: Ios.Job,\n { workingdir, env: baseEnv, metadata }: BuildParams\n): Promise<Artifacts> {\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 uploadArtifact: async ({ artifact, logger }) => {\n if (artifact.type !== ManagedArtifactType.APPLICATION_ARCHIVE) {\n return null;\n } else {\n return await prepareArtifacts(artifact.paths, logger);\n }\n },\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"]}
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAgF;AAChF,mDAAsE;AACtE,uDAA+B;AAE/B,uCAAyD;AACzD,qCAAqC;AAErC,2CAA+C;AAC/C,sDAA8B;AAEvB,KAAK,UAAU,aAAa,CACjC,GAAY,EACZ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAe;;IAE3D,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,CAAC;IAC3C,MAAM,GAAG,GAAQ;QACf,GAAG,OAAO;QACV,GAAG,CAAC,WAAW,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC;QAC/D,GAAG,CAAC,UAAU,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;KAC7D,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAU,GAAG,EAAE;QACzC,UAAU;QACV,MAAM;QACN,SAAS,EAAT,kBAAS;QACT,uBAAuB,EAAE,sCAA4B;QACrD,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,mCAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAA,4BAAgB,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,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;AAjCD,sCAiCC","sourcesContent":["import { Ios, BuildPhase, Env, ManagedArtifactType } from '@expo/eas-build-job';\nimport { Builders, BuildContext, Artifacts } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { runGlobalExpoCliCommandAsync } from './expoCli';\nimport { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareArtifacts } from './artifacts';\nimport config from './config';\n\nexport async function buildIosAsync(\n job: Ios.Job,\n { workingdir, env: baseEnv, metadata, logger }: BuildParams\n): Promise<Artifacts> {\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 uploadArtifact: async ({ artifact, logger }) => {\n if (artifact.type !== ManagedArtifactType.APPLICATION_ARCHIVE) {\n return null;\n } else {\n return await prepareArtifacts(artifact.paths, logger);\n }\n },\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/logger.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  import { Writable } from 'stream';
3
3
  import bunyan from 'bunyan';
4
4
  import { LogBuffer } from '@expo/build-tools';
5
+ import { LoggerLevel } from '@expo/logger';
5
6
  interface CachedLog {
6
7
  msg: string;
7
8
  phase: string;
@@ -16,5 +17,5 @@ declare class BuildCliLogBuffer extends Writable implements LogBuffer {
16
17
  getPhaseLogs(buildPhase: string): string[];
17
18
  }
18
19
  export declare const logBuffer: BuildCliLogBuffer;
19
- declare const defaultlogger: bunyan;
20
- export default defaultlogger;
20
+ export declare function createLogger(level?: LoggerLevel): bunyan;
21
+ export {};
package/dist/logger.js CHANGED
@@ -3,11 +3,12 @@ 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.logBuffer = void 0;
6
+ exports.createLogger = exports.logBuffer = void 0;
7
7
  const stream_1 = require("stream");
8
8
  const bunyan_1 = __importDefault(require("bunyan"));
9
9
  const chalk_1 = __importDefault(require("chalk"));
10
10
  const omit_1 = __importDefault(require("lodash/omit"));
11
+ const logger_1 = require("@expo/logger");
11
12
  const config_1 = __importDefault(require("./config"));
12
13
  const MAX_LINES_IN_BUFFER = 100;
13
14
  class BuildCliLogBuffer extends stream_1.Writable {
@@ -110,19 +111,21 @@ class PrettyStream extends stream_1.Writable {
110
111
  }
111
112
  }
112
113
  exports.logBuffer = new BuildCliLogBuffer(MAX_LINES_IN_BUFFER);
113
- const defaultlogger = bunyan_1.default.createLogger({
114
- name: 'eas-build-cli',
115
- serializers: bunyan_1.default.stdSerializers,
116
- streams: [
117
- {
118
- level: config_1.default.logger.level,
119
- stream: new PrettyStream(),
120
- },
121
- {
122
- level: 'info',
123
- stream: exports.logBuffer,
124
- },
125
- ],
126
- });
127
- exports.default = defaultlogger;
114
+ function createLogger(level) {
115
+ return bunyan_1.default.createLogger({
116
+ name: 'eas-build-cli',
117
+ serializers: bunyan_1.default.stdSerializers,
118
+ streams: [
119
+ {
120
+ level: level !== null && level !== void 0 ? level : config_1.default.logger.defaultLoggerLevel,
121
+ stream: new PrettyStream(),
122
+ },
123
+ {
124
+ level: logger_1.LoggerLevel.INFO,
125
+ stream: exports.logBuffer,
126
+ },
127
+ ],
128
+ });
129
+ }
130
+ exports.createLogger = createLogger;
128
131
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Writable } from 'stream';\n\nimport bunyan from 'bunyan';\nimport chalk from 'chalk';\nimport omit from 'lodash/omit';\nimport { LogBuffer } from '@expo/build-tools';\n\nimport config from './config';\n\ninterface Log {\n msg: string;\n level: number;\n err?: any;\n marker?: string;\n phase: string;\n source: 'stdout' | 'stderr';\n buildStepDisplayName?: string;\n}\nconst MAX_LINES_IN_BUFFER = 100;\n\ninterface CachedLog {\n msg: string;\n phase: string;\n}\n\nclass BuildCliLogBuffer extends Writable implements LogBuffer {\n public writable = true;\n public buffer: CachedLog[] = [];\n\n constructor(private readonly numberOfLines: number) {\n super();\n }\n\n public write(rec: any): boolean {\n if (\n // verify required fields\n typeof rec !== 'object' ||\n typeof rec?.msg !== 'string' ||\n typeof rec?.phase !== 'string' ||\n // use only logs from spawn commands\n (rec?.source !== 'stdout' && rec?.source !== 'stderr') ||\n // skip all short lines (it could potentially be some loader)\n (rec?.msg ?? '').length < 3\n ) {\n return true;\n }\n if (this.buffer.length >= this.numberOfLines) {\n this.buffer.shift();\n }\n this.buffer.push({ msg: rec.msg, phase: rec.phase });\n return true;\n }\n\n public getLogs(): string[] {\n return this.buffer.map(({ msg }) => msg);\n }\n\n public getPhaseLogs(buildPhase: string): string[] {\n return this.buffer.filter(({ phase }) => phase === buildPhase).map(({ msg }) => msg);\n }\n}\n\nclass PrettyStream extends Writable {\n write(rawLog: string): boolean {\n const log = JSON.parse(rawLog) as Log;\n if (log.marker) {\n return true;\n }\n const msg = this.formatMessage(log);\n if (log.level >= bunyan.ERROR || log.source === 'stderr') {\n console.error(msg);\n } else {\n console.log(msg);\n }\n\n const extraProperties = omit(log, [\n 'msg',\n 'err',\n 'level',\n 'phase',\n 'marker',\n 'source',\n 'time',\n 'id',\n 'v',\n 'pid',\n 'hostname',\n 'name',\n 'buildStepInternalId',\n 'buildStepId',\n 'buildStepDisplayName',\n ]);\n if (Object.keys(extraProperties).length !== 0) {\n const str = JSON.stringify(extraProperties, null, 2);\n // substring removes `{\\n` and `\\n}`\n console.log(chalk.gray(str.substring(2, str.length - 2)));\n }\n if (log?.err?.stack) {\n console.error(chalk.red(log.err.stack));\n }\n return true;\n }\n\n private formatMessage(log: Log): string {\n const phase = this.getPhaseName(log);\n switch (log.level) {\n case bunyan.DEBUG:\n return `[${phase}] ${chalk.gray(log.msg)}`;\n case bunyan.INFO: {\n const msg = log.source === 'stderr' ? chalk.red(log.msg) : log.msg;\n return `[${phase}] ${msg}`;\n }\n case bunyan.WARN:\n return `[${phase}] ${chalk.yellow(log.msg)}`;\n case bunyan.ERROR:\n return `[${phase}] ${chalk.red(log.msg)}`;\n case bunyan.FATAL:\n return `[${phase}] ${chalk.red(log.msg)}`;\n default:\n return log.msg;\n }\n }\n\n private getPhaseName(log: Log): string {\n return log.phase === 'CUSTOM' && log.buildStepDisplayName\n ? log.buildStepDisplayName\n : log.phase;\n }\n}\n\nexport const logBuffer = new BuildCliLogBuffer(MAX_LINES_IN_BUFFER);\n\nconst defaultlogger = bunyan.createLogger({\n name: 'eas-build-cli',\n serializers: bunyan.stdSerializers,\n streams: [\n {\n level: config.logger.level,\n stream: new PrettyStream(),\n },\n {\n level: 'info',\n stream: logBuffer,\n },\n ],\n});\n\nexport default defaultlogger;\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Writable } from 'stream';\n\nimport bunyan from 'bunyan';\nimport chalk from 'chalk';\nimport omit from 'lodash/omit';\nimport { LogBuffer } from '@expo/build-tools';\nimport { LoggerLevel } from '@expo/logger';\n\nimport config from './config';\n\ninterface Log {\n msg: string;\n level: number;\n err?: any;\n marker?: string;\n phase: string;\n source: 'stdout' | 'stderr';\n buildStepDisplayName?: string;\n}\nconst MAX_LINES_IN_BUFFER = 100;\n\ninterface CachedLog {\n msg: string;\n phase: string;\n}\n\nclass BuildCliLogBuffer extends Writable implements LogBuffer {\n public writable = true;\n public buffer: CachedLog[] = [];\n\n constructor(private readonly numberOfLines: number) {\n super();\n }\n\n public write(rec: any): boolean {\n if (\n // verify required fields\n typeof rec !== 'object' ||\n typeof rec?.msg !== 'string' ||\n typeof rec?.phase !== 'string' ||\n // use only logs from spawn commands\n (rec?.source !== 'stdout' && rec?.source !== 'stderr') ||\n // skip all short lines (it could potentially be some loader)\n (rec?.msg ?? '').length < 3\n ) {\n return true;\n }\n if (this.buffer.length >= this.numberOfLines) {\n this.buffer.shift();\n }\n this.buffer.push({ msg: rec.msg, phase: rec.phase });\n return true;\n }\n\n public getLogs(): string[] {\n return this.buffer.map(({ msg }) => msg);\n }\n\n public getPhaseLogs(buildPhase: string): string[] {\n return this.buffer.filter(({ phase }) => phase === buildPhase).map(({ msg }) => msg);\n }\n}\n\nclass PrettyStream extends Writable {\n write(rawLog: string): boolean {\n const log = JSON.parse(rawLog) as Log;\n if (log.marker) {\n return true;\n }\n const msg = this.formatMessage(log);\n if (log.level >= bunyan.ERROR || log.source === 'stderr') {\n console.error(msg);\n } else {\n console.log(msg);\n }\n\n const extraProperties = omit(log, [\n 'msg',\n 'err',\n 'level',\n 'phase',\n 'marker',\n 'source',\n 'time',\n 'id',\n 'v',\n 'pid',\n 'hostname',\n 'name',\n 'buildStepInternalId',\n 'buildStepId',\n 'buildStepDisplayName',\n ]);\n if (Object.keys(extraProperties).length !== 0) {\n const str = JSON.stringify(extraProperties, null, 2);\n // substring removes `{\\n` and `\\n}`\n console.log(chalk.gray(str.substring(2, str.length - 2)));\n }\n if (log?.err?.stack) {\n console.error(chalk.red(log.err.stack));\n }\n return true;\n }\n\n private formatMessage(log: Log): string {\n const phase = this.getPhaseName(log);\n switch (log.level) {\n case bunyan.DEBUG:\n return `[${phase}] ${chalk.gray(log.msg)}`;\n case bunyan.INFO: {\n const msg = log.source === 'stderr' ? chalk.red(log.msg) : log.msg;\n return `[${phase}] ${msg}`;\n }\n case bunyan.WARN:\n return `[${phase}] ${chalk.yellow(log.msg)}`;\n case bunyan.ERROR:\n return `[${phase}] ${chalk.red(log.msg)}`;\n case bunyan.FATAL:\n return `[${phase}] ${chalk.red(log.msg)}`;\n default:\n return log.msg;\n }\n }\n\n private getPhaseName(log: Log): string {\n return log.phase === 'CUSTOM' && log.buildStepDisplayName\n ? log.buildStepDisplayName\n : log.phase;\n }\n}\n\nexport const logBuffer = new BuildCliLogBuffer(MAX_LINES_IN_BUFFER);\n\nexport function createLogger(level?: LoggerLevel): bunyan {\n return bunyan.createLogger({\n name: 'eas-build-cli',\n serializers: bunyan.stdSerializers,\n streams: [\n {\n level: level ?? config.logger.defaultLoggerLevel,\n stream: new PrettyStream(),\n },\n {\n level: LoggerLevel.INFO,\n stream: logBuffer,\n },\n ],\n });\n}\n"]}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,9 @@
1
+ /// <reference types="bunyan" />
1
2
  import { Metadata } from '@expo/eas-build-job';
3
+ import { bunyan } from '@expo/logger';
2
4
  export interface BuildParams {
3
5
  workingdir: string;
4
6
  env: Record<string, string>;
5
7
  metadata: Metadata;
8
+ logger: bunyan;
6
9
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
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"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Metadata } from '@expo/eas-build-job';\nimport { bunyan } from '@expo/logger';\n\nexport interface BuildParams {\n workingdir: string;\n env: Record<string, string>;\n metadata: Metadata;\n logger: bunyan;\n}\n"]}
@@ -1 +1,5 @@
1
- export declare function prepareWorkingdirAsync(): Promise<string>;
1
+ /// <reference types="bunyan" />
2
+ import { bunyan } from '@expo/logger';
3
+ export declare function prepareWorkingdirAsync({ logger }: {
4
+ logger: bunyan;
5
+ }): Promise<string>;
@@ -8,11 +8,10 @@ const path_1 = __importDefault(require("path"));
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
10
10
  const config_1 = __importDefault(require("./config"));
11
- const logger_1 = __importDefault(require("./logger"));
12
11
  const exit_1 = require("./exit");
13
- async function prepareWorkingdirAsync() {
12
+ async function prepareWorkingdirAsync({ logger }) {
14
13
  const { workingdir } = config_1.default;
15
- logger_1.default.info({ phase: 'SETUP_WORKINGDIR' }, `Preparing workingdir ${workingdir}`);
14
+ logger.info({ phase: 'SETUP_WORKINGDIR' }, `Preparing workingdir ${workingdir}`);
16
15
  if ((await fs_extra_1.default.pathExists(workingdir)) && (await fs_extra_1.default.readdir(workingdir)).length > 0) {
17
16
  throw new Error('Workingdir is not empty.');
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workingdir.js","sourceRoot":"","sources":["../src/workingdir.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAC1B,wDAA0B;AAE1B,sDAA8B;AAC9B,sDAA8B;AAC9B,iCAAyC;AAElC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAM,CAAC;IAC9B,gBAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACjE,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAA,sBAAe,EAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,gBAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CACnF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAvBD,wDAuBC","sourcesContent":["import path from 'path';\n\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\n\nimport config from './config';\nimport logger from './logger';\nimport { registerHandler } from './exit';\n\nexport async function prepareWorkingdirAsync(): Promise<string> {\n const { workingdir } = config;\n logger.info({ phase: 'SETUP_WORKINGDIR' }, `Preparing workingdir ${workingdir}`);\n\n if ((await fs.pathExists(workingdir)) && (await fs.readdir(workingdir)).length > 0) {\n throw new Error('Workingdir is not empty.');\n }\n await fs.mkdirp(path.join(workingdir, 'artifacts'));\n await fs.mkdirp(path.join(workingdir, 'build'));\n await fs.mkdirp(path.join(workingdir, 'temporary-custom-build'));\n await fs.mkdirp(path.join(workingdir, 'custom-build'));\n await fs.mkdirp(path.join(workingdir, 'env'));\n await fs.mkdirp(path.join(workingdir, 'bin'));\n registerHandler(async () => {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(\n chalk.yellow(\"EAS_LOCAL_BUILD_SKIP_CLEANUP is set, working dir won't be removed.\")\n );\n }\n });\n return workingdir;\n}\n"]}
1
+ {"version":3,"file":"workingdir.js","sourceRoot":"","sources":["../src/workingdir.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAC1B,wDAA0B;AAG1B,sDAA8B;AAC9B,iCAAyC;AAElC,KAAK,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAsB;IACzE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAM,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACjE,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAA,sBAAe,EAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,gBAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CACnF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAvBD,wDAuBC","sourcesContent":["import path from 'path';\n\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\nimport { bunyan } from '@expo/logger';\n\nimport config from './config';\nimport { registerHandler } from './exit';\n\nexport async function prepareWorkingdirAsync({ logger }: { logger: bunyan }): Promise<string> {\n const { workingdir } = config;\n logger.info({ phase: 'SETUP_WORKINGDIR' }, `Preparing workingdir ${workingdir}`);\n\n if ((await fs.pathExists(workingdir)) && (await fs.readdir(workingdir)).length > 0) {\n throw new Error('Workingdir is not empty.');\n }\n await fs.mkdirp(path.join(workingdir, 'artifacts'));\n await fs.mkdirp(path.join(workingdir, 'build'));\n await fs.mkdirp(path.join(workingdir, 'temporary-custom-build'));\n await fs.mkdirp(path.join(workingdir, 'custom-build'));\n await fs.mkdirp(path.join(workingdir, 'env'));\n await fs.mkdirp(path.join(workingdir, 'bin'));\n registerHandler(async () => {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(\n chalk.yellow(\"EAS_LOCAL_BUILD_SKIP_CLEANUP is set, working dir won't be removed.\")\n );\n }\n });\n return workingdir;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eas-cli-local-build-plugin",
3
- "version": "1.0.95",
3
+ "version": "1.0.97",
4
4
  "description": "Tool for running EAS compatible builds on a local machine.",
5
5
  "main": "dist/main.js",
6
6
  "files": [
@@ -24,7 +24,7 @@
24
24
  "bugs": "https://github.com/expo/eas-build/issues",
25
25
  "license": "BUSL-1.1",
26
26
  "dependencies": {
27
- "@expo/build-tools": "1.0.95",
27
+ "@expo/build-tools": "1.0.97",
28
28
  "@expo/eas-build-job": "1.0.95",
29
29
  "@expo/spawn-async": "^1.7.2",
30
30
  "@expo/turtle-spawn": "1.0.57",
@@ -55,5 +55,5 @@
55
55
  "node": "20.11.0",
56
56
  "yarn": "1.22.21"
57
57
  },
58
- "gitHead": "d5656a547b840ab55e52fa36c45dd04a7ba87245"
58
+ "gitHead": "131b5481d80f4c5d6cdd27c65a672ace3d029a0d"
59
59
  }