Napoleon's Penguin Mascot

    babel-helper-module-imports

    7.0.0-beta.3 • Public • Published

    babel-helper-module-imports

    Installation

    npm install babel-helper-module-imports --save

    Usage

    import "source"

    import { addSideEffect } from "babel-helper-module-imports";
    addSideEffect(path, 'source');

    import { named } from "source"

    import { addNamed } from "babel-helper-module-imports";
    addNamed(path, 'named', 'source');

    import { named as _hintedName } from "source"

    import { addNamed } from "babel-helper-module-imports";
    addNamed(path, 'named', 'source', { nameHint: "hintedName" });

    import _default from "source"

    import { addDefault } from "babel-helper-module-imports";
    addDefault(path, 'source');

    import hintedName from "source"

    import { addDefault } from "babel-helper-module-imports";
    addDefault(path, 'source', { nameHint: "hintedName" })

    import * as _namespace from "source"

    import { addNamespace } from "babel-helper-module-imports";
    addNamespace(path, 'source');

    Examples

    Adding a named import

    import { addNamed } from "babel-helper-module-imports";
     
    export default function({ types: t }) {
      return {
        visitor: {
          ReferencedIdentifier(path) {
            let importName = this.importName;
            if (importName) {
              importName = t.cloneDeep(importName);
            } else {
              // require('bluebird').coroutine
              importName = this.importName = addNamed(path, 'coroutine', 'bluebird');
            }
     
            path.replaceWith(importName);
          }
        },
      };
    }

    Keywords

    none

    Install

    npm i babel-helper-module-imports

    Homepage

    babeljs.io/

    DownloadsWeekly Downloads

    6,058

    Version

    7.0.0-beta.3

    License

    MIT

    Last publish

    Collaborators

    • hzoo