We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Commits: 59ad6ef, c8327da
tsc --build
stat
Commits: cb7aca3
Commits: 89d2d4c
Commits: 6e0c916
Commits: 1a8abac, dc21283, 5bccee8,
tsbuildInfo
changeFileSet
dtsChangeTime
emitSignatures
fileVersions
outSignature
tsc --build --watch
Commits: fcf07f8, 15fe24e
composite
incremental
Commits: 6198fa3,
Commits: 62c687b
Commits: 4fb6773
Commits: 437619e
BuilderState
BuilderProgramState
Commits: e6a3ee8
tsc --build --force
Commits: b32d2eb
Commits: 303824e
Commits: 28a9ff3
Here are the numbers from run on solution with large (1994) number of projects.
On Typescript Code base:
Sorry, something went wrong.
Use fixed time for vfs so baselining is consistent
a3b5207
Baseline buildinfos
c20613f
Write new file text in baseline even if the file wasnt read on the sh…
c79af2c
…adow
Remove unnecessary debugger statement
40a8c7f
Make sure that incremental correctness is checked with correct writeF…
7377470
…ile so we know buildInfo was written Also baseline these so its easy to verify the changes
More baselines for the tsbuildinfo
c206ff0
If we are writing dts file and have used file text as version, we can…
fc91aff
… update the signature when doing actual emit
Make WriteFileCallback Api ready for future
396e6c8
Assert that there is only single source file when emitting d.ts file
7084221
Add test
5f02cf3
Renames
c984298
More refactoring
e4bf58a
If we are updating dts of any of the file and it affects global scope…
87a7112
…, everything needs update in signature and dts emit Fixes #42769
Stacktrace optimization for getModified time in anticipation of using…
16cef4a
… it more than fileExists wherever possible
Baseline getModifiedTime, setModifiedTime, fileExits and directoryExi…
7e65cd3
…ts for experiment
Remove unnecessary write file finger print code since its not used at…
0ff8cb3
… all
Use modified time instead of file existence check
59ad6ef
Remove unnecessary getModifiedTime
c8327da
No need to check for file existence before reading the d.ts file
7817fbf
Do project reference errors before doing input/output file checks
cb7aca3
Dont call getModifiedTimes if dts change
dd96e33
Passdown modified time if queried
89d2d4c
Use modified time passed through the file watching in tsbuild
6e0c916
Handle force build as separate upto date status
e6a3ee8
uptodate status worker to read buildinfo and use it to determine upto…
7cb0f40
… date ness
No need to update output timestamps if buildinfo will determine uptod…
1a8abac
…ateness
Store change file set instead of hasPendingChange to be able to reuse…
59f2b5c
… the information
Add test that shows input file is not present
5c12067
No need to check input time stamp before buildinfo
7734528
Keep buildinfos for lifetime of the solution builder and project
6198fa3
Options solutionDiagnostics instead so that its not too verbose when …
0cf9e30
…printing diagnostics
@typescript-bot pack this
Heya here.
Hey an installable tgz. You can install it for testing by referencing it in your package.json like so:
package.json
{ "devDependencies": { "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/127230/artifacts?artifactName=tgz&fileId=CCF2A5B002D81E471C51A8DB3E8BAD826F3033E0889AB91ACB94E055FA25C8E002&fileName=/typescript-4.8.0-insiders.20220601.tgz" } }
and then running npm install.
npm install
There is also a playground npm module you can use via "typescript": "npm:@typescript-deploys/[email protected]".;
"typescript": "npm:@typescript-deploys/[email protected]"
When tsc --build --clean, only remove tsbuildinfo if its incremental …
e4e6672
…build
@andrewbranch i have highlighted important commits and the change in the description and also have left some comments during the change. Let me know if you need more details. This PR is basically aggregation of lot of changes that mostly needs to be together.. So minor refactoring can be a separate PR but rest needs to be together for everything to work so cant make this into smaller PR.
Merge branch 'main' into timestamps
842de49
@sheetalkamat That table's great! When you ran those scenarios, did you do any checks to determine whether the output was the same as before? Also, do you have a similar (or simpler) table for compiling TypeScript itself?
Revert "Options solutionDiagnostics instead so that its not too verbo…
5c07c77
…se when printing diagnostics" This reverts commit 0cf9e30.
Revert "Report aggregate statistics for solution as well as some solu…
31427f6
…tion perf numbers" This reverts commit 405d8e9.
0f898f2
Revert "When tsc --build --clean, only remove tsbuildinfo if its incr…
5cd883a
…emental build" This reverts commit e4e6672.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Your offline explanation made sense and I appreciate your thorough perf testing. I added some notes on naming and comments, but mostly I think we should check this in ASAP and see what happens.
Comments in the code
5cd5d57
Feedback
624c182
b8f6488
I think this might have caused a regression. In my project, when I introduce errors and build with tsc -p, I get errors, as expected. When I build with tsc --build, it exits very quickly, and shows no errors.
tsc -p
λ ./tools/tvui/node_modules/.bin/tsc -p packages/tsconfig.json # ... expected error messages omitted Found 3 errors in 3 files. Errors Files 1 node_modules/relay-hooks/lib/RelayHooksTypes.d.ts:56 1 packages/@tvui/fx2-transition/src/utils.tsx:173 1 packages/@tvui/redux/testing/unitTestingEnhancer.ts:8 tvui on nth/ts-4.8 [!⇡] via v16.16.0 took 10s λ time ./tools/tvui/node_modules/.bin/tsc --build packages/tsconfig.json --verbose [3:52:58 PM] Projects in this build: * packages/tsconfig.json [3:52:58 PM] Project 'packages/tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files ________________________________________________________ Executed in 550.41 millis fish external usr time 437.83 millis 50.00 micros 437.78 millis sys time 194.10 millis 616.00 micros 193.49 millis
--build does seem to be faster, but perhaps it's so fast that it's not doing any work. 😄
--build
I noticed this when doing the TS 4.8 upgrade. I observe this with version 4.8.2.
I'm happy to open a new issue for this if that's preferable.
I first noticed this after using yarn to update type-fest in node_modules.
yarn
type-fest
node_modules
@NickHeiner
New issue is definitively better, check if there is no similar issue. If you have a standalone minimal project to reproduce it will be gold for maintainers 🤗 Thank you!
andrewbranch andrewbranch approved these changes
DanielRosenwasser Awaiting requested review from DanielRosenwasser
RyanCavanaugh Awaiting requested review from RyanCavanaugh
amcasey amcasey approved these changes
sheetalkamat
Successfully merging this pull request may close these issues.