@babel/runtime

@babel/runtime is a library that contains Babel modular runtime helpers and a version of regenerator-runtime.

Installation

  1. npm install --save @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):

  1. class Circle {}

turns into:

  1. function _classCallCheck(instance, Constructor) {
  2. //...
  3. }
  4. var Circle = function Circle() {
  5. _classCallCheck(this, Circle);
  6. };

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.

  1. var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
  2. var Circle = function Circle() {
  3. _classCallCheck(this, Circle);
  4. };

@babel/runtime is just the package that contains the implementations of the functions in a modular way.