Package Exports
- ts-helpers
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ts-helpers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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: 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 ;)