fix: Replace execSync with execFileSync for oxfmt #11463
+52
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
fix is to avoid constructing a single shell command string that mixes a hard-coded command (
pnpm exec oxfmt) with dynamic path arguments. Instead, invoke the command without a shell and pass each argument as a separate array element. This prevents spaces or metacharacters in the paths from being interpreted by a shell.Concretely, in
packages/turbo-types/scripts/generate-schema.ts, replace theexecSynccall on lines 58–61 with a call toexecFileSyncfromnode:child_process. Keeppnpmas the executable, and pass"exec","oxfmt", and each schema file path as separate arguments. Also update the import on line 3 to importexecFileSyncinstead of (or in addition to)execSync. No other logic needs to change.You need:
execFileSync.execFileSync("pnpm", ["exec", "oxfmt", <paths>], { stdio: "inherit" });.