Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
@babel/plugin-transform-template-literals
Advanced tools
Compile ES2015 template literals to ES5
The @babel/plugin-transform-template-literals package is a Babel plugin that transforms ES2015 template literals into the equivalent ES5 string concatenation syntax. This is particularly useful for ensuring compatibility with older browsers or environments that do not support template literals.
Template Literal Transformation
Converts template literals into string concatenation to ensure ES5 compatibility.
`Hello, ${name}!` // Transforms into 'Hello, ' + name + '!'
Tagged Template Literal Transformation
Transforms tagged template literals into a function call with an array of string literals and the template substitutions.
tagFunction`Hello, ${name}!` // Transforms into tagFunction(['Hello, ', '!'], name)
Transforms ES2015 arrow functions into function expressions. Similar in that it also ensures ES5 compatibility for newer syntax features.
Transforms ES2015 destructuring assignments into equivalent ES5 syntax. It provides similar functionality in terms of transforming modern JavaScript features to be compatible with older environments.
Transforms ES2015 spread syntax into equivalent ES5 syntax. Like the template literal plugin, it ensures that code using modern JavaScript features can run in environments that only support ES5.
Compile ES2015 template literals to ES5
In
`foo${bar}`;
Out
"foo".concat(bar);
npm install --save-dev @babel/plugin-transform-template-literals
.babelrc
(Recommended).babelrc
Without options:
{
"plugins": ["@babel/plugin-transform-template-literals"]
}
With options:
{
"plugins": [
["@babel/plugin-transform-template-literals", {
"loose": true
}]
]
}
babel --plugins @babel/plugin-transform-template-literals script.js
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-template-literals"]
});
loose
boolean
, defaults to false
.
When true
, tagged template literal objects aren't frozen. All template literal expressions and quasis are combined with the +
operator instead of with String.prototype.concat
.
When false
or not set, all template literal expressions and quasis are combined 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}`;
Out
"foo" + bar;
FAQs
Compile ES2015 template literals to ES5
The npm package @babel/plugin-transform-template-literals receives a total of 19,993,463 weekly downloads. As such, @babel/plugin-transform-template-literals popularity was classified as popular.
We found that @babel/plugin-transform-template-literals demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.