# babel-plugin-specify-imports

> A Babel plugin that allows you to specify your imports based off a config file.

Latest version **1.1.1** (published 2020-02-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install babel-plugin-specify-imports
pnpm add babel-plugin-specify-imports
yarn add babel-plugin-specify-imports
bun add babel-plugin-specify-imports
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2020-02-11 |
| First published | 2020-02-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 362 |
| Unpacked size | 20.6 KB |
| Known vulnerabilities | 0 (+7 in 7 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | ian.r.band@gmail.com |
| Maintainers | ianband |
| Keywords | babel, import, settings, file |

## Links

- npm: https://www.npmjs.com/package/babel-plugin-specify-imports
- Repository: https://github.com/IanBand/babel-specify-Imports
- Homepage: https://github.com/IanBand/babel-specify-Imports#readme
- Issues: https://github.com/IanBand/babel-specify-Imports/issues
- npm.io page: https://npm.io/package/babel-plugin-specify-imports

## Dependencies (362)

- [co](https://npm.io/package/co.md) ^4.6.0
- [ms](https://npm.io/package/ms.md) ^2.1.2
- [pn](https://npm.io/package/pn.md) ^1.1.0
- [qs](https://npm.io/package/qs.md) ^6.5.2
- [ws](https://npm.io/package/ws.md) ^7.2.1
- [ajv](https://npm.io/package/ajv.md) ^6.11.0
- [has](https://npm.io/package/has.md) ^1.0.3
- [psl](https://npm.io/package/psl.md) ^1.7.0
- [ret](https://npm.io/package/ret.md) ^0.1.15
- [use](https://npm.io/package/use.md) ^3.1.1
- [abab](https://npm.io/package/abab.md) ^2.0.3
- [asn1](https://npm.io/package/asn1.md) ^0.2.4
- [atob](https://npm.io/package/atob.md) ^2.1.2
- [aws4](https://npm.io/package/aws4.md) ^1.9.1
- [base](https://npm.io/package/base.md) ^0.11.2
- [bser](https://npm.io/package/bser.md) ^2.1.1
- [exit](https://npm.io/package/exit.md) ^0.1.2
- [glob](https://npm.io/package/glob.md) ^7.1.6
- [jsbn](https://npm.io/package/jsbn.md) ^0.1.1
- [levn](https://npm.io/package/levn.md) ^0.3.0
- [once](https://npm.io/package/once.md) ^1.4.0
- [pump](https://npm.io/package/pump.md) ^3.0.0
- [rsvp](https://npm.io/package/rsvp.md) ^4.8.5
- [sane](https://npm.io/package/sane.md) ^4.1.0
- [tmpl](https://npm.io/package/tmpl.md) ^1.0.4
- [tr46](https://npm.io/package/tr46.md) ^1.0.1
- [urix](https://npm.io/package/urix.md) ^0.1.0
- [uuid](https://npm.io/package/uuid.md) ^3.4.0
- [y18n](https://npm.io/package/y18n.md) ^4.0.0
- [acorn](https://npm.io/package/acorn.md) ^7.1.0
- [chalk](https://npm.io/package/chalk.md) ^3.0.0
- [cliui](https://npm.io/package/cliui.md) ^6.0.0
- [cssom](https://npm.io/package/cssom.md) ^0.4.4
- [debug](https://npm.io/package/debug.md) ^4.1.1
- [execa](https://npm.io/package/execa.md) ^3.4.0
- [is-ci](https://npm.io/package/is-ci.md) ^2.0.0
- [isexe](https://npm.io/package/isexe.md) ^2.0.0
- [jsdom](https://npm.io/package/jsdom.md) ^15.2.1
- [jsesc](https://npm.io/package/jsesc.md) ^2.5.2
- [json5](https://npm.io/package/json5.md) ^2.1.1
- [kleur](https://npm.io/package/kleur.md) ^3.0.3
- [leven](https://npm.io/package/leven.md) ^3.1.0
- [lolex](https://npm.io/package/lolex.md) ^5.1.2
- [p-try](https://npm.io/package/p-try.md) ^2.2.0
- [saxes](https://npm.io/package/saxes.md) ^3.1.11
- [slash](https://npm.io/package/slash.md) ^3.0.0
- [sshpk](https://npm.io/package/sshpk.md) ^1.16.1
- [which](https://npm.io/package/which.md) ^1.3.1
- [yargs](https://npm.io/package/yargs.md) ^15.1.0
- [braces](https://npm.io/package/braces.md) ^3.0.2
- [expect](https://npm.io/package/expect.md) ^25.1.0
- [extend](https://npm.io/package/extend.md) ^3.0.2
- [for-in](https://npm.io/package/for-in.md) ^1.0.2
- [growly](https://npm.io/package/growly.md) ^1.3.0
- [is-wsl](https://npm.io/package/is-wsl.md) ^2.1.1
- [jsprim](https://npm.io/package/jsprim.md) ^1.4.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.1
- [nwsapi](https://npm.io/package/nwsapi.md) ^2.2.0
- [parse5](https://npm.io/package/parse5.md) ^5.1.0
- [rimraf](https://npm.io/package/rimraf.md) ^3.0.1
- [semver](https://npm.io/package/semver.md) ^6.3.0
- [throat](https://npm.io/package/throat.md) ^5.0.0
- [uri-js](https://npm.io/package/uri-js.md) ^4.2.2
- [verror](https://npm.io/package/verror.md) ^1.10.0
- [walker](https://npm.io/package/walker.md) ^1.0.7
- [wrappy](https://npm.io/package/wrappy.md) ^1.0.2
- [ci-info](https://npm.io/package/ci-info.md) ^2.0.0
- [deep-is](https://npm.io/package/deep-is.md) ^0.1.3
- [esprima](https://npm.io/package/esprima.md) ^4.0.1
- [esutils](https://npm.io/package/esutils.md) ^2.0.3
- [exec-sh](https://npm.io/package/exec-sh.md) ^0.3.4
- [extglob](https://npm.io/package/extglob.md) ^2.0.4
- [find-up](https://npm.io/package/find-up.md) ^4.1.0
- [gensync](https://npm.io/package/gensync.md) ^1.0.0-beta.1
- [getpass](https://npm.io/package/getpass.md) ^0.1.7
- [globals](https://npm.io/package/globals.md) ^11.12.0
- [isarray](https://npm.io/package/isarray.md) ^1.0.0
- [js-yaml](https://npm.io/package/js-yaml.md) ^3.13.1
- [kind-of](https://npm.io/package/kind-of.md) ^3.2.2
- [mime-db](https://npm.io/package/mime-db.md) ^1.43.0
- [onetime](https://npm.io/package/onetime.md) ^5.1.0
- [p-limit](https://npm.io/package/p-limit.md) ^2.2.2
- [pirates](https://npm.io/package/pirates.md) ^4.0.1
- [pkg-dir](https://npm.io/package/pkg-dir.md) ^4.2.0
- [prompts](https://npm.io/package/prompts.md) ^2.3.0
- [request](https://npm.io/package/request.md) ^2.88.0
- [resolve](https://npm.io/package/resolve.md) ^1.1.7
- [anymatch](https://npm.io/package/anymatch.md) ^3.1.1
- [argparse](https://npm.io/package/argparse.md) ^1.0.10
- [arr-diff](https://npm.io/package/arr-diff.md) ^4.0.0
- [asynckit](https://npm.io/package/asynckit.md) ^0.4.0
- [caseless](https://npm.io/package/caseless.md) ^0.12.0
- [cssstyle](https://npm.io/package/cssstyle.md) ^2.2.0
- [dashdash](https://npm.io/package/dashdash.md) ^1.14.1
- [ecc-jsbn](https://npm.io/package/ecc-jsbn.md) ^0.1.2
- [fsevents](https://npm.io/package/fsevents.md) ^2.1.2
- [has-flag](https://npm.io/package/has-flag.md) ^4.0.0
- [inflight](https://npm.io/package/inflight.md) ^1.0.6
- [inherits](https://npm.io/package/inherits.md) ^2.0.4
- [ip-regex](https://npm.io/package/ip-regex.md) ^2.1.0
- [is-regex](https://npm.io/package/is-regex.md) ^1.0.5
- [isobject](https://npm.io/package/isobject.md) ^3.0.1
- [isstream](https://npm.io/package/isstream.md) ^0.1.2
- [jest-cli](https://npm.io/package/jest-cli.md) ^25.1.0
- [make-dir](https://npm.io/package/make-dir.md) ^3.0.0
- [mimic-fn](https://npm.io/package/mimic-fn.md) ^2.1.0
- [minimist](https://npm.io/package/minimist.md) ^1.2.0
- [nice-try](https://npm.io/package/nice-try.md) ^1.0.5
- [p-locate](https://npm.io/package/p-locate.md) ^4.1.0
- [path-key](https://npm.io/package/path-key.md) ^2.0.1
- [punycode](https://npm.io/package/punycode.md) ^2.1.1
- [react-is](https://npm.io/package/react-is.md) ^16.12.0
- [to-regex](https://npm.io/package/to-regex.md) ^3.0.2
- [xmlchars](https://npm.io/package/xmlchars.md) ^2.2.0
- [arr-union](https://npm.io/package/arr-union.md) ^3.1.0
- [aws-sign2](https://npm.io/package/aws-sign2.md) ^0.7.0
- [callsites](https://npm.io/package/callsites.md) ^3.1.0
- [camelcase](https://npm.io/package/camelcase.md) ^5.3.1
- [data-urls](https://npm.io/package/data-urls.md) ^1.1.0
- [escodegen](https://npm.io/package/escodegen.md) ^1.13.0
- [form-data](https://npm.io/package/form-data.md) ^2.3.3
- [get-value](https://npm.io/package/get-value.md) ^2.0.6
- [has-value](https://npm.io/package/has-value.md) ^1.0.0
- [is-buffer](https://npm.io/package/is-buffer.md) ^1.1.6
- [is-number](https://npm.io/package/is-number.md) ^3.0.0
- [is-stream](https://npm.io/package/is-stream.md) ^2.0.0
- [is-symbol](https://npm.io/package/is-symbol.md) ^1.0.3
- [jest-diff](https://npm.io/package/jest-diff.md) ^25.1.0
- [jest-each](https://npm.io/package/jest-each.md) ^25.1.0
- [jest-mock](https://npm.io/package/jest-mock.md) ^25.1.0
- [jest-util](https://npm.io/package/jest-util.md) ^25.1.0
- [js-tokens](https://npm.io/package/js-tokens.md) ^4.0.0
- [makeerror](https://npm.io/package/makeerror.md) ^1.0.11
- [map-cache](https://npm.io/package/map-cache.md) ^0.2.2
- [map-visit](https://npm.io/package/map-visit.md) ^1.0.0
- [minimatch](https://npm.io/package/minimatch.md) ^3.0.4
- [nanomatch](https://npm.io/package/nanomatch.md) ^1.2.13
- [p-finally](https://npm.io/package/p-finally.md) ^2.0.1
- [picomatch](https://npm.io/package/picomatch.md) ^2.2.1
- [regex-not](https://npm.io/package/regex-not.md) ^1.0.2
- [set-value](https://npm.io/package/set-value.md) ^2.0.1
- [strip-bom](https://npm.io/package/strip-bom.md) ^4.0.0
- [strip-eof](https://npm.io/package/strip-eof.md) ^1.0.0
- [tweetnacl](https://npm.io/package/tweetnacl.md) ^0.14.5
- [type-fest](https://npm.io/package/type-fest.md) ^0.8.1
- [word-wrap](https://npm.io/package/word-wrap.md) ^1.2.3
- [wrap-ansi](https://npm.io/package/wrap-ansi.md) ^6.2.0
- [acorn-walk](https://npm.io/package/acorn-walk.md) ^6.2.0
- [ansi-regex](https://npm.io/package/ansi-regex.md) ^5.0.0
- [babel-jest](https://npm.io/package/babel-jest.md) ^25.1.0
- [cache-base](https://npm.io/package/cache-base.md) ^1.0.1
- [color-name](https://npm.io/package/color-name.md) ^1.1.4
- [concat-map](https://npm.io/package/concat-map.md) ^0.0.1
- [decamelize](https://npm.io/package/decamelize.md) ^1.2.0
- [estraverse](https://npm.io/package/estraverse.md) ^4.3.0
- [extsprintf](https://npm.io/package/extsprintf.md) ^1.3.0
- [fill-range](https://npm.io/package/fill-range.md) ^7.0.1
- [get-stream](https://npm.io/package/get-stream.md) ^5.1.0
- [har-schema](https://npm.io/package/har-schema.md) ^2.0.0
- [has-values](https://npm.io/package/has-values.md) ^1.0.0
- [iconv-lite](https://npm.io/package/iconv-lite.md) ^0.4.24
- [is-windows](https://npm.io/package/is-windows.md) ^1.0.2
- [micromatch](https://npm.io/package/micromatch.md) ^4.0.2
- [mime-types](https://npm.io/package/mime-types.md) ^2.1.26
- [min-indent](https://npm.io/package/min-indent.md) ^1.0.0
- [mixin-deep](https://npm.io/package/mixin-deep.md) ^1.3.2
- [node-int64](https://npm.io/package/node-int64.md) ^0.4.0
- [oauth-sign](https://npm.io/package/oauth-sign.md) ^0.9.0
- [optionator](https://npm.io/package/optionator.md) ^0.8.3
- [pascalcase](https://npm.io/package/pascalcase.md) ^0.1.1
- [path-parse](https://npm.io/package/path-parse.md) ^1.0.6
- [prelude-ls](https://npm.io/package/prelude-ls.md) ^1.1.2
- [safe-regex](https://npm.io/package/safe-regex.md) ^1.1.0
- [shellwords](https://npm.io/package/shellwords.md) ^0.1.1
- [sisteransi](https://npm.io/package/sisteransi.md) ^1.0.4
- [snapdragon](https://npm.io/package/snapdragon.md) ^0.8.2
- [source-map](https://npm.io/package/source-map.md) ^0.6.1
- [sprintf-js](https://npm.io/package/sprintf-js.md) ^1.0.3
- [strip-ansi](https://npm.io/package/strip-ansi.md) ^6.0.0
- [type-check](https://npm.io/package/type-check.md) ^0.3.2
- [whatwg-url](https://npm.io/package/whatwg-url.md) ^7.1.0
- [ansi-styles](https://npm.io/package/ansi-styles.md) ^4.2.1
- [arr-flatten](https://npm.io/package/arr-flatten.md) ^1.1.0
- [array-equal](https://npm.io/package/array-equal.md) ^1.0.0
- [assert-plus](https://npm.io/package/assert-plus.md) ^1.0.0
- [buffer-from](https://npm.io/package/buffer-from.md) ^1.1.1
- [class-utils](https://npm.io/package/class-utils.md) ^0.3.6
- [cross-spawn](https://npm.io/package/cross-spawn.md) ^7.0.1
- [emoji-regex](https://npm.io/package/emoji-regex.md) ^8.0.0
- [es-abstract](https://npm.io/package/es-abstract.md) ^1.17.4
- [fb-watchman](https://npm.io/package/fb-watchman.md) ^2.0.1
- [fs.realpath](https://npm.io/package/fs.realpath.md) ^1.0.0
- [graceful-fs](https://npm.io/package/graceful-fs.md) ^4.2.3
- [has-symbols](https://npm.io/package/has-symbols.md) ^1.0.1
- [imurmurhash](https://npm.io/package/imurmurhash.md) ^0.1.4
- [is-callable](https://npm.io/package/is-callable.md) ^1.1.5
- [jest-config](https://npm.io/package/jest-config.md) ^25.1.0
- [jest-runner](https://npm.io/package/jest-runner.md) ^25.1.0
- [jest-worker](https://npm.io/package/jest-worker.md) ^25.1.0
- [json-schema](https://npm.io/package/json-schema.md) ^0.2.3
- [locate-path](https://npm.io/package/locate-path.md) ^5.0.0
- [object-copy](https://npm.io/package/object-copy.md) ^0.1.0
- [object-keys](https://npm.io/package/object-keys.md) ^1.1.1
- [object.pick](https://npm.io/package/object.pick.md) ^1.3.0
- [path-exists](https://npm.io/package/path-exists.md) ^4.0.0
- [resolve-cwd](https://npm.io/package/resolve-cwd.md) ^3.0.0
- [resolve-url](https://npm.io/package/resolve-url.md) ^0.2.1
- [safe-buffer](https://npm.io/package/safe-buffer.md) ^5.2.0
- [signal-exit](https://npm.io/package/signal-exit.md) ^3.0.2
- [stack-utils](https://npm.io/package/stack-utils.md) ^1.0.2
- [symbol-tree](https://npm.io/package/symbol-tree.md) ^3.2.4
- [type-detect](https://npm.io/package/type-detect.md) ^4.0.8
- [union-value](https://npm.io/package/union-value.md) ^1.0.1
- [unset-value](https://npm.io/package/unset-value.md) ^1.0.0
- [w3c-hr-time](https://npm.io/package/w3c-hr-time.md) ^1.0.1
- [ansi-escapes](https://npm.io/package/ansi-escapes.md) ^4.3.0
- [array-unique](https://npm.io/package/array-unique.md) ^0.3.2
- [astral-regex](https://npm.io/package/astral-regex.md) ^1.0.0
- [bcrypt-pbkdf](https://npm.io/package/bcrypt-pbkdf.md) ^1.0.2
- [capture-exit](https://npm.io/package/capture-exit.md) ^2.0.0
- [core-util-is](https://npm.io/package/core-util-is.md) ^1.0.2
- [domexception](https://npm.io/package/domexception.md) ^1.0.1
- [html-escaper](https://npm.io/package/html-escaper.md) ^2.0.0
- [import-local](https://npm.io/package/import-local.md) ^3.0.2
- [jest-resolve](https://npm.io/package/jest-resolve.md) ^25.1.0
- [jest-runtime](https://npm.io/package/jest-runtime.md) ^25.1.0
- [jest-watcher](https://npm.io/package/jest-watcher.md) ^25.1.0
- [merge-stream](https://npm.io/package/merge-stream.md) ^2.0.0
- [npm-run-path](https://npm.io/package/npm-run-path.md) ^4.0.1
- [object-visit](https://npm.io/package/object-visit.md) ^1.0.1
- [resolve-from](https://npm.io/package/resolve-from.md) ^5.0.0
- [safer-buffer](https://npm.io/package/safer-buffer.md) ^2.1.2
- [set-blocking](https://npm.io/package/set-blocking.md) ^2.0.0
- [split-string](https://npm.io/package/split-string.md) ^3.1.0
- [string-width](https://npm.io/package/string-width.md) ^4.2.0
- [strip-indent](https://npm.io/package/strip-indent.md) ^3.0.0
- [test-exclude](https://npm.io/package/test-exclude.md) ^6.0.0
- [tough-cookie](https://npm.io/package/tough-cookie.md) ^3.0.1
- [tunnel-agent](https://npm.io/package/tunnel-agent.md) ^0.6.0
- [which-module](https://npm.io/package/which-module.md) ^2.0.0
- [yargs-parser](https://npm.io/package/yargs-parser.md) ^16.1.0
- [acorn-globals](https://npm.io/package/acorn-globals.md) ^4.3.4
- [color-convert](https://npm.io/package/color-convert.md) ^2.0.1
- [end-of-stream](https://npm.io/package/end-of-stream.md) ^1.4.4
- [forever-agent](https://npm.io/package/forever-agent.md) ^0.6.1
- [function-bind](https://npm.io/package/function-bind.md) ^1.1.1
- [har-validator](https://npm.io/package/har-validator.md) ^5.1.3
- [human-signals](https://npm.io/package/human-signals.md) ^1.1.1
- [is-descriptor](https://npm.io/package/is-descriptor.md) ^1.0.2
- [is-extendable](https://npm.io/package/is-extendable.md) ^0.1.1
- [is-typedarray](https://npm.io/package/is-typedarray.md) ^1.0.0
- [jest-docblock](https://npm.io/package/jest-docblock.md) ^25.1.0
- [jest-get-type](https://npm.io/package/jest-get-type.md) ^25.1.0
- [jest-jasmine2](https://npm.io/package/jest-jasmine2.md) ^25.1.0
- [jest-snapshot](https://npm.io/package/jest-snapshot.md) ^25.1.0
- [jest-validate](https://npm.io/package/jest-validate.md) ^25.1.0
- [lodash.sortby](https://npm.io/package/lodash.sortby.md) ^4.7.0
- [node-notifier](https://npm.io/package/node-notifier.md) ^6.0.0
- [object.assign](https://npm.io/package/object.assign.md) ^4.1.0
- [p-each-series](https://npm.io/package/p-each-series.md) ^2.1.0
- [pretty-format](https://npm.io/package/pretty-format.md) ^25.1.0
- [repeat-string](https://npm.io/package/repeat-string.md) ^1.6.1
- [shebang-regex](https://npm.io/package/shebang-regex.md) ^3.0.0
- [static-extend](https://npm.io/package/static-extend.md) ^0.1.2
- [string-length](https://npm.io/package/string-length.md) ^3.1.0
- [terminal-link](https://npm.io/package/terminal-link.md) ^2.1.1
- [assign-symbols](https://npm.io/package/assign-symbols.md) ^1.0.0
- [balanced-match](https://npm.io/package/balanced-match.md) ^1.0.0
- [delayed-stream](https://npm.io/package/delayed-stream.md) ^1.0.0
- [detect-newline](https://npm.io/package/detect-newline.md) ^3.1.0
- [diff-sequences](https://npm.io/package/diff-sequences.md) ^25.1.0
- [extend-shallow](https://npm.io/package/extend-shallow.md) ^2.0.1
- [fragment-cache](https://npm.io/package/fragment-cache.md) ^0.2.1
- [http-signature](https://npm.io/package/http-signature.md) ^1.2.0
- [is-date-object](https://npm.io/package/is-date-object.md) ^1.0.2
- [jest-haste-map](https://npm.io/package/jest-haste-map.md) ^25.1.0
- [normalize-path](https://npm.io/package/normalize-path.md) ^3.0.0
- [object-inspect](https://npm.io/package/object-inspect.md) ^1.7.0
- [repeat-element](https://npm.io/package/repeat-element.md) ^1.1.3
- [source-map-url](https://npm.io/package/source-map-url.md) ^0.4.0
- [supports-color](https://npm.io/package/supports-color.md) ^7.1.0
- [to-object-path](https://npm.io/package/to-object-path.md) ^0.3.0
- [to-regex-range](https://npm.io/package/to-regex-range.md) ^5.0.1
- [util.promisify](https://npm.io/package/util.promisify.md) ^1.0.1
- [v8-to-istanbul](https://npm.io/package/v8-to-istanbul.md) ^4.0.1
- [brace-expansion](https://npm.io/package/brace-expansion.md) ^1.1.11
- [browser-resolve](https://npm.io/package/browser-resolve.md) ^1.11.3
- [combined-stream](https://npm.io/package/combined-stream.md) ^1.0.8
- [copy-descriptor](https://npm.io/package/copy-descriptor.md) ^0.1.1
- [define-property](https://npm.io/package/define-property.md) ^0.2.5
- [es-to-primitive](https://npm.io/package/es-to-primitive.md) ^1.2.1
- [expand-brackets](https://npm.io/package/expand-brackets.md) ^2.1.4
- [fast-deep-equal](https://npm.io/package/fast-deep-equal.md) ^3.1.1
- [get-caller-file](https://npm.io/package/get-caller-file.md) ^2.0.5
- [is-generator-fn](https://npm.io/package/is-generator-fn.md) ^2.1.0
- [is-plain-object](https://npm.io/package/is-plain-object.md) ^2.0.4
- [jest-regex-util](https://npm.io/package/jest-regex-util.md) ^25.1.0
- [jest-serializer](https://npm.io/package/jest-serializer.md) ^25.1.0
- [natural-compare](https://npm.io/package/natural-compare.md) ^1.4.0
- [performance-now](https://npm.io/package/performance-now.md) ^2.1.0
- [realpath-native](https://npm.io/package/realpath-native.md) ^1.1.0
- [shebang-command](https://npm.io/package/shebang-command.md) ^2.0.0
- [snapdragon-node](https://npm.io/package/snapdragon-node.md) ^2.1.1
- [snapdragon-util](https://npm.io/package/snapdragon-util.md) ^3.0.1
- [whatwg-encoding](https://npm.io/package/whatwg-encoding.md) ^1.0.5
- [whatwg-mimetype](https://npm.io/package/whatwg-mimetype.md) ^2.3.0
- [collection-visit](https://npm.io/package/collection-visit.md) ^1.0.0
- [fast-levenshtein](https://npm.io/package/fast-levenshtein.md) ^2.0.6
- [istanbul-reports](https://npm.io/package/istanbul-reports.md) ^3.0.0
- [lodash.mergewith](https://npm.io/package/lodash.mergewith.md) ^4.6.2
- [path-is-absolute](https://npm.io/package/path-is-absolute.md) ^1.0.1
- [stealthy-require](https://npm.io/package/stealthy-require.md) ^1.1.1
- [babel-preset-jest](https://npm.io/package/babel-preset-jest.md) ^25.1.0
- [component-emitter](https://npm.io/package/component-emitter.md) ^1.3.0
- [define-properties](https://npm.io/package/define-properties.md) ^1.1.3
- [jest-message-util](https://npm.io/package/jest-message-util.md) ^25.1.0
- [jest-pnp-resolver](https://npm.io/package/jest-pnp-resolver.md) ^1.2.1
- [require-directory](https://npm.io/package/require-directory.md) ^2.1.1
- [w3c-xmlserializer](https://npm.io/package/w3c-xmlserializer.md) ^1.1.2
- [write-file-atomic](https://npm.io/package/write-file-atomic.md) ^3.0.1
- [convert-source-map](https://npm.io/package/convert-source-map.md) ^1.7.0
- [is-data-descriptor](https://npm.io/package/is-data-descriptor.md) ^1.0.0
- [jest-changed-files](https://npm.io/package/jest-changed-files.md) ^25.1.0
- [jest-leak-detector](https://npm.io/package/jest-leak-detector.md) ^25.1.0
- [jest-matcher-utils](https://npm.io/package/jest-matcher-utils.md) ^25.1.0
- [source-map-resolve](https://npm.io/package/source-map-resolve.md) ^0.5.3
- [source-map-support](https://npm.io/package/source-map-support.md) ^0.5.16
- [to-fast-properties](https://npm.io/package/to-fast-properties.md) ^2.0.0
- [webidl-conversions](https://npm.io/package/webidl-conversions.md) ^4.0.2
- [xml-name-validator](https://npm.io/package/xml-name-validator.md) ^3.0.0
- [collect-v8-coverage](https://npm.io/package/collect-v8-coverage.md) ^1.0.0
- [istanbul-lib-report](https://npm.io/package/istanbul-lib-report.md) ^3.0.0
- [json-stringify-safe](https://npm.io/package/json-stringify-safe.md) ^5.0.1
- [node-modules-regexp](https://npm.io/package/node-modules-regexp.md) ^1.0.0
- [strip-final-newline](https://npm.io/package/strip-final-newline.md) ^2.0.0
- [supports-hyperlinks](https://npm.io/package/supports-hyperlinks.md) ^2.0.0
- [decode-uri-component](https://npm.io/package/decode-uri-component.md) ^0.2.0
- [escape-string-regexp](https://npm.io/package/escape-string-regexp.md) ^1.0.5
- [json-schema-traverse](https://npm.io/package/json-schema-traverse.md) ^0.4.1
- [request-promise-core](https://npm.io/package/request-promise-core.md) ^1.1.3
- [typedarray-to-buffer](https://npm.io/package/typedarray-to-buffer.md) ^3.1.5
- [babel-plugin-istanbul](https://npm.io/package/babel-plugin-istanbul.md) ^6.0.0
- [html-encoding-sniffer](https://npm.io/package/html-encoding-sniffer.md) ^1.0.2
- [istanbul-lib-coverage](https://npm.io/package/istanbul-lib-coverage.md) ^3.0.0
- [jest-environment-node](https://npm.io/package/jest-environment-node.md) ^25.1.0
- [require-main-filename](https://npm.io/package/require-main-filename.md) ^2.0.0
- [browser-process-hrtime](https://npm.io/package/browser-process-hrtime.md) ^0.1.3
- [is-accessor-descriptor](https://npm.io/package/is-accessor-descriptor.md) ^1.0.0
- [jest-environment-jsdom](https://npm.io/package/jest-environment-jsdom.md) ^25.1.0
- [request-promise-native](https://npm.io/package/request-promise-native.md) ^1.0.8
- [babel-plugin-jest-hoist](https://npm.io/package/babel-plugin-jest-hoist.md) ^25.1.0
- [is-fullwidth-code-point](https://npm.io/package/is-fullwidth-code-point.md) ^3.0.0
- [istanbul-lib-instrument](https://npm.io/package/istanbul-lib-instrument.md) ^4.0.0
- [posix-character-classes](https://npm.io/package/posix-character-classes.md) ^0.1.1
- [istanbul-lib-source-maps](https://npm.io/package/istanbul-lib-source-maps.md) ^4.0.0
- [jest-resolve-dependencies](https://npm.io/package/jest-resolve-dependencies.md) ^25.1.0
- [remove-trailing-separator](https://npm.io/package/remove-trailing-separator.md) ^1.1.0
- [string.prototype.trimleft](https://npm.io/package/string.prototype.trimleft.md) ^2.1.1
- [fast-json-stable-stringify](https://npm.io/package/fast-json-stable-stringify.md) ^2.1.0
- [string.prototype.trimright](https://npm.io/package/string.prototype.trimright.md) ^2.1.1
- [object.getownpropertydescriptors](https://npm.io/package/object.getownpropertydescriptors.md) ^2.1.0

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 1.1.1 (latest) — 2020-02-11
- 1.1.0 — 2020-02-11
- 1.0.0 — 2020-02-07

## README

# Specify Imports

A Babel plugin that allows you to specify your imports based off a config file.

A good use case for this plugin would be a project that will be built many different times, and each build requires a different set of components. Instead of inculding each component for every different build, you can use Specify Imports to import only the required modules for that build.

# Installation
```
$ npm install babel-specify-imports
```
# Usage
In your .babelrc, or wherever your plugins are defined, specify the imports by defining moduleListPath. This path is relative to process.cwd().
``` javascript
{
    plugins: [
        ["specify-imports", {
            "moduleListPath": "path/to/settings.js",
            "extensions" : 'js',
            }
        ]
    ]
}
```

settings.js should export the list of module names that you want to use
```javascript
module.exports = {
    moduleList: [
        "myModule",
        "aCustomModule",
        "awesomeComponent"
    ]
}
```

However, a more useful way to export the module list would be something like this
```javascript
const settings = {
    views: [
        {
            moduleName: "myModule",
            viewSettings: {}
        },
        {
            moduleName: "aCustomModule",
            viewSettings: {}
        },
        {
            moduleName: "awesomeComponent",
            viewSettings: {}
        }
    ]
}
module.exports = {
    settings: settings, // to be used elsewhere in the project
    moduleList: settings.views.map(view => view.moduleName) // used by specify-import
}
```

In the file that you want to import your modules into, indicate that you will be using Specify Imports by using the "\[list]" identifier and a relative path. Specify Imports will not modify any other import statements.
```javascript
import myModules from './modules/[list]'; 
```

This will cause the above import statement to transpile into:
```javascript
const myModules = {};
import  myThirdModule2 from "./modules/myThirdModule.js";
myModules["myThirdModule"] =  myThirdModule2;
import  myOtherModule1 from "./modules/myOtherModule.js";
myModules["myOtherModule"] =  myOtherModule1;
import  myModule0 from "./modules/myModule.js";
myModules["myModule"] =  myModule0;
```

The modules can be referenced like any object member
```javascript 
myModules.myOtherModule1.doSomething();
```

But its typically most useful to iterate through the parent object with a for...in loop, or another method.
```javascript
for(const myModule in myModules){
    // do something with each imported module
}
```
# Other Features
Specify Imports checks for the existance of a file before including it.

# Future Features
- Allow for granular specification of file types, or, let users associate module names with file extensions
- Support multiple list identifiers. eg: \[list1], \[list2]


# References
- https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md
- https://github.com/babel-utils/babel-plugin-tester
- https://github.com/vihanb/babel-plugin-wildcard/
- https://stackoverflow.com/a/36755665


[//]: # (vscode markdown preview shortcut is command + shift + v)

---
_Source: https://npm.io/package/babel-plugin-specify-imports · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
