Skip to content

Typescript helpers for compiling typescript while specifying `--noEmitHelpers` within your `tsconfig.json`

License

Notifications You must be signed in to change notification settings

ngParty/ts-helpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7793e55 · Oct 14, 2016

History

20 Commits
Apr 17, 2016
Apr 17, 2016
Apr 17, 2016
Oct 14, 2016
Apr 17, 2016
Oct 13, 2016
Apr 17, 2016
Apr 17, 2016
Oct 14, 2016
Apr 17, 2016
Apr 17, 2016
Apr 17, 2016

Repository files navigation

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 ;)

About

Typescript helpers for compiling typescript while specifying `--noEmitHelpers` within your `tsconfig.json`

Resources

License

Stars

Watchers

Forks

Packages

No packages published