babel/packages/babel-plugin-transform-es2015-template-literals
Daniel Tschinder b3372a572d Remove whitespace generation (#5833)
* Remove whitespace generation and rely on default printing

Changes to printing:
* Add newline after last empty SwitchCase
* Add newlines around block comments if they are non-flow comments or contain newlines

* Fix a few more fixtures
2017-06-27 21:57:02 -05:00
..
2017-06-27 12:15:00 -05:00
2017-06-27 21:57:02 -05:00
2017-03-25 21:46:16 -04:00
2017-05-31 17:11:39 -04:00

babel-plugin-transform-es2015-template-literals

Compile ES2015 template literals to ES5

Example

In

`foo${bar}`;

Out

"foo" + bar;

Installation

npm install --save-dev babel-plugin-transform-es2015-template-literals

Usage

.babelrc

Without options:

{
  "plugins": ["transform-es2015-template-literals"]
}

With options:

{
  "plugins": [
    ["transform-es2015-template-literals", {
      "loose": true,
      "spec": true
    }]
  ]
}

Via CLI

babel --plugins transform-es2015-template-literals script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-template-literals"]
});

Options

loose

boolean, defaults to false.

In loose mode, tagged template literal objects aren't frozen.

spec

boolean, defaults to false.

This option combines all template literal expressions and quasis with String.prototype.concat. It will handle cases with Symbol.toPrimitive correctly and throw correctly if template literal expression is a Symbol(). See babel/babel#5791.

In

`foo${bar}baz${quux}${1}`;

Out

"foo".concat(bar, "baz").concat(quux, 1);