ts-loader 2017 retrospective
2017 is drawing to a close, and it's been a big, big year in webpack-land. It's been a big year for ts-loader
too. At the start of the year v1.3.3 was the latest version available, officially supporting webpack 1. (Old school!) We end the year with ts-loader
sitting pretty at v3.2.0 and supporting webpack 2 and 3.
Many releases were shipped and that was down to a whole bunch of folk. People helped out with bug fixes, features, advice and docs improvements. All of these help.ts-loader
wouldn't be where it is without you so thanks to everyone that helped out - you rock!
I'm really grateful to all of you. Thanks so much! (Apologies for those I've missed anyone out - I know there's more still.)
fork-ts-checker-webpack-plugin
build speed improvements
Alongside other's direct contributions to ts-loader
, other projects improved the experience of using ts-loader
. Piotr Oleś dropped his fork-ts-checker-webpack-plugin
this year which nicely increased build speed when used with ts-loader
.
That opened up the possibility of adding HappyPack support. I had the good fortune to work with webpack's Tobias Koppers and ExtraHop's Alex Birmingham on improving TypeScript build speed further.
So what does the future hold?
ts-loader 4.0 (Live webpack or Die Hard)
The web marches on and webpack gallops alongside. Here's what's in the pipeline for ts-loader in 2018:
Start using the new watch API
A new watch API is being made available in the TypeScript API. We have a PR from the amazing Sheetal Nandi which adds support to ts-loader. Given that's quite a big PR we want to merge that before anything else lands. The watch API is still being finalised but once it lands in TypeScript we'll look to merge the PR and ship a new version of ts-loader
.
Drop custom module resolution
Historically ts-loader
has had it's own module resolution mechanism in place. We're going to look to move to use the TypeScript mechanism instead. The old module resolution be deprecated but will remain available behind a flag for a time. In future we'll look to drop the old mechanism entirely.
Drop support for TypeScript 2.3 and below
The codebase can be made simpler if we drop support for older versions of TypeScript so that's what we plan to do with our next breaking changes release.