ts-helpers
v1.1.2
Published
Typescript helpers for compiling typescript while specifying `--noEmitHelpers` within your `tsconfig.json`. Cross platform ( Node/Browser/WebWorker )
Downloads
121,634
Readme
TS-helpers
Typescript helpers (TS <= 2.0) for compiling typescript while specifying --noEmitHelpers
within your tsconfig.json
.
Cross platform ( Node/Browser/WebWorker )
NOTE: Starting Typescript 2.1 this package won't be needed anymore
Instead you can provide --importHelpers
together with --noEmitHelpers
which will import emit helpers from Typescript "tslib"
More info: https://github.com/Microsoft/TypeScript/pull/9097
Why?
If you are using one of following ES2015/ES.next features with Typescript:
- inheritance via
class Foo extends Moo{}
async/await
- decorators via
experimentalDecorators
- metadata reflection via
emitDecoratorMetadata
Typescript will generate helper code in every one file. This can be a problem when dealing with code coverage or payload size of you library/app
To mitigate this problem Typescript starting from version 1.8 allow us to specify noEmitHelpers: true
which wont generate these helpers.
And that's where this little utility comes into play, it defines those helpers just once for whole app.
Installation
npm install --save-dev ts-helpers
then load it from your app root file:
// main.ts
import 'ts-helpers';
and set tsconfig noEmitHelpers
like following example:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"moduleResolution": "node",
"pretty": true,
"noEmitHelpers": true
},
"exclude": [
"node_modules"
]
}
That's it! enjoy ;)