Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-block-scoping

Package Overview
Dependencies
54
Maintainers
4
Versions
101
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @babel/plugin-transform-block-scoping

Compile ES2015 block scoping (const and let) to ES5


Version published
Weekly downloads
25M
increased by2.02%
Maintainers
4
Install size
10.3 MB
Created
Weekly downloads
 

Package description

What is @babel/plugin-transform-block-scoping?

The @babel/plugin-transform-block-scoping npm package is a Babel plugin that transforms JavaScript code to convert block scoping (let and const) to function scoping (var) where necessary. This is particularly useful for ensuring compatibility with older environments that do not support ES6 block-scoped variables.

What are @babel/plugin-transform-block-scoping's main functionalities?

Transform let and const to var

This feature transforms block-scoped variables (let and const) into function-scoped variables (var) to ensure compatibility with older JavaScript engines.

if (true) {
  let x = 'hello';
}
// Transformed to:
if (true) {
  var x = 'hello';
}

Block scoping for loops

This feature correctly scopes the loop variable within closures, preventing common errors when using setTimeout or similar asynchronous functions within loops.

for (let i = 0; i < 3; i++) {
  setTimeout(function() { console.log(i); }, 0);
}
// Transformed to:
for (var i = 0; i < 3; i++) {
  (function(i) {
    setTimeout(function() { console.log(i); }, 0);
  })(i);
}

Other packages similar to @babel/plugin-transform-block-scoping

Changelog

Source

v7.20.5 (2022-11-28)

:eyeglasses: Spec Compliance
  • babel-helpers, babel-plugin-transform-destructuring, babel-plugin-transform-modules-commonjs, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime, babel-traverse
    • #15183 Improve array destructuring spec compliance (@SuperSodaSea)
  • babel-cli, babel-helpers, babel-plugin-proposal-class-properties, babel-plugin-proposal-class-static-block, babel-plugin-transform-classes, babel-plugin-transform-runtime, babel-preset-env
    • #15182 fix: apply toPropertyKey when defining class members (@JLHwung)
  • babel-helper-create-class-features-plugin, babel-helpers, babel-plugin-proposal-decorators, babel-plugin-proposal-private-property-in-object, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
:bug: Bug Fix
  • babel-parser
  • babel-helper-wrap-function, babel-preset-env, babel-traverse
  • babel-plugin-transform-arrow-functions, babel-plugin-transform-parameters, babel-traverse
    • #15163 fix: Throw error when compiling super() in arrow functions with default / rest parameters (@SuperSodaSea)
  • babel-helpers, babel-node, babel-plugin-proposal-async-generator-functions, babel-plugin-transform-regenerator, babel-preset-env, babel-runtime-corejs2, babel-runtime-corejs3, babel-runtime
  • babel-helper-create-regexp-features-plugin
  • babel-parser, babel-types
  • babel-generator
  • babel-plugin-transform-block-scoping, babel-traverse
:nail_care: Polish
  • babel-generator
  • babel-plugin-transform-block-scoping
:house: Internal

Readme

Source

@babel/plugin-transform-block-scoping

Compile ES2015 block scoping (const and let) to ES5

See our website @babel/plugin-transform-block-scoping for more information.

Install

Using npm:

npm install --save-dev @babel/plugin-transform-block-scoping

or using yarn:

yarn add @babel/plugin-transform-block-scoping --dev

Keywords

FAQs

Last updated on 28 Nov 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc