JSPM

  • Created
  • Published
  • Downloads 55587474
  • Score
    100M100P100Q228212F
  • License MIT

Collection of helper functions used by Babel transforms.

Package Exports

  • @babel/helpers
  • @babel/helpers/lib/helpers
  • @babel/helpers/package.json

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@babel/helpers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@babel/helpers

Collection of helper functions used by Babel transforms.

Install

npm install --save-dev @babel/helpers

Usage

Direct:

import * as helpers from '@babel/helpers';
import * as t from '@babel/types';

const typeofHelper = helpers.get('typeof');

t.isExpressionStatement(typeofHelper);
// true

Inside a plugin:

export default {
  visitor: {
    UnaryExpression(path) {
      // The .addHelper function adds, if needed, the helper to the file
      // and returns an expression which references the helper
      const typeofHelper = this.addHelper("typeof");
      t.isExpression(typeofHelper); // true
  }
};

Defining Helpers

NOTE: This package is only meant to be used by the packages inluded in this repository. There is currently no way for third-party plugins to define an helper.

Helpers are defined in the src/helpers.js file, and they must be valid modules which follow these guidelines:

  • They must have a default export, which is their entry-point.
  • They can import other helpers, exclusively by using default imports.
  • They can't have named exports.
helpers.customHelper = defineHelper(`
  import dep from "dependency";
  const foo = 2;
  export default function getFooTimesDepPlusX(x) {
    return foo * dep() + x;
  }
`);