NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2380 most downloaded on npm
TypeScript loader for webpack
Last release 2 months ago
22 Jun 2026
Release timing varies
gaps range from 3 weeks to 1.2 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
171 releases · first in 2015
Enable typescript 3.8.3 support when using `webpack.config.ts` files - thanks @vladimiry!
webpack.config.ts files - thanks @vladimiry!Output types alongside JS files, enable declaration maps - thanks @meyer!
One column per quarter.
Emitting .tsbuildinfo when using watch api - thanks @sheetalkamat!
don't emit declaration files for a declaration file (#1014) - thanks @gvinaccia!
Fix SolutionBuilder watches and related fixes (#998) - thanks @sheetalkamat!
Build upstream project references with SolutionBuilder (#851, #913) - thanks @sheetalkamat!
Fix issue when handling files not included in tsconfig.json (#934) - thanks @davazp!
Upgrade typescript version to 3.5.2 (#954) - thanks @fa93hws
Set configFilePath when reading config file (#939) - thanks @konpikwastaken!
Fix issue with `resolveTypeReferenceDirective` causing errors like `Cannot find name 'it'` with Jest (#934) (#919) - thanks @andrewbranch!
resolveTypeReferenceDirective causing errors like Cannot find name 'it' with Jest (#934) (#919) - thanks @andrewbranch!Drop support for node < 8.6 related to micromatch upgrade to 4; see: https://github.com/TypeStrong/ts-loader/issues/929
use @types/webpack for loader typings - thanks @LukeSheard!
refactor: add common appendTsTsxSuffixesIfRequired function to instance - thanks @johnnyreilly!
feat: resolveTypeReferenceDirective support for yarn PnP - thanks @johnnyreilly!
fix: Pass ts.Program to getCustomTransformers (#860) - thanks @andersekdahl!
feat: enable experimentalFileCaching by default (#868) - thanks @timocov!
fix: projectReferences with rootDir (#868) - thanks @andrewbranch!
feat: Exposes a `resolveNodeModule` option - thanks @arcanis!
resolveNodeModule option - thanks @arcanis!feat: Micro-optimizations - thanks @johnnyreilly
feat: Lists typescript as a peer dependency - thanks @arcanis!
feat: Initial support for project references - `projectReferences` - thanks @andrewbranch!
projectReferences - thanks @andrewbranch!fix(getTranspilationEmit): pass the raw path to transpileModule - thanks @Brooooooklyn
feat: Added cache for some FS operations while compiling - `experimentalFileCaching` - thanks @timocov!
feat: Fixed issue with incorrect output path for declaration files - thanks @JonWallsten! BREAKING CHANGE
feat: Added support for TypeScript declaration map - thanks @JonWallsten!
fix(loader): new Error to webpack when errors occured in the loader function - thanks @linxiaowu66 and @systemmetaphor!
fix(types): expose public interfaces from root index.d.ts - thanks @Hotell!
feat: generate ambient types from implementation - thanks @Hotell!
Fix options caching when ts-loader is used in multiple rules - thanks @yyx990803!
Please note, this bug fix requires that vue-loader users still using v14 should either upgrade to v15 or explicitly pass the same ts-loader options via v14's loaders option. See more details here
Fix dependency resolution when using pnpm - thanks @xbtsw and @zkochan!
allowTsInNodeModules option for importing .ts files from node_modules - thanks @aelawson!Pass `context' to error formatters - thanks @gustavderdrache!
Fix slow `experimentalWatchApi` (#746) - thanks @sheetalkamat and @MLoughry!
experimentalWatchApi (#746) - thanks @sheetalkamat and @MLoughry!getCustomTransformers support path string for a module - thanks @vagusX and @s-panferov (upon whose work this is based I believe)Fix name collision in experimentalWatchApi code - thanks @MLoughry!
Drop support for webpack 2/3 BREAKING CHANGE - use ts-loader 3.x if you need webpack 2/3 support
entryFileCannotBeJs removed' BREAKING CHANGENothing published for this version
Add trace for traceResolution - thanks @onigoetz!
local .d.ts files now marked as changed when watch is triggered - thanks @KnisterPeter!
Fixes to support watch api for compiling - lib support etc - thanks @sheetalkamat!
Replaced option `contextAsConfigBasePath` with `context` option. Strictly speaking a breaking change. However, given the original option was never abl…
reportFiles option - thanks @freeman!contextAsConfigBasePath with context option. Strictly speaking a breaking change. However, given the original option was never able to fulfil its intended purpose I've decided to treat this as just a new feature; there seems no possibility that anyone can be using contextAsConfigBasePath - thanks @christiantinauer!experimentalWatchApi option until it has been thoroughly tested. All being well it is likely to become the default behaviour for ts-loader in future - thanks @sheetalkamat!Add new loader option `contextAsConfigBasePath` - thanks @christiantinauer
contextAsConfigBasePath - thanks @christiantinauerFix error importing buildt ts files with allowJs (#667) - thanks @Pajn!
Chore release; upgraded chalk dependency in `package.json` to 2.3, as 2.3 is another breaking changes release (from a TypeScript perspective)., see he…
onlyCompileBundledFiles option which modifies behaviour to load only those files that are actually bundled by webpack #267 - thanks @maier49!package.json to 2.3, as 2.3 is another breaking changes release (from a TypeScript perspective)., see here for context - thanks @johnnyreillyChore release; upgraded chalk dependency in `package.json` to 2.2, as 2.2 appears to be a breaking changes release. - thanks @lmk123 for reporting
package.json to 2.2, as 2.2 appears to be a breaking changes release. - thanks @lmk123 for reportingChore release; upgraded chalk dependency. - thanks @johnnyreilly
This option should be considered deprecated as of this release. The option will likely disappear with the next major version of ts-loader which will d…
This fix resolves the issue for TypeScript 2.4+ (which is likely 95% of users). For those people stuck on 2.3 or below and impacted by this issue, you should be able to workaround this by setting entryFileCannotBeJs: true in your ts-loader options. This option should be considered deprecated as of this release. The option will likely disappear with the next major version of ts-loader which will drop support for TypeScript 2.3 and below, thus removing the need for this option.
Nothing published for this version
Start validating the options supplied to the loader (#629) - thanks @johnnyreilly!
Fix kills ts-loader dependant builds issue (#626) - thanks @Loilo!
Add an additional check for js files before reusing isExternalLibaryImport (#620) - thanks @WillMartin!
basePath configurable (#618) - thanks @Loilo!Add `configFile` option - thanks @Loilo!
configFile option - thanks @Loilo!fix(tsconfig): stop passing rootDir option to TypeScript compiler (#597) - thanks @Brooooooklyn
Move to use strictNullChecks - thanks @johnnyreilly
allowJs supports importing types from external libraries (#586, #577) - thanks @bsouthga!Fix undefined watcher in watch-run causes error (#585) - thanks @zinserjan and @sokra!
add appendTsxSuffixTo option to support using tsx with Vue - lots of discussion went into this PR. Thanks to @vhqtvn (author) and @HerringtonDarkholme
Remove default of setting isolatedModules to true when in transpileOnly mode - thanks @johnnyreilly and @donaldpipowitch
Report errors in JS(X) files when CheckJS is enabled - thanks @schmuli!
Support custom transformers for ts - thanks @longlho and @Igorbek!
Add happypack compatibility mode - thanks @aindlq!
Don't include appended TS extension in webpack dependencies - thanks again @wearymonkey!
Fix performance regression related to using getTimes() by tracking timestamps - thanks @wearymonkey
Your coding agent can read these notes before it upgrades. Set up the MCP server →