CLUE-406 chore: replace ts-loader with swc-loader for ~3x faster builds - #2756
CLUE-406 chore: replace ts-loader with swc-loader for ~3x faster builds#2756scytacki wants to merge 1 commit into
Conversation
- Use swc-loader (Rust-based) for transpilation instead of ts-loader - Add ForkTsCheckerWebpackPlugin for parallel type checking - Configure ESLintPlugin with lintDirtyModulesOnly in dev mode - Retain ts-loader for CODE_COVERAGE builds (Istanbul instrumentation) - Add build performance documentation and benchmark script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #2756 +/- ##
===========================================
- Coverage 86.81% 66.75% -20.06%
===========================================
Files 829 824 -5
Lines 44549 44526 -23
Branches 11462 11460 -2
===========================================
- Hits 38673 29723 -8950
- Misses 5527 13767 +8240
- Partials 349 1036 +687
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
collaborative-learning
|
||||||||||||||||||||||||||||
| Project |
collaborative-learning
|
| Branch Review |
CLUE-406-swc-loader-faster-builds
|
| Run status |
|
| Run duration | 02m 58s |
| Commit |
|
| Committer | Scott Cytacki |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
4
|
| View all changes introduced in this branch ↗︎ | |
|
Heads up before this merges: it reproduces a bug we just fixed in CODAP v3, in The problem: For scale: in CODAP, going from swc's ES5 default to Suggested fix: set
A couple of CLUE-specific notes:
How to verify: run a production build and grep the app chunk for |
Summary
ts-loaderwithswc-loader(Rust-based transpiler) for ~3x faster dev buildsForkTsCheckerWebpackPluginto run TypeScript type checking in a parallel processESLintPluginwithlintDirtyModulesOnlyin dev modets-loaderforCODE_COVERAGEbuilds (Istanbul instrumentation requires it)Build performance improvement:
Test plan
npm startworks and HMR rebuilds are fastCODE_COVERAGE=true npm startstill works (uses ts-loader)npm run buildsucceedsnpm testpasses🤖 Generated with Claude Code