A framework for building native applications using React
Replace `execSync` with `spawnSync` for tarball extraction paths that need to be escaped (#53540)
Summary: Follow-up to https://github.com/facebook/react-native/issues/53194 This wasn't previously visible in testing without prebuilds and without a release build. This doesn't show up in debug builds. When testing more against paths that contain spaces, I noticed that release builds can still run into trouble due to the use of `execSync` without escaping paths. While, in other scripts that aren't used in user-projects (afaict), we often escape with quotes and rely on `execSync` calling the shell (due to its `shell: true` default), in some scripts we don't have quote escapes. That said, since paths could in theory contain quotes, adding quotes wouldn't be sufficient. Instead, since the affected `tar` calls are really trivial, we can instead use `spawnSync` with the `shell: false` default, which escapes arguments automatically. ## Changelog: [IOS] [FIXED] - fix Node scripts related to prebuilt tarball extraction for paths containing whitespaces Pull Request resolved: https://github.com/facebook/react-native/pull/53540 Test Plan: - Create a project in a folder `with spaces` and build a release build Reviewed By: cipolleschi, cortinico Differential Revision: D81406841 Pulled By: robhogan fbshipit-source-id: 08bb06b2cd2b15dc17c2f95fab9024129deca6f3
P
Phil Pluckthun committed
366f2ad5057ffecc1f5b211f6aae29567ae6b7e5
Parent: a2eb29e
Committed by React Native Bot <bot@reactnative.dev>
on 9/9/2025, 1:09:05 PM