diff --git a/.changeset/fix-expo-config-typescript-resolution.md b/.changeset/fix-expo-config-typescript-resolution.md new file mode 100644 index 0000000000..24a176ab25 --- /dev/null +++ b/.changeset/fix-expo-config-typescript-resolution.md @@ -0,0 +1,5 @@ +--- +'eas-cli': patch +--- + +Handle Expo config resolution for TypeScript-based project configuration files. diff --git a/packages/eas-cli/package.json b/packages/eas-cli/package.json index cfac517a77..906133a3bd 100644 --- a/packages/eas-cli/package.json +++ b/packages/eas-cli/package.json @@ -46,8 +46,8 @@ "dependencies": { "@expo/apple-utils": "2.2.1", "@expo/code-signing-certificates": "0.0.5", - "@expo/config": "55.0.10", - "@expo/config-plugins": "55.0.7", + "@expo/config": "56.0.14", + "@expo/config-plugins": "56.0.16", "@expo/eas-build-job": "27.1.0", "@expo/eas-json": "27.1.0", "@expo/env": "^1.0.0", @@ -61,7 +61,7 @@ "@expo/plist": "0.3.5", "@expo/plugin-help": "5.1.23", "@expo/plugin-warn-if-update-available": "2.5.1", - "@expo/prebuild-config": "9.0.12", + "@expo/prebuild-config": "56.0.23", "@expo/results": "1.0.0", "@expo/rudder-sdk-node": "1.1.1", "@expo/spawn-async": "1.7.2", diff --git a/packages/eas-cli/src/build/validate.ts b/packages/eas-cli/src/build/validate.ts index 1b7efdd3eb..328a441e5c 100644 --- a/packages/eas-cli/src/build/validate.ts +++ b/packages/eas-cli/src/build/validate.ts @@ -103,7 +103,7 @@ async function validateAndroidPNGsAsync(ctx: CommonContext): P }, { configPath: 'exp.splash.image', - pngPath: ctx.exp.splash?.image, + pngPath: (ctx.exp as Record).splash?.image, }, { configPath: 'exp.notification.icon', diff --git a/packages/eas-cli/src/commands/update/index.ts b/packages/eas-cli/src/commands/update/index.ts index 7ca5a5d910..246b6b88f2 100644 --- a/packages/eas-cli/src/commands/update/index.ts +++ b/packages/eas-cli/src/commands/update/index.ts @@ -1,4 +1,3 @@ -import { Workflow } from '@expo/eas-build-job'; import { EasJson, EasJsonAccessor, EasJsonUtils } from '@expo/eas-json'; import { Errors, Flags } from '@oclif/core'; import chalk from 'chalk'; @@ -500,10 +499,7 @@ export default class UpdatePublish extends EasCommand { exp, platforms: realizedPlatforms, projectDir, - workflows: { - ...workflows, - web: Workflow.UNKNOWN, - }, + workflows, env: maybeServerEnv, }); const runtimeToPlatformsAndFingerprintInfoMapping = diff --git a/packages/eas-cli/src/project/__tests__/bundledExpoConfig-test.ts b/packages/eas-cli/src/project/__tests__/bundledExpoConfig-test.ts new file mode 100644 index 0000000000..d7e1d9a64b --- /dev/null +++ b/packages/eas-cli/src/project/__tests__/bundledExpoConfig-test.ts @@ -0,0 +1,55 @@ +import fs from 'fs'; +import os from 'os'; +import path from 'path'; +import { createRequire } from 'module'; + +import { getConfig } from '@expo/config'; + +// Regression for #4205: EAS CLI's direct and prebuild config readers must +// both handle TypeScript app.config.ts with the currently bundled dependencies. +describe('bundled Expo config can load TypeScript app.config.ts', () => { + function withConfigFile(content: string, check: (directory: string) => void): void { + const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'eas-config-ts-')); + try { + fs.writeFileSync( + path.join(dir, 'package.json'), + JSON.stringify({ name: 'minimal', version: '1.2.3' }) + ); + fs.writeFileSync(path.join(dir, 'app.config.ts'), content); + check(dir); + } finally { + fs.rmSync(dir, { recursive: true, force: true }); + } + } + + it('loads an ordinary TypeScript config through the EAS CLI config dependency', () => { + withConfigFile( + "export default ({ config }: { config: Record }) => ({ ...config, name: 'Minimal', slug: 'minimal' });", + dir => { + const { exp } = getConfig(dir, { skipSDKVersionRequirement: true }); + expect(exp.name).toBe('Minimal'); + } + ); + }); + + it('loads import.meta through the config dependency resolved by prebuild-config', () => { + const fromPrebuild = createRequire(require.resolve('@expo/prebuild-config/package.json')); + const { getConfig: getPrebuildConfig } = fromPrebuild( + '@expo/config' + ) as typeof import('@expo/config'); + + withConfigFile( + `import { createRequire } from 'node:module'; +const load = createRequire(import.meta.url ?? __filename); +const { version } = load('./package.json'); +export default ({ config }: { config: Record }) => ({ + ...config, name: 'Minimal', slug: 'minimal', version, +});`, + dir => { + const { exp } = getPrebuildConfig(dir, { skipSDKVersionRequirement: true }); + expect(exp.name).toBe('Minimal'); + expect(exp.version).toBe('1.2.3'); + } + ); + }); +}); diff --git a/packages/eas-cli/src/project/ios/__tests__/exemptEncryption-test.ts b/packages/eas-cli/src/project/ios/__tests__/exemptEncryption-test.ts index 1d47ce5318..88774ddf0f 100644 --- a/packages/eas-cli/src/project/ios/__tests__/exemptEncryption-test.ts +++ b/packages/eas-cli/src/project/ios/__tests__/exemptEncryption-test.ts @@ -13,6 +13,31 @@ jest.mock('@expo/require-utils', () => { const actual = jest.requireActual('@expo/require-utils'); return { ...actual, + resolveFrom: ( + fromDirectory: string, + moduleId: string, + options?: { extensions?: string[] } + ): string | null => { + if (!moduleId.startsWith('./')) { + return actual.resolveFrom(fromDirectory, moduleId, options); + } + + const fs = require('fs'); + const path = require('path'); + const basePath = path.resolve(fromDirectory, moduleId); + const candidates = options?.extensions?.length + ? options.extensions.map((extension: string) => `${basePath}${extension}`) + : [basePath]; + + for (const candidate of candidates) { + try { + if (fs.statSync(candidate).isFile()) { + return candidate; + } + } catch {} + } + return null; + }, loadModuleSync: (filename: string) => { const fs = require('fs'); const content = fs.readFileSync(filename, 'utf-8'); diff --git a/packages/eas-cli/src/project/publish.ts b/packages/eas-cli/src/project/publish.ts index 7654ab03f1..e8a5ea726e 100644 --- a/packages/eas-cli/src/project/publish.ts +++ b/packages/eas-cli/src/project/publish.ts @@ -811,7 +811,7 @@ export async function getRuntimeVersionInfoObjectsAsync({ }: { exp: ExpoConfig; platforms: UpdatePublishPlatform[]; - workflows: Record; + workflows: Record; projectDir: string; env: Env | undefined; }): Promise< diff --git a/yarn.lock b/yarn.lock index 4f884f148a..a7c5eee4a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2642,6 +2642,27 @@ __metadata: languageName: node linkType: hard +"@expo/config-plugins@npm:56.0.16": + version: 56.0.16 + resolution: "@expo/config-plugins@npm:56.0.16" + dependencies: + "@expo/config-types": "npm:^56.0.7" + "@expo/json-file": "npm:~10.2.0" + "@expo/plist": "npm:^0.7.0" + "@expo/require-utils": "npm:^56.1.7" + "@expo/sdk-runtime-versions": "npm:^1.0.0" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.5" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + semver: "npm:^7.5.4" + slugify: "npm:^1.6.6" + xcode: "npm:^3.0.1" + xml2js: "npm:0.6.0" + checksum: 10c0/d3aedfe1c1ff42412c37689377bfb9947c857bc403ef09dfbfd4c5c63d019587b13dafcb295aca626496b4289580d041bdc19c2f32471426db38e69ecc2a0ddf + languageName: node + linkType: hard + "@expo/config-plugins@npm:~10.0.2": version: 10.0.2 resolution: "@expo/config-plugins@npm:10.0.2" @@ -2664,25 +2685,24 @@ __metadata: languageName: node linkType: hard -"@expo/config-plugins@npm:~10.1.2": - version: 10.1.2 - resolution: "@expo/config-plugins@npm:10.1.2" +"@expo/config-plugins@npm:~56.0.16, @expo/config-plugins@npm:~56.0.17": + version: 56.0.17 + resolution: "@expo/config-plugins@npm:56.0.17" dependencies: - "@expo/config-types": "npm:^53.0.5" - "@expo/json-file": "npm:~9.1.5" - "@expo/plist": "npm:^0.3.5" + "@expo/config-types": "npm:^56.0.7" + "@expo/json-file": "npm:~10.2.0" + "@expo/plist": "npm:^0.7.0" + "@expo/require-utils": "npm:^56.1.8" "@expo/sdk-runtime-versions": "npm:^1.0.0" chalk: "npm:^4.1.2" debug: "npm:^4.3.5" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" - resolve-from: "npm:^5.0.0" + glob: "npm:^13.0.0" semver: "npm:^7.5.4" - slash: "npm:^3.0.0" slugify: "npm:^1.6.6" - xcode: "npm:^3.0.1" + xcode: "npm:^4.0.0" xml2js: "npm:0.6.0" - checksum: 10c0/d5ef0f002db40cb182058b2fe9df6f5f77ff09e18aa0bc8109047d75cd912487bace59bcff7104c6f68f6b49f89d0b387ab6f90f8069c63c9f3fccb9fb9b99de + checksum: 10c0/444793cb27008555b0b82bc83f594e62d9e40e3600daa41671a6d54e0faeb4b2fb7714ca34a602db043c52da3cda04a6d20c584d3c0a68ddbcac0f125baed812 languageName: node linkType: hard @@ -2700,10 +2720,10 @@ __metadata: languageName: node linkType: hard -"@expo/config-types@npm:^53.0.5": - version: 53.0.5 - resolution: "@expo/config-types@npm:53.0.5" - checksum: 10c0/a7c96f65327de5608aedaf0669bc95b721323113064bdad3473d6faa07b619100ef1df5811f3fdb5dc50d05610842aec8d6bc1902dd0345d51ba2d520884487d +"@expo/config-types@npm:^56.0.7": + version: 56.0.7 + resolution: "@expo/config-types@npm:56.0.7" + checksum: 10c0/97c2fbe59c0ee3d830d369a8789aa27cb7553879661e3f5e014215ad25fb19e44f66bb9956233520f3c1aa76b10278a2aa418ba1edfda02709de572d29209054 languageName: node linkType: hard @@ -2747,24 +2767,39 @@ __metadata: languageName: node linkType: hard -"@expo/config@npm:~11.0.13": - version: 11.0.13 - resolution: "@expo/config@npm:11.0.13" +"@expo/config@npm:56.0.14": + version: 56.0.14 + resolution: "@expo/config@npm:56.0.14" dependencies: - "@babel/code-frame": "npm:~7.10.4" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/config-types": "npm:^53.0.5" - "@expo/json-file": "npm:^9.1.5" + "@expo/config-plugins": "npm:~56.0.16" + "@expo/config-types": "npm:^56.0.7" + "@expo/json-file": "npm:^10.2.0" + "@expo/require-utils": "npm:^56.1.7" deepmerge: "npm:^4.3.1" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" - require-from-string: "npm:^2.0.2" - resolve-from: "npm:^5.0.0" + glob: "npm:^13.0.0" resolve-workspace-root: "npm:^2.0.0" semver: "npm:^7.6.0" slugify: "npm:^1.3.4" - sucrase: "npm:3.35.0" - checksum: 10c0/19cdbc4baa498ca9e55416fd1b2a202cca061e34984236b1f032f3d28cf72a4ddc824bc0cbe3d39c5b5f1117ef65be84c4b05bf62b6fa41d5d049b75af59a17c + checksum: 10c0/089d73a050dbbe2f7853c5c4717e7e128eb19b07053c03c1a404eefc079b82d9fee4d019c2a22707de8121e2fc028fee76a4836bc7974e0724a7e64ec960a1e2 + languageName: node + linkType: hard + +"@expo/config@npm:~56.0.14": + version: 56.0.15 + resolution: "@expo/config@npm:56.0.15" + dependencies: + "@expo/config-plugins": "npm:~56.0.17" + "@expo/config-types": "npm:^56.0.7" + "@expo/json-file": "npm:^10.2.0" + "@expo/require-utils": "npm:^56.1.8" + deepmerge: "npm:^4.3.1" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + checksum: 10c0/4e15e7400d6ea22e3eb98653cf6512598eb86d414f28b2ebec6f9dbcb898d9467492f5c1bfff912227415c3c9a2b47f8cd0a7c9e781c4b1b293a3c1f2b98e0eb languageName: node linkType: hard @@ -2863,20 +2898,18 @@ __metadata: languageName: node linkType: hard -"@expo/image-utils@npm:^0.7.6": - version: 0.7.6 - resolution: "@expo/image-utils@npm:0.7.6" +"@expo/image-utils@npm:^0.10.5": + version: 0.10.6 + resolution: "@expo/image-utils@npm:0.10.6" dependencies: - "@expo/spawn-async": "npm:^1.7.2" + "@expo/require-utils": "npm:^56.1.8" + "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.0.0" getenv: "npm:^2.0.0" jimp-compact: "npm:0.16.1" parse-png: "npm:^2.1.0" - resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" - temp-dir: "npm:~2.0.0" - unique-string: "npm:~2.0.0" - checksum: 10c0/45a8ce5237fecd63a4020295b584d237a024d917ca1bf1e31568bb96703b5fd9351a6912a7ecc0fc5c38d97029f31f86e312c4646beb0207ce578289a3e2bc2d + checksum: 10c0/e7c96406c6769dc2c64397e05ccf8069b4449bb8732614bf606cfe91eaacd9d0a4cfbf90e938988cb20e3e50f13486991cad4d93ad5c130bdfbad6539b3fdbd8 languageName: node linkType: hard @@ -2911,23 +2944,23 @@ __metadata: languageName: node linkType: hard -"@expo/json-file@npm:^9.1.4, @expo/json-file@npm:~9.1.4": - version: 9.1.4 - resolution: "@expo/json-file@npm:9.1.4" +"@expo/json-file@npm:^10.2.0, @expo/json-file@npm:~10.2.0": + version: 10.2.0 + resolution: "@expo/json-file@npm:10.2.0" dependencies: - "@babel/code-frame": "npm:~7.10.4" + "@babel/code-frame": "npm:^7.20.0" json5: "npm:^2.2.3" - checksum: 10c0/43c68ba5316dc9b2e79a0a15fbfca60430f64181ae1d47f9627fd1f5b2f27b090a829125168290cbab8af72f0421bab941dbd855217fec4787bde921e6962a05 + checksum: 10c0/198058e18dea2f31083c2ae8a6831dddfc8fc01c4cb30020728da04f155a6b600b4219830b6df48195548fa29a450b5b775007ed8430fb8098fd9a1656188ea0 languageName: node linkType: hard -"@expo/json-file@npm:^9.1.5, @expo/json-file@npm:~9.1.5": - version: 9.1.5 - resolution: "@expo/json-file@npm:9.1.5" +"@expo/json-file@npm:^9.1.4, @expo/json-file@npm:~9.1.4": + version: 9.1.4 + resolution: "@expo/json-file@npm:9.1.4" dependencies: "@babel/code-frame": "npm:~7.10.4" json5: "npm:^2.2.3" - checksum: 10c0/989e3aa6d3e31a7f499d7979c6062694f2bc1fe1a4bc81b64aff74c39f27ed5f52098861897236cdc26b86186062560f3191814a2e8ff5b821a74a71d617f135 + checksum: 10c0/43c68ba5316dc9b2e79a0a15fbfca60430f64181ae1d47f9627fd1f5b2f27b090a829125168290cbab8af72f0421bab941dbd855217fec4787bde921e6962a05 languageName: node linkType: hard @@ -3021,6 +3054,17 @@ __metadata: languageName: node linkType: hard +"@expo/plist@npm:^0.7.0": + version: 0.7.0 + resolution: "@expo/plist@npm:0.7.0" + dependencies: + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.5.1" + xmlbuilder: "npm:^15.1.1" + checksum: 10c0/b0d3df057f9a388a761a9261381d55e86ad0935ca15d32bd78da536c803bfc9334c2381fdced99f086e76f5d675535101bfb652d9a79a39c10b0c764c140dcc9 + languageName: node + linkType: hard + "@expo/plugin-help@npm:5.1.23": version: 5.1.23 resolution: "@expo/plugin-help@npm:5.1.23" @@ -3046,21 +3090,21 @@ __metadata: languageName: node linkType: hard -"@expo/prebuild-config@npm:9.0.12": - version: 9.0.12 - resolution: "@expo/prebuild-config@npm:9.0.12" +"@expo/prebuild-config@npm:56.0.23": + version: 56.0.23 + resolution: "@expo/prebuild-config@npm:56.0.23" dependencies: - "@expo/config": "npm:~11.0.13" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/config-types": "npm:^53.0.5" - "@expo/image-utils": "npm:^0.7.6" - "@expo/json-file": "npm:^9.1.5" - "@react-native/normalize-colors": "npm:0.79.6" + "@expo/config": "npm:~56.0.14" + "@expo/config-plugins": "npm:~56.0.16" + "@expo/config-types": "npm:^56.0.7" + "@expo/image-utils": "npm:^0.10.5" + "@expo/json-file": "npm:^10.2.0" + "@react-native/normalize-colors": "npm:0.85.3" debug: "npm:^4.3.1" + expo-modules-autolinking: "npm:~56.0.23" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" - xml2js: "npm:0.6.0" - checksum: 10c0/7b0f8a9898e8a6d7cc1d15c6a4397ee8e6f3d7c1529eaed4e2c2fb764428820a35fc93aa93a521d286528e9eb52f9ea7c41f12be38a0bc53faa26fac3b063921 + checksum: 10c0/60e61b5915e070d960fe8797907ccc20c425e98f52bb8edb169a6aa425928840e20cc18b1739048a8c1fd48fd21e3bab61f6d86d4aa7da802bbcfebfd8d36bbc languageName: node linkType: hard @@ -3093,6 +3137,22 @@ __metadata: languageName: node linkType: hard +"@expo/require-utils@npm:^56.1.7, @expo/require-utils@npm:^56.1.8": + version: 56.1.8 + resolution: "@expo/require-utils@npm:56.1.8" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.25.2" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + peerDependencies: + typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/9a1cfe23afd80eb96bb1868a82fb5e8f7736301a08c65860dffa8e58e3904c6b2e6f694299744c0fdd1d546e8593fe62146fb2a17190a23bd03839eb2f2a3cab + languageName: node + linkType: hard + "@expo/results@npm:1.0.0, @expo/results@npm:^1.0.0": version: 1.0.0 resolution: "@expo/results@npm:1.0.0" @@ -3131,6 +3191,15 @@ __metadata: languageName: node linkType: hard +"@expo/spawn-async@npm:^1.8.0": + version: 1.8.0 + resolution: "@expo/spawn-async@npm:1.8.0" + dependencies: + cross-spawn: "npm:^7.0.6" + checksum: 10c0/08d3c63f9cc097ce9c8cf6850ca482fd7999a6fddc4cb38a3a9915a1662cb674fe7353de2eb3c693728542bf57db732ae433e82b2d698be141d07cea3092ebf3 + languageName: node + linkType: hard + "@expo/steps@npm:27.1.0, @expo/steps@workspace:packages/steps": version: 0.0.0-use.local resolution: "@expo/steps@workspace:packages/steps" @@ -6369,10 +6438,10 @@ __metadata: languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/normalize-colors@npm:0.79.6" - checksum: 10c0/2bc662b6846a92fe62bc54be34204ad90eeceb9747fdd6f439f3262a8b93a47c1a9f574368749c07636a9a746e2d5b842e9492f55bbfcbe164a1b7385f467ac1 +"@react-native/normalize-colors@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/normalize-colors@npm:0.85.3" + checksum: 10c0/343cdbe79e51b0f62e13fcf8620d9c72d7d956d18e9b1b04380a231cff1ec43ff2c54f1ed7a9b975bc23ed4879b96520a7c88aa1c8c7f17a99c32ef8073cf341 languageName: node linkType: hard @@ -8932,6 +9001,15 @@ __metadata: languageName: node linkType: hard +"bplist-creator@npm:0.1.1": + version: 0.1.1 + resolution: "bplist-creator@npm:0.1.1" + dependencies: + stream-buffers: "npm:2.2.x" + checksum: 10c0/427ec37263ce0e8c68a83f595fc9889a9cbf2e6fda2de18e1f8ef7f0c6ce68c0cdbb7c9c1f3bb3f2d217407af8cffbdf254bf0f71c99f2186175d07752f08a47 + languageName: node + linkType: hard + "bplist-parser@npm:0.3.1": version: 0.3.1 resolution: "bplist-parser@npm:0.3.1" @@ -9782,6 +9860,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + "common-ancestor-path@npm:^1.0.1": version: 1.0.1 resolution: "common-ancestor-path@npm:1.0.1" @@ -10213,13 +10298,6 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^2.0.0": - version: 2.0.0 - resolution: "crypto-random-string@npm:2.0.0" - checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 - languageName: node - linkType: hard - "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -10740,8 +10818,8 @@ __metadata: dependencies: "@expo/apple-utils": "npm:2.2.1" "@expo/code-signing-certificates": "npm:0.0.5" - "@expo/config": "npm:55.0.10" - "@expo/config-plugins": "npm:55.0.7" + "@expo/config": "npm:56.0.14" + "@expo/config-plugins": "npm:56.0.16" "@expo/eas-build-job": "npm:27.1.0" "@expo/eas-json": "npm:27.1.0" "@expo/env": "npm:^1.0.0" @@ -10755,7 +10833,7 @@ __metadata: "@expo/plist": "npm:0.3.5" "@expo/plugin-help": "npm:5.1.23" "@expo/plugin-warn-if-update-available": "npm:2.5.1" - "@expo/prebuild-config": "npm:9.0.12" + "@expo/prebuild-config": "npm:56.0.23" "@expo/results": "npm:1.0.0" "@expo/rudder-sdk-node": "npm:1.1.1" "@expo/spawn-async": "npm:1.7.2" @@ -11318,6 +11396,20 @@ __metadata: languageName: node linkType: hard +"expo-modules-autolinking@npm:~56.0.23": + version: 56.0.24 + resolution: "expo-modules-autolinking@npm:56.0.24" + dependencies: + "@expo/require-utils": "npm:^56.1.8" + "@expo/spawn-async": "npm:^1.8.0" + chalk: "npm:^4.1.0" + commander: "npm:^7.2.0" + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 10c0/e0c5588c35cc5e0ddf4ea3d6c36728523068a68a1713c09d7de01d03ca0b45e1d9f634377bac00ed6844e688b162893047a8a85e59d15adc9eecf67292312253 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -18241,6 +18333,17 @@ __metadata: languageName: node linkType: hard +"simple-plist@npm:^1.3.1": + version: 1.4.0 + resolution: "simple-plist@npm:1.4.0" + dependencies: + bplist-creator: "npm:0.1.1" + bplist-parser: "npm:0.3.2" + plist: "npm:^3.0.5" + checksum: 10c0/226c283492d8518d715e4133d94bdbd15c0619561bcde583b4807b36cde106c0078c615b9b4e25c0e8758a4ae4e79ed5dd76e57cd528d8b7001ecab5ad35e343 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.4, sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -18972,13 +19075,6 @@ __metadata: languageName: node linkType: hard -"temp-dir@npm:~2.0.0": - version: 2.0.0 - resolution: "temp-dir@npm:2.0.0" - checksum: 10c0/b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 - languageName: node - linkType: hard - "terminal-link@npm:2.1.1": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -19708,15 +19804,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:~2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: "npm:^2.0.0" - checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b - languageName: node - linkType: hard - "universal-user-agent@npm:^6.0.0": version: 6.0.0 resolution: "universal-user-agent@npm:6.0.0" @@ -20304,6 +20391,15 @@ __metadata: languageName: node linkType: hard +"xcode@npm:^4.0.0": + version: 4.0.0 + resolution: "xcode@npm:4.0.0" + dependencies: + simple-plist: "npm:^1.3.1" + checksum: 10c0/cbb3510eda03636a1594476978f48eebea88a9d8c8ba506df0366c007581774551bb45ca8b511c6a41fc4b6b564958e765c89ad31d8aabec4e4f8f993c8a7fc6 + languageName: node + linkType: hard + "xml-naming@npm:^0.1.0": version: 0.1.0 resolution: "xml-naming@npm:0.1.0"