JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 111320
  • Score
    100M100P100Q162475F
  • License MIT

A babel transform for filtering out imports

Package Exports

  • babel-plugin-filter-imports

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-plugin-filter-imports) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

babel-plugin-filter-imports

Build Status npm Greenkeeper badge

This babel plugin is used to removed references to imports within a module. This can be useful for removing debugging statements when doing a production build of your code. It is often used in conjunction with other tools like Uglify that perform dead code elimination.

Installation

$ yarn add --dev babel-plugin-filter-imports

This plugin is for Babel 7. If you need to support:

  • Babel 6 use the babel6 branch
  • Babel 5 use the v0.2.x branch

Example

Given the .babelrc

{
  "plugins": [["filter-imports", {
    "imports": {
      "debugging-tools": [ "warn" ]
    }
  }]]
}

the module

import { warn } from 'debugging-tools';

function join(args, sep) {
  if (arguments.length > 2) {
    warn("join expects at most 2 arguments");
  }
  return args.join(sep);
}

will be transformed to

function join(args, sep) {
  if (arguments.length > 2) {
  }
  return args.join(sep);
}

Configuration

  • options[keepImports] [Boolean]: An flag that indicates imports removal from header.
  • options[imports] [Object]: An object whose keys are names of modules.
  • options[imports][moduleName] [String]: An array of names of imports from moduleName to be removed. You can include 'default' for default export and '*' for a namespace export.

Upgrade to 1.x/2.x

There were breaking changes in the plugin configuration, you must update it to work correctly.

Before 1.x
{
  "plugins": [["filter-imports", {
    "debugging-tools": [ "warn" ]
  }]]
}
After
{
  "plugins": [["filter-imports", {
    "imports": {
      "debugging-tools": [ "warn" ]
    }
  }]]
}