eas-cli-local-build-plugin 1.0.35 → 1.0.37

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/build.js CHANGED
@@ -10,7 +10,6 @@ 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 nullthrows_1 = __importDefault(require("nullthrows"));
14
13
  const android_1 = require("./android");
15
14
  const config_1 = __importDefault(require("./config"));
16
15
  const ios_1 = require("./ios");
@@ -59,7 +58,9 @@ async function buildAsync(job, metadata) {
59
58
  if (!config_1.default.skipNativeBuild) {
60
59
  console.log();
61
60
  console.log(chalk_1.default.green('Build successful'));
62
- console.log(chalk_1.default.green(`You can find the build artifacts in ${(0, nullthrows_1.default)(artifacts.APPLICATION_ARCHIVE)}`));
61
+ if (artifacts.APPLICATION_ARCHIVE) {
62
+ console.log(chalk_1.default.green(`You can find the build artifacts in ${artifacts.APPLICATION_ARCHIVE}`));
63
+ }
63
64
  }
64
65
  }
65
66
  catch (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 { 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 { Artifacts, SkipNativeBuildError } from '@expo/build-tools';\nimport nullthrows from 'nullthrows';\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 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 console.log(\n chalk.green(\n `You can find the build artifacts in ${nullthrows(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 { 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 { 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: 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 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"]}
package/dist/logger.js CHANGED
@@ -70,6 +70,9 @@ class PrettyStream extends stream_1.Writable {
70
70
  'pid',
71
71
  'hostname',
72
72
  'name',
73
+ 'buildStepInternalId',
74
+ 'buildStepId',
75
+ 'buildStepDisplayName',
73
76
  ]);
74
77
  if (Object.keys(extraProperties).length !== 0) {
75
78
  const str = JSON.stringify(extraProperties, null, 2);
@@ -82,7 +85,7 @@ class PrettyStream extends stream_1.Writable {
82
85
  return true;
83
86
  }
84
87
  formatMessage(log) {
85
- const phase = log.phase;
88
+ const phase = this.getPhaseName(log);
86
89
  switch (log.level) {
87
90
  case bunyan_1.default.DEBUG:
88
91
  return `[${phase}] ${chalk_1.default.gray(log.msg)}`;
@@ -100,6 +103,11 @@ class PrettyStream extends stream_1.Writable {
100
103
  return log.msg;
101
104
  }
102
105
  }
106
+ getPhaseName(log) {
107
+ return log.phase === 'CUSTOM' && log.buildStepDisplayName
108
+ ? log.buildStepDisplayName
109
+ : log.phase;
110
+ }
103
111
  }
104
112
  exports.logBuffer = new BuildCliLogBuffer(MAX_LINES_IN_BUFFER);
105
113
  const defaultlogger = bunyan_1.default.createLogger({
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkC;AAElC,oDAA4B;AAC5B,kDAA0B;AAC1B,uDAA+B;AAG/B,sDAA8B;AAU9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAOhC,MAAM,iBAAkB,SAAQ,iBAAQ;IAItC,YAA6B,aAAqB;QAChD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAQ;QAH3C,aAAQ,GAAG,IAAI,CAAC;QAChB,WAAM,GAAgB,EAAE,CAAC;IAIhC,CAAC;IAEM,KAAK,CAAC,GAAQ;;QACnB;QACE,yBAAyB;QACzB,OAAO,GAAG,KAAK,QAAQ;YACvB,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA,KAAK,QAAQ;YAC5B,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAA,KAAK,QAAQ;YAC9B,oCAAoC;YACpC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,QAAQ,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,QAAQ,CAAC;YACtD,6DAA6D;YAC7D,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,mCAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAC3B;YACA,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEM,YAAY,CAAC,UAAkB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,iBAAQ;IACjC,KAAK,CAAC,MAAc;;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,KAAK,IAAI,gBAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,MAAM,eAAe,GAAG,IAAA,cAAI,EAAC,GAAG,EAAE;YAChC,KAAK;YACL,KAAK;YACL,OAAO;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,IAAI;YACJ,GAAG;YACH,KAAK;YACL,UAAU;YACV,MAAM;SACP,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,oCAAoC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,KAAK,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,GAAQ;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,QAAQ,GAAG,CAAC,KAAK,EAAE;YACjB,KAAK,gBAAM,CAAC,KAAK;gBACf,OAAO,IAAI,KAAK,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,gBAAM,CAAC,IAAI,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnE,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;aAC5B;YACD,KAAK,gBAAM,CAAC,IAAI;gBACd,OAAO,IAAI,KAAK,KAAK,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,gBAAM,CAAC,KAAK;gBACf,OAAO,IAAI,KAAK,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,gBAAM,CAAC,KAAK;gBACf,OAAO,IAAI,KAAK,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C;gBACE,OAAO,GAAG,CAAC,GAAG,CAAC;SAClB;IACH,CAAC;CACF;AAEY,QAAA,SAAS,GAAG,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAEpE,MAAM,aAAa,GAAG,gBAAM,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAM,CAAC,cAAc;IAClC,OAAO,EAAE;QACP;YACE,KAAK,EAAE,gBAAM,CAAC,MAAM,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,YAAY,EAAE;SAC3B;QACD;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,iBAAS;SAClB;KACF;CACF,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC","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}\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 ]);\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 = log.phase;\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\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';\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eas-cli-local-build-plugin",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "Tool for running EAS compatible builds on a local machine.",
5
5
  "main": "dist/main.js",
6
6
  "files": [
@@ -24,10 +24,10 @@
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.34",
28
- "@expo/eas-build-job": "1.0.30",
27
+ "@expo/build-tools": "1.0.37",
28
+ "@expo/eas-build-job": "1.0.37",
29
29
  "@expo/spawn-async": "^1.7.2",
30
- "@expo/turtle-spawn": "1.0.30",
30
+ "@expo/turtle-spawn": "1.0.37",
31
31
  "bunyan": "^1.8.15",
32
32
  "chalk": "4.1.2",
33
33
  "env-paths": "^2.2.1",
@@ -55,5 +55,5 @@
55
55
  "node": "18.13.0",
56
56
  "yarn": "1.22.19"
57
57
  },
58
- "gitHead": "01074803a0fe8101323d1dff4d3391dba076659a"
58
+ "gitHead": "5faac2ecb0346e278bdad69ef2ae9bfa75dfadd4"
59
59
  }