1.0.0 • Published 6 years ago

babel-plugin-import-editor v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

To use this plugin, add config to your .babelrc as below:

{
  "plugins": [["import-editor",
    // this option object will be passed to your function too
    {
      // module's name or path that can be required
      // and the module should export a function
      "config": "./path/to/my/editor/function.js",
      // visit these props!
      "other-props": "will be passed to your own editor function"
  	}
  ]]
}

You're totally free to do everything with this plugin. Your function will be like:

function factory(option/* the option written in babelrc */) {
   // do something with the option

  /** return your editor, the plugin will invoke it
    * @param [source] {string} - the package or path that is imported
    * @param [specifiers] {array<specifier>} - the collection of specifiers
    * @param [specifier.type] {string} - could be
      * `importSpecifier`: // import 'my-package'
      * `importDefaultSpecifier`: // import MyPkg from 'my-package'
      * `importNamespaceSpecifier`: // import * as MyPkg from 'my-package'
    * @param [specifier.local] {string} - the variable/property name
    * @param [specifier.imported] {string} - the imported variable name
    * @param [filename] {string} - the file's name in which codes are written
  */
  return function editor({ source, specifiers, filename }) {
    // if return `false`, the declatation will be removed
    
    // else if return an array of objects or exactly an object
    // the declaration will be replaced
    // the structure should be the same as the argument
    
    // else nothing happens
  };
}