Socket
Socket
Sign inDemoInstall

@babel/helper-plugin-utils

Package Overview
Dependencies
0
Maintainers
5
Versions
55
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @babel/helper-plugin-utils

General utilities for plugins to use


Version published
Maintainers
5
Install size
6.33 kB
Created

Package description

What is @babel/helper-plugin-utils?

The @babel/helper-plugin-utils package is designed to simplify the creation and management of Babel plugins. It provides utility functions that help in validating and constructing Babel plugins with the correct structure and options. This package is particularly useful for developers working on custom Babel plugins, as it abstracts away some of the boilerplate code required for plugin development.

What are @babel/helper-plugin-utils's main functionalities?

Creating a simple Babel plugin

This code sample demonstrates how to use the `declare` function from @babel/helper-plugin-utils to create a simple Babel plugin. The `declare` function takes a callback that receives the Babel API, plugin options, and the directory name. Inside the callback, you can define your plugin logic under the `visitor` object, targeting specific types of AST nodes.

const { declare } = require('@babel/helper-plugin-utils');

const myPlugin = declare((api, options, dirname) => {
  api.assertVersion(7);

  return {
    visitor: {
      Identifier(path) {
        // Plugin logic goes here
      }
    }
  };
});

module.exports = myPlugin;

Other packages similar to @babel/helper-plugin-utils

Readme

Source

@babel/helper-plugin-utils

The intention of this module is to provide a place for us to expose a standardized API layer over top of what Babel's core API provides on its own.

This is not aiming to implement APIs that are missing on a given Babel version, but it is means to provide clear error messages if a plugin is run on a version of Babel that doesn't have the APIs that the plugin is trying to use.

Every one of Babel's core plugins and presets will use this module, and ideally because of that its size should be kept to a miminum because this may or may not be deduplicated when installed.

Usage

import { declare } from "@babel/helper-plugin-utils";

export default declare((api, options, dirname) => {
  return {};
});

What this does

Currently, this plugin provides a few services to ensure that plugins function well-enough to throw useful errors.

options is always passed

Babel 6 does not pass a second parameter. This frequently means that plugins written for Babel 7 that use options will attempt to destructure options out of an undefined value. By supplying the default, we avoid that risk.

api.assertVersion always exists

Babel 6 and early betas of Babel 7 do not have assertVersion, so this wrapper ensures that it exists and throws a useful error message when not supplied by Babel itself.

FAQs

Last updated on 25 May 2018

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