You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

babel-register

Package Overview
Dependencies
13
Maintainers
5
Versions
50
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-register

babel require hook


Version published
Maintainers
5
Created

Package description

What is babel-register?

The babel-register package is a tool that allows you to compile ES6/ES7 code on the fly as you run your application. It hooks into Node's require system to automatically transpile files as they are loaded, making it easier to use modern JavaScript features without needing a separate build step.

What are babel-register's main functionalities?

On-the-fly Transpilation

This feature allows you to transpile ES6/ES7 code to ES5 on the fly. By requiring 'babel-register' at the beginning of your application, you can use modern JavaScript syntax in your Node.js projects without a separate build step.

require('babel-register')({
  presets: ['env']
});

// Now you can require ES6/ES7 modules
const myModule = require('./myModule');

Custom Configuration

You can customize the Babel configuration used by babel-register. This allows you to specify presets and plugins to tailor the transpilation process to your needs.

require('babel-register')({
  presets: ['env'],
  plugins: ['transform-runtime']
});

// Now you can require ES6/ES7 modules with custom Babel configuration
const myModule = require('./myModule');

Other packages similar to babel-register

Readme

Source

babel-register

The require hook will bind itself to node's require and automatically compile files on the fly.

One of the ways you can use Babel is through the require hook. The require hook will bind itself to node's require and automatically compile files on the fly. This is equivalent to CoffeeScript's coffee-script/register.

Install

npm install babel-register --save-dev

Usage

require("babel-register");

All subsequent files required by node with the extensions .es6, .es, .jsx and .js will be transformed by Babel.

Polyfill not included

You must include the polyfill separately when using features that require it, like generators.

Ignores node_modules by default

NOTE: By default all requires to node_modules will be ignored. You can override this by passing an ignore regex via:

require("babel-register")({
  // This will override `node_modules` ignoring - you can alternatively pass
  // an array of strings to be explicitly matched or a regex / glob
  ignore: false
});

Specifying options

require("babel-register")({
  // Optional ignore regex - if any filenames **do** match this regex then they
  // aren't compiled.
  ignore: /regex/,

  // Ignore can also be specified as a function.
  ignore: function(filename) {
    if (filename === "/path/to/es6-file.js") {
      return false;
    } else {
      return true;
    }
  },

  // Optional only regex - if any filenames **don't** match this regex then they
  // aren't compiled
  only: /my_es6_folder/,

  // Setting this will remove the currently hooked extensions of .es6, `.es`, `.jsx`
  // and .js so you'll have to add them back if you want them to be used again.
  extensions: [".es6", ".es", ".jsx", ".js"],

  // Setting this to false will disable the cache.
  cache: true
});

You can pass in all other options as well, including plugins and presets. But note that the closest .babelrc to each file still applies, and takes precedence over any options you pass in here.

Environment variables

By default babel-node and babel-register will save to a json cache in your temporary directory.

This will heavily improve with the startup and compilation of your files. There are however scenarios where you want to change this behaviour and there are environment variables exposed to allow you to do this.

BABEL_CACHE_PATH

Specify a different cache location.

BABEL_CACHE_PATH=/foo/my-cache.json babel-node script.js

BABEL_DISABLE_CACHE

Disable the cache.

BABEL_DISABLE_CACHE=1 babel-node script.js

FAQs

Package last updated on 16 Aug 2017

Did you know?

Socket

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
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc