diff --git a/.github/workflows/mobile-checks.yml b/.github/workflows/mobile-checks.yml index 71d6cdc..e900861 100644 --- a/.github/workflows/mobile-checks.yml +++ b/.github/workflows/mobile-checks.yml @@ -7,6 +7,7 @@ on: - '.github/workflows/mobile-checks.yml' - 'apps/mobile/**' - 'packages/shared-types/**' + - 'patches/**' - 'eslint.config.js' - 'package.json' - 'pnpm-lock.yaml' @@ -18,6 +19,7 @@ on: - '.github/workflows/mobile-checks.yml' - 'apps/mobile/**' - 'packages/shared-types/**' + - 'patches/**' - 'eslint.config.js' - 'package.json' - 'pnpm-lock.yaml' diff --git a/package.json b/package.json index 0b330f5..bd1eca2 100644 --- a/package.json +++ b/package.json @@ -167,8 +167,10 @@ "form-data@2": "^2.5.4", "tar@6": "^7.5.19", "tar@7": "^7.5.19", - "@expo/cli>tar": "^6.2.1", "@electron/rebuild>tar": "^6.2.1" + }, + "patchedDependencies": { + "@expo/cli@0.22.28": "patches/@expo__cli@0.22.28.patch" } }, "dependencies": { diff --git a/patches/@expo__cli@0.22.28.patch b/patches/@expo__cli@0.22.28.patch new file mode 100644 index 0000000..23ab53f --- /dev/null +++ b/patches/@expo__cli@0.22.28.patch @@ -0,0 +1,26 @@ +diff --git a/build/src/utils/npm.js b/build/src/utils/npm.js +index b861322e982f936bd3267c507a56f48213cc3d16..fb5ddc0ff7a3f449adcb415b9833dc4d01d7b4ad 100644 +--- a/build/src/utils/npm.js ++++ b/build/src/utils/npm.js +@@ -170,7 +170,7 @@ async function extractNpmTarballAsync(stream, props) { + transformStream.on("data", (chunk)=>{ + hash.update(chunk); + }); +- await pipeline(stream, transformStream, _tar().default.extract({ ++ await pipeline(stream, transformStream, (_tar().default || _tar()).extract({ + cwd, + filter, + onentry: (0, _createFileTransform.createEntryResolver)(name), +diff --git a/build/src/utils/tar.js b/build/src/utils/tar.js +index 8bf12d812646724089f6cd265b16093e8f518570..a21337968d9a9a70e83376b7aa7cc61a25be6729 100644 +--- a/build/src/utils/tar.js ++++ b/build/src/utils/tar.js +@@ -86,7 +86,7 @@ async function extractAsync(input, output) { + debug(`Extracting ${input} to ${output} using JS tar module`); + // tar node module has previously had problems with big files, and seems to + // be slower, so only use it as a backup. +- await _tar().default.extract({ ++ await (_tar().default || _tar()).extract({ + file: input, + cwd: output + }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8438aca..e6dda3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,11 +22,15 @@ overrides: form-data@2: ^2.5.4 tar@6: ^7.5.19 tar@7: ^7.5.19 - '@expo/cli>tar': ^6.2.1 '@electron/rebuild>tar': ^6.2.1 packageExtensionsChecksum: 94c7b810203da23309294e145a57c29e +patchedDependencies: + '@expo/cli@0.22.28': + hash: fs73wozxs3ogshmyebbg4hu7gy + path: patches/@expo__cli@0.22.28.patch + importers: .: @@ -10455,7 +10459,7 @@ snapshots: dependencies: uuid: 8.3.2 - '@expo/cli@0.22.28(encoding@0.1.13)': + '@expo/cli@0.22.28(patch_hash=fs73wozxs3ogshmyebbg4hu7gy)(encoding@0.1.13)': dependencies: '@0no-co/graphql.web': 1.2.0 '@babel/runtime': 7.29.7 @@ -10521,7 +10525,7 @@ snapshots: source-map-support: 0.5.21 stacktrace-parser: 0.1.11 structured-headers: 0.4.1 - tar: 6.2.1 + tar: 7.5.22 temp-dir: 2.0.0 tempy: 0.7.1 terminal-link: 2.1.1 @@ -14293,7 +14297,7 @@ snapshots: expo@52.0.49(@babel/core@7.28.6)(@babel/preset-env@7.28.6(@babel/core@7.28.6))(@expo/metro-runtime@4.0.1(react-native@0.76.9(@babel/core@7.28.6)(@babel/preset-env@7.28.6(@babel/core@7.28.6))(@types/react@18.3.31)(encoding@0.1.13)(react@18.3.1)))(encoding@0.1.13)(react-native@0.76.9(@babel/core@7.28.6)(@babel/preset-env@7.28.6(@babel/core@7.28.6))(@types/react@18.3.31)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.29.7 - '@expo/cli': 0.22.28(encoding@0.1.13) + '@expo/cli': 0.22.28(patch_hash=fs73wozxs3ogshmyebbg4hu7gy)(encoding@0.1.13) '@expo/config': 10.0.11 '@expo/config-plugins': 9.0.17 '@expo/fingerprint': 0.11.11