babel-plugin-transform-uiw-import
Modular import uiw plugin for babel. compatible with uiw, antd, lodash, material-ui, and so on.
Usage
npm install babel-plugin-transform-uiw-import --save-dev
Via .babelrc
or babel-loader
.
// Input Code;;; // Output ↓ ↓ ↓ ↓ ↓ ↓;;;;
Output Result
- import { Alert } from 'uiw';+ import Alert from "uiw/lib/cjs/alert";- import { CopyToClipboard } from 'uiw';+ import CopyToClipboard from "uiw/lib/cjs/copy-to-clipboard";- import { DateInput, DatePicker } from 'uiw';+ import DateInput from "uiw/lib/cjs/date-input";+ import DatePicker from "uiw/lib/cjs/date-picker";
Options
Default Options
/** * Camel conversion horizontal line interval * @param * `CopyToClipboard` => `copy-to-clipboard` */ { return name} // The default Options uiw: `uiw/lib/cjs/`
transform: string | function(importName: string): string
The library name to use instead of the one specified in the import statement. ${member}
will be replaced with the import name, aka Grid/Row/Col/etc., and ${1-n}
will be replaced by any matched regular expression groups. If using a JS Babel config file, a function may be passed directly. (see Programmatic Usage
)
preventFullImport: boolean
default
false
Whether or not to throw when an import is encountered which would cause the entire module to be imported.
skipDefaultConversion: boolean
default
false
When set to true, will preserve import { X }
syntax instead of converting to import X
.
// Input Code;// Output ↓ ↓ ↓ ↓ ↓ ↓ ====> skipDefaultConversion: true;
- import { Grid as gird } from 'uiw';+ import { Grid as gird } from 'uiw/lib/Grid';
Programmatic Usage
// `CopyToClipboard` => `copy-to-clipboard` { return name;} { return code;} //=> "import CopyToClipboard from "date-fns/copy-to-clipboard";"
License
MIT © Kenny Wong