Incremental builds not working
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript, webpack
- Domain
- build-system, tooling
Research direction
Start by reproducing the issue with the referenced minimal repository, using tsconfig.json with incremental and outDir alongside webpack.config.js with output.path, then inspect how ts-loader passes TypeScript output to Webpack. Done means webpack produces the expected JavaScript files and persists .tsbuildinfo so unchanged builds can use incremental compilation.
Written by the indexing model from the issue text.
Description
Expected Behaviour
When tsconfig has the incremental compiler option set to true, a '.tsbuildinfo' file should be produced alongside the built *.js files in order to enable tsc to perform incremental builds.
Actual Behaviour
Not only is no '.tsbuildinfo' file produced, but no TypeScript build artifacts at all are produced. The outDir in tsconfig appears to be entirely ignored. The only output is the Webpack bundle, as specified by output.path.
Additionally, even if no changes have been made to any files, the compilation process still takes >15 seconds.
If I run tsc directly, the outDir (including .tsbuildinfo) is produced as expected.
Where does the output of tsc go? Clearly it's somewhere, because Webpack is able to read it to produce the bundle. But it doesn't seem to be persisted between builds.
Steps to Reproduce the Problem
- Set
outDirto"./build/"in tsconfig.json. - Set
incrementaltotruein tsconfig.json. - Set
output.pathtopath.resolve(__dirname, "dist")in webpack.config.js. - Run webpack. Observe that no
.tsbuildinfofile is produced.
Location of a Minimal Repository that Demonstrates the Issue.
- Dominant language
- TypeScript
- Stars
- 3.5k
- Forks
- 439
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 1
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TypeStrong/ts-loader
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
TypeStrong/ts-loader#1709 · 1 comment ·
-
rspack compatibilityPossibly taken @onigoetz claimed this 142 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 48/100
TypeStrong/ts-loader#1694 · 1 comment · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
TypeStrong/ts-loader#1675 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
TypeStrong/ts-loader#1671 · 10 comments · 11 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
TypeStrong/ts-loader#1660 · 1 comment ·
All issues in TypeStrong/ts-loader
Similar issues
-
check:passed streams:add
Difficulty 1/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
beta technical-medium ui
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
walletbeat/walletbeat#1625 ·
Maintainers usually reply within 1 day
-
[Good First Issue]: Add unit tests for NetworkVersionInfoPossibly taken A pull request linked to this issue is open or already merged. OpenGood First Issue hacktoberfest
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
hiero-ledger/hiero-sdk-js#4489 ·
Maintainers usually reply within 1 day
-
[Bug] The clients language filter cannot select the rows the page labels as unknownPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
apache/rocketmq-dashboard#6103 ·
Maintainers usually reply within 4 days
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
payloadcms/payload#18652 ·
Maintainers usually reply within 1 day