This repository was archived by the owner on Jan 15, 2025. It is now read-only.
Make prepack scripts more consistent#1020
Merged
joshgummersall merged 2 commits intomainfrom Oct 15, 2020
Merged
Conversation
Somewhere between Typescript 3.5.x and 4.0.x, the behavior of the compiler changed in a subtle way when using the `-b` flag. In 3.5.x, if `outDir` was removed after a build but `tsconfig.tsbuildinfo` remained, running `tsc -b` again would fully reproduce `outDir`. Technically, this is incorrect behavior because the compiler state should be fully derived from the `include`/`rootDir` files and the `tsconfig.tsbuildinfo` file. In 4.0.x, `outDir` is not reproduced because the compiler properly loads its state from `tsconfig.tsbuildinfo` and does not perform any recompilation. Why did this affect `packages/plugins`? The `prepack` script runs `rimraf lib && tsc -b`. In the 3.5.x compiler version, this would reproduce the `lib` directory. In 4.0.x, it would not. This, the packaged set of files does not include the `lib` directory. This commit makes `prepack` scripts more consistent by using `npm run clean` and `npm run build`. The `clean` scripts already properly clean up both `outDir` and the `tsconfig.tsbuildinfo` file.
munozemilio
approved these changes
Oct 15, 2020
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Somewhere between Typescript 3.5.x and 4.0.x, the behavior of the
compiler changed in a subtle way when using the
-bflag.In 3.5.x, if
outDirwas removed after a build buttsconfig.tsbuildinforemained, runningtsc -bagain would fullyreproduce
outDir. Technically, this is incorrect behavior because thecompiler state should be fully derived from the
include/rootDirfiles and the
tsconfig.tsbuildinfofile.In 4.0.x,
outDiris not reproduced because the compiler properly loadsits state from
tsconfig.tsbuildinfoand does not perform anyrecompilation.
Why did this affect
packages/plugins? Theprepackscript runsrimraf lib && tsc -b. In the 3.5.x compiler version, this wouldreproduce the
libdirectory. In 4.0.x, it would not. This, thepackaged set of files does not include the
libdirectory.This commit makes
prepackscripts more consistent by usingnpm run cleanandnpm run build. Thecleanscripts already properly cleanup both
outDirand thetsconfig.tsbuildinfofile.