chore(setup): use In-Memory Config During Prepack#2132
Merged
aman19K merged 7 commits intodevelopmentfrom Sep 24, 2025
Merged
Conversation
…revent manifest generation failures
shafeeqd959
approved these changes
Sep 24, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Root Cause Analysis
The setup-repo scripts run:
npm i → pnpm package-lock-only → pnpm clean → pnpm install → pnpm prepack
During prepack, each package runs oclif manifest which accesses the config
Multiple processes trying to serialize/deserialize config simultaneously = corruption
This is a classic race condition issue in a monorepo environment where multiple packages are trying to access and modify the same configuration file simultaneously during the prepack phase.
Solution
In-Memory Config During Prepack:
No Temporary Files: During oclif manifest generation, the config will use pure in-memory storage (Map<string, any>).
No Cleanup Required: Since no files are created, there's no need for any cleanup.
Automatic Detection: Prepack mode is automatically detected via environment variables and process arguments.