@babel/runtime
@babel/runtime
is a library that contains Babel modular runtime helpers.
Installation
- npm
- Yarn
- pnpm
npm install --save @babel/runtime
yarn add @babel/runtime
pnpm add @babel/runtime
See also: @babel/runtime-corejs2.
Usage
This is meant to be used as a runtime dependency
along with the Babel plugin @babel/plugin-transform-runtime. Please check out the documentation in that package for usage.
Why
Sometimes Babel may inject some code in the output that is the same across files, and thus can be potentially re-used.
For example, with the class transform (without loose mode):
JavaScript
class Circle {}
turns into:
JavaScript
function _classCallCheck(instance, Constructor) {
//...
}
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
this means every file that contains a class would have the _classCallCheck
function repeated each time.
With @babel/plugin-transform-runtime
, it would replace the reference to the function to the @babel/runtime
version.
JavaScript
var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
var Circle = function Circle() {
_classCallCheck(this, Circle);
};
@babel/runtime
is just the package that contains the implementations of the functions in a modular way.