Employee Spotlight
From Academia to Industry
Philipp Burckhardt recounts his journey from childhood computer fascinations, to building an e-learning platform at Carnegie Mellon University, and on to his current role at Socket.
@babel/helpers
Advanced tools
Package description
The @babel/helpers package is part of the Babel toolchain, which is primarily used for converting ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments. This specific package contains a set of functions that are used by Babel's transform plugins to avoid code duplication across generated output. These helpers are small snippets of code that perform common tasks used by the transformations, such as handling classes, spreading properties, etc.
Class handling
This code demonstrates a helper function used by Babel to ensure that a class is only instantiated with the `new` keyword, preventing incorrect usage.
"use strict";\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nvar MyClass = function MyClass() { _classCallCheck(this, MyClass); };
Spread properties
This helper function is used to emulate the behavior of the object spread operator `{...obj}`, allowing properties from one or more source objects to be copied into a new object.
"use strict";\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nvar obj = _extends({}, sourceObj, { key: 'value' });
Similar to @babel/helpers, core-js is a modular standard library for JavaScript, including polyfills for ECMAScript up to 2021. While @babel/helpers provides functions to support the transformation process, core-js focuses on polyfilling new JavaScript features for older environments.
This package provides runtime support for generators and async functions, similar to how @babel/helpers supports various syntax transformations. It's often used in conjunction with Babel for projects that use generators or async/await syntax to ensure compatibility with older environments.
Changelog
v7.22.6 (2023-07-04)
babel-compat-data
, babel-helper-compilation-targets
, babel-preset-env
babel-plugin-transform-optional-chaining
delete a?.b
in function params (@nicolo-ribaudo)babel-helper-split-export-declaration
, babel-plugin-transform-modules-commonjs
babel-compat-data
, babel-preset-env
babel-helpers
, babel-plugin-proposal-explicit-resource-management
, babel-runtime-corejs3
, babel-runtime
@@asyncDispose
(@nicolo-ribaudo)babel-standalone
stage-2
(@liuxingbaoyu)babel-core
--frozen-intrinsics
(@liuxingbaoyu)babel-helper-create-class-features-plugin
, babel-plugin-transform-classes
babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining
, babel-plugin-transform-class-properties
, babel-plugin-transform-optional-chaining
, babel-plugin-transform-typescript
?.
(@nicolo-ribaudo)babel-plugin-proposal-destructuring-private
, babel-plugin-proposal-do-expressions
, babel-plugin-proposal-pipeline-operator
, babel-plugin-transform-class-properties
, babel-plugin-transform-nullish-coalescing-operator
, babel-plugin-transform-optional-chaining
, babel-plugin-transform-private-property-in-object
, babel-traverse
Readme
Collection of helper functions used by Babel transforms.
See our website @babel/helpers for more information.
Using npm:
npm install --save-dev @babel/helpers
or using yarn:
yarn add @babel/helpers --dev
FAQs
Collection of helper functions used by Babel transforms.
The npm package @babel/helpers receives a total of 37,632,272 weekly downloads. As such, @babel/helpers popularity was classified as popular.
We found that @babel/helpers 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.
Employee Spotlight
Philipp Burckhardt recounts his journey from childhood computer fascinations, to building an e-learning platform at Carnegie Mellon University, and on to his current role at Socket.
Security News
Git dependencies in open source packages can introduce significant risks, including lack of version control, stability issues, dependency drift, and difficulty in auditing, making them potential targets for supply chain attacks.
Security News
Node.js has added experimental support for TypeScript, a move that highlights the growing importance of TypeScript in modern development.