Package Exports
- babel-preset-proposal-typescript
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 (babel-preset-proposal-typescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
babel-preset-proposal-typescript
Yet another Babel preset for TypeScript, only transforms proposals which TypeScript does not support now.
So that you can use babel to transform proposals which are current in stage 0-2 and TypeScript team will not implement them temporarily.
TOC
Enabled proposal plugins
- class-properties
- do-expressions
- function-bind
- function-sent
- json-strings
- logical-assignment-operators
- nullish-coalescing-operator
- optional-chaining
- partial-application
- pipeline-operator
- private-methods
- throw-expressions
- v8intrinsic - Further Detail
Install
# yarn
yarn add -D babel-preset-proposal-typescript
# npm
npm i -D babel-preset-proposal-typescript
Options
option | description | defaults |
---|---|---|
classLoose |
whether to use loose mode for class properties and private methods | true |
decoratorsBeforeExport |
See Babel Document | N/A |
decoratorsLegacy |
whether to use legacy decorators semantic | true |
isTSX |
whether to enable jsx plugin with typescript |
false , true but for /\.[jt]sx$/ |
pipelineOperator |
implementation of pipeline operator | "minimal" |
Usage
Via .babelrc
(Recommended)
.babelrc
{
"presets": ["proposal-typescript"]
}
Via CLI
babel input.ts --presets proposal-typescript >output.ts
Via Node API
require('@babel/core').transform('code', {
presets: ['proposal-typescript'],
})
Via webpack
Pipe codes through babel-loader
to ts-loader
or awesome-typescript-loader
.
loader = {
test: /\.ts$/,
use: [
{
loader: 'ts-loader',
},
{
loader: 'babel-loader',
options: {
presets: ['proposal-typescript'],
},
},
],
}