Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 2.07 KB

README.md

File metadata and controls

63 lines (47 loc) · 2.07 KB

TS-helpers

Dependencies Status devDependency Status npm GitHub license

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: microsoft/TypeScript#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: truewhich 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 ;)