Security News
The Dark Side of Open Source
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
@babel/register
Advanced tools
Package description
The @babel/register npm package is a Babel hook that automatically compiles files on the fly when they are required. It is primarily used during development to compile JavaScript files using Babel as soon as they are imported, which allows developers to write modern JavaScript without worrying about compatibility with the current Node.js environment.
On-the-fly ES6/ESNext compilation
Automatically compiles ES6/ESNext files when they are required. This allows you to use new JavaScript features without pre-compiling your code.
require('@babel/register');
require('./my-es6-script.js');
Custom Babel configurations
Allows you to specify custom Babel configurations, such as presets and plugins, to be applied when compiling your JavaScript files.
require('@babel/register')({
presets: ['@babel/preset-env'],
plugins: ['@babel/plugin-transform-runtime']
});
require('./my-custom-babel-config-script.js');
Ignore specific files or directories
Provides an option to ignore specific files or directories during the compilation process, which can improve performance by skipping unnecessary files.
require('@babel/register')({
ignore: [/node_modules/]
});
require('./my-script.js');
Source map support
Supports inline source maps, which can be useful for debugging by allowing you to trace back to the original source code.
require('@babel/register')({
sourceMaps: 'inline'
});
require('./my-script-with-source-maps.js');
Similar to @babel/register, ts-node provides on-the-fly compilation for TypeScript files. It is specifically designed for TypeScript and includes type checking, whereas @babel/register is more general-purpose for JavaScript with Babel transformations.
The esm package is a lightweight runtime that allows you to use ES modules in Node.js. It offers similar on-the-fly compilation for ES module syntax but does not include the wide range of JavaScript feature transformations that Babel provides.
Pirates is a more generic module that allows you to add hooks for transforming files on the fly. While it doesn't provide the transformations itself, it can be used to implement similar functionality to @babel/register by plugging in your own transform function or using it with Babel.
This package is designed to hook into the require function and transform files on-the-fly. It is similar to @babel/register but is more flexible as it allows you to hook into any file extension and apply custom transformations.
Changelog
v7.23.7 (2023-12-29)
babel-traverse
Program
(@liuxingbaoyu)babel-helpers
, babel-plugin-proposal-decorators
ctx.kind
is wrong (@liuxingbaoyu)babel-plugin-proposal-decorators
babel-core
unhandledRejection
events (@nicolo-ribaudo)babel-helper-create-class-features-plugin
babel-helper-create-class-features-plugin
, babel-plugin-proposal-decorators
Readme
babel require hook
See our website @babel/register for more information or the issues associated with this package.
Using npm:
npm install --save-dev @babel/register
or using yarn:
yarn add @babel/register --dev
FAQs
babel require hook
The npm package @babel/register receives a total of 8,057,319 weekly downloads. As such, @babel/register popularity was classified as popular.
We found that @babel/register 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.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.
Security News
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.