@babel/preset-typescript

This preset includes the following plugins:

You will need to specify —extensions ".ts" for @babel/cli & @babel/node cli's to handle .ts files.

Example

In

  1. const x: number = 0;

Out

  1. const x = 0;

Installation

  1. npm install --save-dev @babel/preset-typescript

Usage

.babelrc

  1. {
  2. "presets": ["@babel/preset-typescript"]
  3. }

Via CLI

  1. babel --presets @babel/preset-typescript script.ts

Via Node API

  1. require("@babel/core").transform("code", {
  2. presets: ["@babel/preset-typescript"],
  3. });

Options

isTSX

boolean, defaults to false.

Forcibly enables jsx parsing. Otherwise angle brackets will be treated as typescript's legacy type assertion var foo = <string>bar;. Also, isTSX: true requires allExtensions: true

jsxPragma

string, defaults to React.

Replace the function used when compiling JSX expressions.

This is so that we know that the import is not a type import, and should not be removed

allExtensions

boolean, defaults to false.

Indicates that every file should be parsed as TS or TSX (depending on the isTSX option)

allowNamespaces

boolean, uses the default set by @babel/plugin-transform-typescript.

Enables compilation of TypeScript namespaces.

You can read more about configuring preset options here