fix: clean up system temp directory when running. #319
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.
While the system temp directory gets cleaned up semi-regularly, on long-running machines (e.g. CI servers), it is possible for the PID to get reused before the system temp directory gets cleared. When this happens, the temp directory we create as an intermediate location for TypeScript build artifacts (to prevent churn in the build) can end up being used for multiple builds, even across separate apps. This can result in very bad output from the build, including total runtime failures from things like
require
entries including files from different builds or apps.Prevent this by always running
fs.removeSync
on the temp output directory prior to setting it and putting new output there.Fixes #318.