All Projects → rx-ts → babel-preset-proposal-typescript

rx-ts / babel-preset-proposal-typescript

Licence: MIT license
Yet another Babel preset for TypeScript, only transforms proposals which TypeScript does not support now.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to babel-preset-proposal-typescript

babel-preset-amex
✨ Standard babel preset for American Express
Stars: ✭ 14 (-41.67%)
Mutual labels:  babel-preset
browserslist-config-google
Google / Google Workspace Browserslist Shared Config
Stars: ✭ 27 (+12.5%)
Mutual labels:  babel-preset
Minify
✂️ An ES6+ aware minifier based on the Babel toolchain (beta)
Stars: ✭ 4,303 (+17829.17%)
Mutual labels:  babel-preset
Babel Preset Env
PSA: this repo has been moved into babel/babel -->
Stars: ✭ 3,550 (+14691.67%)
Mutual labels:  babel-preset
configs
Personal but Shareable Configurations for all 1stG.me projects.
Stars: ✭ 32 (+33.33%)
Mutual labels:  babel-preset
babel-preset-react-native-web3
deprecated: babel preset for react native, web3 and babel 6
Stars: ✭ 22 (-8.33%)
Mutual labels:  babel-preset
vue-startup
基于vue+webpack(+typescript)的示例项目
Stars: ✭ 20 (-16.67%)
Mutual labels:  babel-typescript

babel-preset-proposal-typescript

GitHub Actions Codecov Language grade: JavaScript npm GitHub Release

Conventional Commits Renovate enabled JavaScript Style Guide Code Style: Prettier changesets

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

  1. async-do-expressions
  2. do-expressions
  3. function-bind
  4. function-sent
  5. json-strings
  6. partial-application
  7. pipeline-operator
  8. record-and-tuple
  9. throw-expressions
  10. v8intrinsic - Further Detail

Install

# yarn
yarn add -D babel-preset-proposal-typescript

# npm
npm i -D babel-preset-proposal-typescript

Options

option description defaults
decoratorsBeforeExport See Babel Document undefined
decoratorsLegacy whether to use legacy decorators semantic true
isTSX whether to enable jsx plugin with typescript false, but true for /\.[jt]sx$/
pipelineOperator implementation of pipeline operator, minimal, smart or fsharp minimal
recordTuplePolyfill whether to enable import record-tuple plugin and polyfill, or specific the polyfill module name true for Node>=14.6, it represents @bloomberg/record-tuple-polyfill
recordTupleSyntaxType record-tuple syntax, hash or bar hash

Usage

Note that unlike plugins, the presets are applied in an order of last to first (https://babeljs.io/docs/en/presets/#preset-ordering), so please make sure proposal-typescript is used at the last.

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.

loader = {
  test: /\.[jt]sx?$/,
  loader: 'babel-loader',
  options: {
    presets: ['@babel/typescript', 'proposal-typescript'],
  },
}

// if you prefer `ts-loader` or `awesome-typescript-loader`
loader = {
  test: /\.tsx?$/,
  use: [
    {
      loader: 'ts-loader',
    },
    {
      loader: 'babel-loader',
      options: {
        presets: ['proposal-typescript'],
      },
    },
  ],
}

Changelog

Detailed changes for each release are documented in CHANGELOG.md.

License

MIT © JounQin@1stG.me

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].