Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 1.35 KB

runtime.md

File metadata and controls

55 lines (37 loc) · 1.35 KB
Error in user YAML: (<unknown>): found character that cannot start any token while scanning for the next token at line 2 column 8
---
id: babel-runtime
title: @babel/runtime
sidebar_label: runtime
---

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

Installation

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):

class Circle {}

turns into:

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.

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.