@expo/build-tools 0.1.170 → 0.1.172

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.
Files changed (44) hide show
  1. package/dist/android/expoUpdates.js +4 -1
  2. package/dist/android/expoUpdates.js.map +1 -1
  3. package/dist/buildErrors/buildErrorHandlers.js.map +1 -1
  4. package/dist/buildErrors/detectError.js +1 -1
  5. package/dist/buildErrors/detectError.js.map +1 -1
  6. package/dist/buildErrors/userErrorHandlers.js.map +1 -1
  7. package/dist/builders/ios.js.map +1 -1
  8. package/dist/common/easBuildInternal.js +16 -8
  9. package/dist/common/easBuildInternal.js.map +1 -1
  10. package/dist/common/prebuild.js +9 -2
  11. package/dist/common/prebuild.js.map +1 -1
  12. package/dist/common/projectSources.js +1 -1
  13. package/dist/common/projectSources.js.map +1 -1
  14. package/dist/common/setup.js +2 -1
  15. package/dist/common/setup.js.map +1 -1
  16. package/dist/context.d.ts +3 -3
  17. package/dist/context.js +10 -3
  18. package/dist/context.js.map +1 -1
  19. package/dist/ios/configure.js +1 -1
  20. package/dist/ios/configure.js.map +1 -1
  21. package/dist/ios/credentials/manager.d.ts +1 -1
  22. package/dist/ios/credentials/provisioningProfile.js +8 -8
  23. package/dist/ios/credentials/provisioningProfile.js.map +1 -1
  24. package/dist/ios/expoUpdates.js +4 -1
  25. package/dist/ios/expoUpdates.js.map +1 -1
  26. package/dist/ios/fastlane.js +8 -1
  27. package/dist/ios/fastlane.js.map +1 -1
  28. package/dist/ios/gymfile.js.map +1 -1
  29. package/dist/ios/pod.js +7 -3
  30. package/dist/ios/pod.js.map +1 -1
  31. package/dist/ios/xcodeBuildLogs.js.map +1 -1
  32. package/dist/ios/xcpretty.js +1 -1
  33. package/dist/ios/xcpretty.js.map +1 -1
  34. package/dist/utils/appConfig.js +1 -1
  35. package/dist/utils/appConfig.js.map +1 -1
  36. package/dist/utils/hooks.js +4 -1
  37. package/dist/utils/hooks.js.map +1 -1
  38. package/dist/utils/packageManager.d.ts +1 -0
  39. package/dist/utils/packageManager.js +12 -2
  40. package/dist/utils/packageManager.js.map +1 -1
  41. package/dist/utils/project.d.ts +3 -2
  42. package/dist/utils/project.js +2 -2
  43. package/dist/utils/project.js.map +1 -1
  44. package/package.json +33 -32
@@ -11,7 +11,7 @@ function readAppConfig(projectDir, env, logger) {
11
11
  const originalStderrWrite = process.stderr.write;
12
12
  const stdoutStore = [];
13
13
  try {
14
- process.env = Object.assign({}, env);
14
+ process.env = { ...env };
15
15
  process.exit = () => {
16
16
  throw new Error('Failed to evaluate app config file');
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../src/utils/appConfig.ts"],"names":[],"mappings":";;;AAAA,yCAAwD;AAExD,yCAAmD;AAEnD,SAAgB,aAAa,CAAC,UAAkB,EAAE,GAAQ,EAAE,MAAc;IACxE,MAAM,kBAAkB,GAAsB,OAAO,CAAC,GAAG,CAAC;IAC1D,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAEjD,MAAM,WAAW,GAA2C,EAAE,CAAC;IAC/D,IAAI;QACF,OAAO,CAAC,GAAG,qBAAQ,GAAG,CAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,IAAA,kBAAS,EAAC,UAAU,EAAE;YAC3B,yBAAyB,EAAE,IAAI;YAC/B,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;KACX;YAAS;QACR,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;QACjC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC;QACnC,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;KAC5C;AACH,CAAC;AAxCD,sCAwCC","sourcesContent":["import { getConfig, ProjectConfig } from '@expo/config';\nimport { Env } from '@expo/eas-build-job';\nimport { bunyan, LoggerLevel } from '@expo/logger';\n\nexport function readAppConfig(projectDir: string, env: Env, logger: bunyan): ProjectConfig {\n const originalProcessEnv: NodeJS.ProcessEnv = process.env;\n const originalProcessExit = process.exit;\n const originalProcessCwd = process.cwd;\n const originalStdoutWrite = process.stdout.write;\n const originalStderrWrite = process.stderr.write;\n\n const stdoutStore: { text: string; level: LoggerLevel }[] = [];\n try {\n process.env = { ...env };\n process.exit = () => {\n throw new Error('Failed to evaluate app config file');\n };\n process.cwd = () => projectDir;\n process.stdout.write = function (...args: any) {\n stdoutStore.push({ text: String(args[0]), level: LoggerLevel.INFO });\n return originalStdoutWrite.apply(process.stdout, args);\n };\n process.stderr.write = function (...args: any) {\n stdoutStore.push({ text: String(args[0]), level: LoggerLevel.ERROR });\n return originalStderrWrite.apply(process.stderr, args);\n };\n return getConfig(projectDir, {\n skipSDKVersionRequirement: true,\n isPublicConfig: true,\n });\n } catch (err) {\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n stdoutStore.forEach(({ text, level }) => {\n logger[level](text.trim());\n });\n throw err;\n } finally {\n process.env = originalProcessEnv;\n process.exit = originalProcessExit;\n process.cwd = originalProcessCwd;\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n }\n}\n"]}
1
+ {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../src/utils/appConfig.ts"],"names":[],"mappings":";;;AAAA,yCAAwD;AAExD,yCAAmD;AAEnD,SAAgB,aAAa,CAAC,UAAkB,EAAE,GAAQ,EAAE,MAAc;IACxE,MAAM,kBAAkB,GAAsB,OAAO,CAAC,GAAG,CAAC;IAC1D,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAEjD,MAAM,WAAW,GAA2C,EAAE,CAAC;IAC/D,IAAI;QACF,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,IAAA,kBAAS,EAAC,UAAU,EAAE;YAC3B,yBAAyB,EAAE,IAAI;YAC/B,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;KACX;YAAS;QACR,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;QACjC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC;QACnC,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;KAC5C;AACH,CAAC;AAxCD,sCAwCC","sourcesContent":["import { getConfig, ProjectConfig } from '@expo/config';\nimport { Env } from '@expo/eas-build-job';\nimport { bunyan, LoggerLevel } from '@expo/logger';\n\nexport function readAppConfig(projectDir: string, env: Env, logger: bunyan): ProjectConfig {\n const originalProcessEnv: NodeJS.ProcessEnv = process.env;\n const originalProcessExit = process.exit;\n const originalProcessCwd = process.cwd;\n const originalStdoutWrite = process.stdout.write;\n const originalStderrWrite = process.stderr.write;\n\n const stdoutStore: { text: string; level: LoggerLevel }[] = [];\n try {\n process.env = { ...env };\n process.exit = () => {\n throw new Error('Failed to evaluate app config file');\n };\n process.cwd = () => projectDir;\n process.stdout.write = function (...args: any) {\n stdoutStore.push({ text: String(args[0]), level: LoggerLevel.INFO });\n return originalStdoutWrite.apply(process.stdout, args);\n };\n process.stderr.write = function (...args: any) {\n stdoutStore.push({ text: String(args[0]), level: LoggerLevel.ERROR });\n return originalStderrWrite.apply(process.stderr, args);\n };\n return getConfig(projectDir, {\n skipSDKVersionRequirement: true,\n isPublicConfig: true,\n });\n } catch (err) {\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n stdoutStore.forEach(({ text, level }) => {\n logger[level](text.trim());\n });\n throw err;\n } finally {\n process.env = originalProcessEnv;\n process.exit = originalProcessExit;\n process.cwd = originalProcessCwd;\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n }\n}\n"]}
@@ -33,7 +33,10 @@ async function runHookIfPresent(ctx, hook, { extraEnvs } = {}) {
33
33
  await (0, turtle_spawn_1.default)(packageManager, ['run', hook], {
34
34
  cwd: projectDir,
35
35
  logger: ctx.logger,
36
- env: Object.assign(Object.assign({}, ctx.env), extraEnvs),
36
+ env: {
37
+ ...ctx.env,
38
+ ...extraEnvs,
39
+ },
37
40
  });
38
41
  }
39
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":";;;;;;AACA,sEAAuC;AAIvC,qDAAkD;AAClD,uCAA0D;AAE1D,IAAY,IAUX;AAVD,WAAY,IAAI;IACd,6CAAqC,CAAA;IACrC,+CAAuC,CAAA;IACvC;;OAEG;IACH,+DAAuD,CAAA;IACvD,iDAAyC,CAAA;IACzC,6CAAqC,CAAA;IACrC,mDAA2C,CAAA;AAC7C,CAAC,EAVW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAUf;AAEM,KAAK,UAAU,gBAAgB,CACpC,GAAuB,EACvB,IAAU,EACV,EAAE,SAAS,KAA6C,EAAE;;IAE1D,MAAM,UAAU,GAAG,GAAG,CAAC,2BAA2B,CAAC;IACnD,MAAM,WAAW,GAAG,IAAA,yBAAe,EAAC,UAAU,CAAC,CAAC;IAChD,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAG,IAAI,CAAC,EAAE;QAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,6CAA6C,CAAC,CAAC;QAC9E,wFAAwF;QACxF,yBAAyB;QACzB,MAAM,cAAc,GAClB,CAAC,MAAM,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW;YAC3D,CAAC,CAAC,+BAAc,CAAC,GAAG;YACpB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;QACzB,MAAM,IAAA,sBAAK,EAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACzC,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,kCACE,GAAG,CAAC,GAAG,GACP,SAAS,CACb;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AAxBD,4CAwBC","sourcesContent":["import { Job } from '@expo/eas-build-job';\nimport spawn from '@expo/turtle-spawn';\n\nimport { BuildContext } from '../context';\n\nimport { PackageManager } from './packageManager';\nimport { isUsingYarn2, readPackageJson } from './project';\n\nexport enum Hook {\n PRE_INSTALL = 'eas-build-pre-install',\n POST_INSTALL = 'eas-build-post-install',\n /**\n * @deprecated\n */\n PRE_UPLOAD_ARTIFACTS = 'eas-build-pre-upload-artifacts',\n ON_BUILD_SUCCESS = 'eas-build-on-success',\n ON_BUILD_ERROR = 'eas-build-on-error',\n ON_BUILD_COMPLETE = 'eas-build-on-complete',\n}\n\nexport async function runHookIfPresent<TJob extends Job>(\n ctx: BuildContext<TJob>,\n hook: Hook,\n { extraEnvs }: { extraEnvs?: Record<string, string> } = {}\n): Promise<void> {\n const projectDir = ctx.reactNativeProjectDirectory;\n const packageJson = readPackageJson(projectDir);\n if (packageJson.scripts?.[hook]) {\n ctx.logger.info(`Script '${hook}' is present in package.json, running it...`);\n // when using yarn 2, it's not possible to run any scripts before running 'yarn install'\n // use 'npm' in that case\n const packageManager =\n (await isUsingYarn2(projectDir)) && hook === Hook.PRE_INSTALL\n ? PackageManager.NPM\n : ctx.packageManager;\n await spawn(packageManager, ['run', hook], {\n cwd: projectDir,\n logger: ctx.logger,\n env: {\n ...ctx.env,\n ...extraEnvs,\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":";;;;;;AACA,sEAAuC;AAIvC,qDAAkD;AAClD,uCAA0D;AAE1D,IAAY,IAUX;AAVD,WAAY,IAAI;IACd,6CAAqC,CAAA;IACrC,+CAAuC,CAAA;IACvC;;OAEG;IACH,+DAAuD,CAAA;IACvD,iDAAyC,CAAA;IACzC,6CAAqC,CAAA;IACrC,mDAA2C,CAAA;AAC7C,CAAC,EAVW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAUf;AAEM,KAAK,UAAU,gBAAgB,CACpC,GAAuB,EACvB,IAAU,EACV,EAAE,SAAS,KAA6C,EAAE;;IAE1D,MAAM,UAAU,GAAG,GAAG,CAAC,2BAA2B,CAAC;IACnD,MAAM,WAAW,GAAG,IAAA,yBAAe,EAAC,UAAU,CAAC,CAAC;IAChD,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAG,IAAI,CAAC,EAAE;QAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,6CAA6C,CAAC,CAAC;QAC9E,wFAAwF;QACxF,yBAAyB;QACzB,MAAM,cAAc,GAClB,CAAC,MAAM,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW;YAC3D,CAAC,CAAC,+BAAc,CAAC,GAAG;YACpB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;QACzB,MAAM,IAAA,sBAAK,EAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;YACzC,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE;gBACH,GAAG,GAAG,CAAC,GAAG;gBACV,GAAG,SAAS;aACb;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AAxBD,4CAwBC","sourcesContent":["import { Job } from '@expo/eas-build-job';\nimport spawn from '@expo/turtle-spawn';\n\nimport { BuildContext } from '../context';\n\nimport { PackageManager } from './packageManager';\nimport { isUsingYarn2, readPackageJson } from './project';\n\nexport enum Hook {\n PRE_INSTALL = 'eas-build-pre-install',\n POST_INSTALL = 'eas-build-post-install',\n /**\n * @deprecated\n */\n PRE_UPLOAD_ARTIFACTS = 'eas-build-pre-upload-artifacts',\n ON_BUILD_SUCCESS = 'eas-build-on-success',\n ON_BUILD_ERROR = 'eas-build-on-error',\n ON_BUILD_COMPLETE = 'eas-build-on-complete',\n}\n\nexport async function runHookIfPresent<TJob extends Job>(\n ctx: BuildContext<TJob>,\n hook: Hook,\n { extraEnvs }: { extraEnvs?: Record<string, string> } = {}\n): Promise<void> {\n const projectDir = ctx.reactNativeProjectDirectory;\n const packageJson = readPackageJson(projectDir);\n if (packageJson.scripts?.[hook]) {\n ctx.logger.info(`Script '${hook}' is present in package.json, running it...`);\n // when using yarn 2, it's not possible to run any scripts before running 'yarn install'\n // use 'npm' in that case\n const packageManager =\n (await isUsingYarn2(projectDir)) && hook === Hook.PRE_INSTALL\n ? PackageManager.NPM\n : ctx.packageManager;\n await spawn(packageManager, ['run', hook], {\n cwd: projectDir,\n logger: ctx.logger,\n env: {\n ...ctx.env,\n ...extraEnvs,\n },\n });\n }\n}\n"]}
@@ -5,3 +5,4 @@ export declare enum PackageManager {
5
5
  }
6
6
  export declare function resolvePackageManager(directory: string): PackageManager;
7
7
  export declare function findPackagerRootDir(currentDir: string): string;
8
+ export declare function isAtLeastNpm7Async(): Promise<boolean>;
@@ -22,9 +22,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.findPackagerRootDir = exports.resolvePackageManager = exports.PackageManager = void 0;
29
+ exports.isAtLeastNpm7Async = exports.findPackagerRootDir = exports.resolvePackageManager = exports.PackageManager = void 0;
30
+ const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
27
31
  const PackageManagerUtils = __importStar(require("@expo/package-manager"));
32
+ const semver_1 = __importDefault(require("semver"));
28
33
  var PackageManager;
29
34
  (function (PackageManager) {
30
35
  PackageManager["YARN"] = "yarn";
@@ -44,7 +49,7 @@ function resolvePackageManager(directory) {
44
49
  return PackageManager.YARN;
45
50
  }
46
51
  }
47
- catch (_a) {
52
+ catch {
48
53
  return PackageManager.YARN;
49
54
  }
50
55
  }
@@ -54,4 +59,9 @@ function findPackagerRootDir(currentDir) {
54
59
  return (_a = PackageManagerUtils.findWorkspaceRoot(currentDir)) !== null && _a !== void 0 ? _a : currentDir;
55
60
  }
56
61
  exports.findPackagerRootDir = findPackagerRootDir;
62
+ async function isAtLeastNpm7Async() {
63
+ const version = (await (0, turtle_spawn_1.default)('npm', ['--version'])).stdout.trim();
64
+ return semver_1.default.gte(version, '7.0.0');
65
+ }
66
+ exports.isAtLeastNpm7Async = isAtLeastNpm7Async;
57
67
  //# sourceMappingURL=packageManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../src/utils/packageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA6D;AAE7D,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAED,SAAgB,qBAAqB,CAAC,SAAiB;IACrD,IAAI;QACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,OAAO,cAAc,CAAC,GAAG,CAAC;SAC3B;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE;YAC7B,OAAO,cAAc,CAAC,IAAI,CAAC;SAC5B;aAAM;YACL,OAAO,cAAc,CAAC,IAAI,CAAC;SAC5B;KACF;IAAC,WAAM;QACN,OAAO,cAAc,CAAC,IAAI,CAAC;KAC5B;AACH,CAAC;AAbD,sDAaC;AAED,SAAgB,mBAAmB,CAAC,UAAkB;;IACpD,OAAO,MAAA,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,mCAAI,UAAU,CAAC;AACzE,CAAC;AAFD,kDAEC","sourcesContent":["import * as PackageManagerUtils from '@expo/package-manager';\n\nexport enum PackageManager {\n YARN = 'yarn',\n NPM = 'npm',\n PNPM = 'pnpm',\n}\n\nexport function resolvePackageManager(directory: string): PackageManager {\n try {\n const manager = PackageManagerUtils.resolvePackageManager(directory);\n if (manager === 'npm') {\n return PackageManager.NPM;\n } else if (manager === 'pnpm') {\n return PackageManager.PNPM;\n } else {\n return PackageManager.YARN;\n }\n } catch {\n return PackageManager.YARN;\n }\n}\n\nexport function findPackagerRootDir(currentDir: string): string {\n return PackageManagerUtils.findWorkspaceRoot(currentDir) ?? currentDir;\n}\n"]}
1
+ {"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../src/utils/packageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA4C;AAC5C,2EAA6D;AAC7D,oDAA4B;AAE5B,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAED,SAAgB,qBAAqB,CAAC,SAAiB;IACrD,IAAI;QACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,OAAO,cAAc,CAAC,GAAG,CAAC;SAC3B;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE;YAC7B,OAAO,cAAc,CAAC,IAAI,CAAC;SAC5B;aAAM;YACL,OAAO,cAAc,CAAC,IAAI,CAAC;SAC5B;KACF;IAAC,MAAM;QACN,OAAO,cAAc,CAAC,IAAI,CAAC;KAC5B;AACH,CAAC;AAbD,sDAaC;AAED,SAAgB,mBAAmB,CAAC,UAAkB;;IACpD,OAAO,MAAA,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,mCAAI,UAAU,CAAC;AACzE,CAAC;AAFD,kDAEC;AAEM,KAAK,UAAU,kBAAkB;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,sBAAU,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,gBAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAHD,gDAGC","sourcesContent":["import spawnAsync from '@expo/turtle-spawn';\nimport * as PackageManagerUtils from '@expo/package-manager';\nimport semver from 'semver';\n\nexport enum PackageManager {\n YARN = 'yarn',\n NPM = 'npm',\n PNPM = 'pnpm',\n}\n\nexport function resolvePackageManager(directory: string): PackageManager {\n try {\n const manager = PackageManagerUtils.resolvePackageManager(directory);\n if (manager === 'npm') {\n return PackageManager.NPM;\n } else if (manager === 'pnpm') {\n return PackageManager.PNPM;\n } else {\n return PackageManager.YARN;\n }\n } catch {\n return PackageManager.YARN;\n }\n}\n\nexport function findPackagerRootDir(currentDir: string): string {\n return PackageManagerUtils.findWorkspaceRoot(currentDir) ?? currentDir;\n}\n\nexport async function isAtLeastNpm7Async(): Promise<boolean> {\n const version = (await spawnAsync('npm', ['--version'])).stdout.trim();\n return semver.gte(version, '7.0.0');\n}\n"]}
@@ -5,8 +5,9 @@ import { BuildContext } from '../context';
5
5
  * check if .yarnrc.yml exists in the project dir or in the workspace root dir
6
6
  */
7
7
  export declare function isUsingYarn2(projectDir: string): Promise<boolean>;
8
- export declare function runExpoCliCommand<TJob extends Job>(ctx: BuildContext<TJob>, args: string[], options: SpawnOptions, { forceUseGlobalExpoCli }?: {
9
- forceUseGlobalExpoCli?: boolean | undefined;
8
+ export declare function runExpoCliCommand<TJob extends Job>(ctx: BuildContext<TJob>, args: string[], options: SpawnOptions, { forceUseGlobalExpoCli, npmVersionAtLeast7, }: {
9
+ forceUseGlobalExpoCli?: boolean;
10
+ npmVersionAtLeast7: boolean;
10
11
  }): SpawnPromise<SpawnResult>;
11
12
  export declare function shouldUseGlobalExpoCli<TJob extends Job>(ctx: BuildContext<TJob>, forceUseGlobalExpoCli?: boolean): boolean;
12
13
  export declare function readPackageJson(projectDir: string): any;
@@ -18,9 +18,9 @@ async function isUsingYarn2(projectDir) {
18
18
  return (await fs_extra_1.default.pathExists(yarnrcPath)) || (await fs_extra_1.default.pathExists(yarnrcRootPath));
19
19
  }
20
20
  exports.isUsingYarn2 = isUsingYarn2;
21
- function runExpoCliCommand(ctx, args, options, { forceUseGlobalExpoCli = false } = {}) {
21
+ function runExpoCliCommand(ctx, args, options, { forceUseGlobalExpoCli = false, npmVersionAtLeast7, }) {
22
22
  if (shouldUseGlobalExpoCli(ctx, forceUseGlobalExpoCli)) {
23
- return ctx.runGlobalExpoCliCommand(args.join(' '), options);
23
+ return ctx.runGlobalExpoCliCommand(args, options, npmVersionAtLeast7);
24
24
  }
25
25
  else {
26
26
  const argsWithExpo = ['expo', ...args];
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,sEAAoF;AACpF,wDAA0B;AAC1B,oDAA4B;AAG5B,4DAA8E;AAE9E;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,oCAAmB,EAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;IACjF,OAAO,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AACpF,CAAC;AAJD,oCAIC;AAED,SAAgB,iBAAiB,CAC/B,GAAuB,EACvB,IAAc,EACd,OAAqB,EACrB,EAAE,qBAAqB,GAAG,KAAK,EAAE,GAAG,EAAE;IAEtC,IAAI,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE;QACtD,OAAO,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;KAC7D;SAAM;QACL,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,GAAG,EAAE;YAC7C,OAAO,IAAA,sBAAK,EAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC5C;aAAM,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;YACrD,OAAO,IAAA,sBAAK,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC7C;aAAM,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;YACrD,OAAO,IAAA,sBAAK,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;SACvE;KACF;AACH,CAAC;AApBD,8CAoBC;AAED,SAAgB,sBAAsB,CACpC,GAAuB,EACvB,qBAAqB,GAAG,KAAK;IAE7B,OAAO,CACL,qBAAqB;QACrB,GAAG,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAClC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU;QACzB,gBAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAClD,CAAC;AACJ,CAAC;AAVD,wDAUC;AAED,SAAgB,eAAe,CAAC,UAAkB;IAChD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,kBAAE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;KACjE;IACD,IAAI;QACF,OAAO,kBAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;KACzC;IAAC,OAAO,GAAQ,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACzE;AACH,CAAC;AAVD,0CAUC","sourcesContent":["import path from 'path';\n\nimport { Job } from '@expo/eas-build-job';\nimport spawn, { SpawnOptions, SpawnPromise, SpawnResult } from '@expo/turtle-spawn';\nimport fs from 'fs-extra';\nimport semver from 'semver';\n\nimport { BuildContext } from '../context';\nimport { findPackagerRootDir, PackageManager } from '../utils/packageManager';\n\n/**\n * check if .yarnrc.yml exists in the project dir or in the workspace root dir\n */\nexport async function isUsingYarn2(projectDir: string): Promise<boolean> {\n const yarnrcPath = path.join(projectDir, '.yarnrc.yml');\n const yarnrcRootPath = path.join(findPackagerRootDir(projectDir), '.yarnrc.yml');\n return (await fs.pathExists(yarnrcPath)) || (await fs.pathExists(yarnrcRootPath));\n}\n\nexport function runExpoCliCommand<TJob extends Job>(\n ctx: BuildContext<TJob>,\n args: string[],\n options: SpawnOptions,\n { forceUseGlobalExpoCli = false } = {}\n): SpawnPromise<SpawnResult> {\n if (shouldUseGlobalExpoCli(ctx, forceUseGlobalExpoCli)) {\n return ctx.runGlobalExpoCliCommand(args.join(' '), options);\n } else {\n const argsWithExpo = ['expo', ...args];\n if (ctx.packageManager === PackageManager.NPM) {\n return spawn('npx', argsWithExpo, options);\n } else if (ctx.packageManager === PackageManager.YARN) {\n return spawn('yarn', argsWithExpo, options);\n } else if (ctx.packageManager === PackageManager.PNPM) {\n return spawn('pnpm', argsWithExpo, options);\n } else {\n throw new Error(`Unsupported package manager: ${ctx.packageManager}`);\n }\n }\n}\n\nexport function shouldUseGlobalExpoCli<TJob extends Job>(\n ctx: BuildContext<TJob>,\n forceUseGlobalExpoCli = false\n): boolean {\n return (\n forceUseGlobalExpoCli ||\n ctx.env.EXPO_USE_LOCAL_CLI === '0' ||\n !ctx.appConfig.sdkVersion ||\n semver.satisfies(ctx.appConfig.sdkVersion, '<46')\n );\n}\n\nexport function readPackageJson(projectDir: string): any {\n const packageJsonPath = path.join(projectDir, 'package.json');\n if (!fs.pathExistsSync(packageJsonPath)) {\n throw new Error(`package.json does not exist in ${projectDir}`);\n }\n try {\n return fs.readJSONSync(packageJsonPath);\n } catch (err: any) {\n throw new Error(`Failed to parse or read package.json: ${err.message}`);\n }\n}\n"]}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,sEAAoF;AACpF,wDAA0B;AAC1B,oDAA4B;AAG5B,4DAA8E;AAE9E;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,oCAAmB,EAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;IACjF,OAAO,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AACpF,CAAC;AAJD,oCAIC;AAED,SAAgB,iBAAiB,CAC/B,GAAuB,EACvB,IAAc,EACd,OAAqB,EACrB,EACE,qBAAqB,GAAG,KAAK,EAC7B,kBAAkB,GAC+C;IAEnE,IAAI,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE;QACtD,OAAO,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;KACvE;SAAM;QACL,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,GAAG,EAAE;YAC7C,OAAO,IAAA,sBAAK,EAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC5C;aAAM,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;YACrD,OAAO,IAAA,sBAAK,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC7C;aAAM,IAAI,GAAG,CAAC,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;YACrD,OAAO,IAAA,sBAAK,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;SACvE;KACF;AACH,CAAC;AAvBD,8CAuBC;AAED,SAAgB,sBAAsB,CACpC,GAAuB,EACvB,qBAAqB,GAAG,KAAK;IAE7B,OAAO,CACL,qBAAqB;QACrB,GAAG,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAClC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU;QACzB,gBAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAClD,CAAC;AACJ,CAAC;AAVD,wDAUC;AAED,SAAgB,eAAe,CAAC,UAAkB;IAChD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,kBAAE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;KACjE;IACD,IAAI;QACF,OAAO,kBAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;KACzC;IAAC,OAAO,GAAQ,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACzE;AACH,CAAC;AAVD,0CAUC","sourcesContent":["import path from 'path';\n\nimport { Job } from '@expo/eas-build-job';\nimport spawn, { SpawnOptions, SpawnPromise, SpawnResult } from '@expo/turtle-spawn';\nimport fs from 'fs-extra';\nimport semver from 'semver';\n\nimport { BuildContext } from '../context';\nimport { findPackagerRootDir, PackageManager } from '../utils/packageManager';\n\n/**\n * check if .yarnrc.yml exists in the project dir or in the workspace root dir\n */\nexport async function isUsingYarn2(projectDir: string): Promise<boolean> {\n const yarnrcPath = path.join(projectDir, '.yarnrc.yml');\n const yarnrcRootPath = path.join(findPackagerRootDir(projectDir), '.yarnrc.yml');\n return (await fs.pathExists(yarnrcPath)) || (await fs.pathExists(yarnrcRootPath));\n}\n\nexport function runExpoCliCommand<TJob extends Job>(\n ctx: BuildContext<TJob>,\n args: string[],\n options: SpawnOptions,\n {\n forceUseGlobalExpoCli = false,\n npmVersionAtLeast7,\n }: { forceUseGlobalExpoCli?: boolean; npmVersionAtLeast7: boolean }\n): SpawnPromise<SpawnResult> {\n if (shouldUseGlobalExpoCli(ctx, forceUseGlobalExpoCli)) {\n return ctx.runGlobalExpoCliCommand(args, options, npmVersionAtLeast7);\n } else {\n const argsWithExpo = ['expo', ...args];\n if (ctx.packageManager === PackageManager.NPM) {\n return spawn('npx', argsWithExpo, options);\n } else if (ctx.packageManager === PackageManager.YARN) {\n return spawn('yarn', argsWithExpo, options);\n } else if (ctx.packageManager === PackageManager.PNPM) {\n return spawn('pnpm', argsWithExpo, options);\n } else {\n throw new Error(`Unsupported package manager: ${ctx.packageManager}`);\n }\n }\n}\n\nexport function shouldUseGlobalExpoCli<TJob extends Job>(\n ctx: BuildContext<TJob>,\n forceUseGlobalExpoCli = false\n): boolean {\n return (\n forceUseGlobalExpoCli ||\n ctx.env.EXPO_USE_LOCAL_CLI === '0' ||\n !ctx.appConfig.sdkVersion ||\n semver.satisfies(ctx.appConfig.sdkVersion, '<46')\n );\n}\n\nexport function readPackageJson(projectDir: string): any {\n const packageJsonPath = path.join(projectDir, 'package.json');\n if (!fs.pathExistsSync(packageJsonPath)) {\n throw new Error(`package.json does not exist in ${projectDir}`);\n }\n try {\n return fs.readJSONSync(packageJsonPath);\n } catch (err: any) {\n throw new Error(`Failed to parse or read package.json: ${err.message}`);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/build-tools",
3
- "version": "0.1.170",
3
+ "version": "0.1.172",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -13,50 +13,51 @@
13
13
  "build": "tsc",
14
14
  "prepack": "rm -rf dist && tsc -p tsconfig.build.json",
15
15
  "test": "jest --config jest.config.js",
16
- "test:watch": "jest --config jest.config.js --watch"
16
+ "test:watch": "jest --config jest.config.js --watch",
17
+ "clean": "rm -rf node_modules dist coverage"
17
18
  },
18
19
  "author": "Expo <support@expo.io>",
19
20
  "bugs": "https://github.com/expo/eas-build/issues",
20
21
  "license": "BUSL-1.1",
21
22
  "dependencies": {
22
- "@expo/config": "7.0.1",
23
- "@expo/config-plugins": "5.0.1",
24
- "@expo/downloader": "0.0.21",
25
- "@expo/eas-build-job": "0.2.102",
26
- "@expo/logger": "0.0.25",
27
- "@expo/package-manager": "0.0.54",
28
- "@expo/plist": "^0.0.11",
29
- "@expo/template-file": "0.1.23",
30
- "@expo/turtle-spawn": "0.0.26",
31
- "@expo/xcpretty": "4.1.3",
32
- "fast-glob": "^3.2.5",
33
- "fs-extra": "^10.0.1",
34
- "joi": "^17.4.2",
23
+ "@expo/config": "^7.0.3",
24
+ "@expo/config-plugins": "^5.0.4",
25
+ "@expo/downloader": "0.0.22",
26
+ "@expo/eas-build-job": "0.2.104",
27
+ "@expo/logger": "0.0.26",
28
+ "@expo/package-manager": "^0.0.57",
29
+ "@expo/plist": "^0.0.20",
30
+ "@expo/template-file": "0.1.24",
31
+ "@expo/turtle-spawn": "0.0.27",
32
+ "@expo/xcpretty": "^4.2.2",
33
+ "fast-glob": "^3.2.12",
34
+ "fs-extra": "^11.1.0",
35
+ "joi": "^17.7.0",
35
36
  "lodash": "^4.17.21",
36
- "node-forge": "^1.2.1",
37
+ "node-forge": "^1.3.1",
37
38
  "nullthrows": "^1.1.1",
38
- "plist": "^3.0.1",
39
- "semver": "^7.3.7"
39
+ "plist": "^3.0.6",
40
+ "semver": "^7.3.8"
40
41
  },
41
42
  "devDependencies": {
42
- "@types/fs-extra": "^9.0.13",
43
- "@types/jest": "^26.0.20",
43
+ "@types/fs-extra": "^11.0.1",
44
+ "@types/jest": "^29.2.6",
44
45
  "@types/lodash": "^4.14.191",
45
- "@types/node": "^16.11.26",
46
- "@types/node-forge": "^1.0.1",
46
+ "@types/node": "^18.11.18",
47
+ "@types/node-forge": "^1.3.1",
47
48
  "@types/plist": "^3.0.2",
48
- "@types/semver": "^7.3.9",
49
- "@types/uuid": "^3.4.5",
50
- "@types/xml2js": "^0.4.5",
51
- "jest": "^27.5.1",
52
- "memfs": "^3.4.1",
53
- "ts-jest": "^27.1.3",
49
+ "@types/semver": "^7.3.13",
50
+ "@types/uuid": "^9.0.0",
51
+ "@types/xml2js": "^0.4.11",
52
+ "jest": "^29.4.0",
53
+ "memfs": "^3.4.13",
54
+ "ts-jest": "^29.0.5",
54
55
  "ts-mockito": "^2.6.1",
55
- "typescript": "^4.6.2",
56
- "uuid": "^8.3.2"
56
+ "typescript": "^4.9.4",
57
+ "uuid": "^9.0.0"
57
58
  },
58
59
  "volta": {
59
- "node": "16.13.2",
60
- "yarn": "1.22.17"
60
+ "node": "18.13.0",
61
+ "yarn": "1.22.19"
61
62
  }
62
63
  }