1.0.0 • Published 6 years ago
babel-plugin-import-editor v1.0.0
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
};
}
1.0.0
6 years ago