45 lines
993 B
Markdown
45 lines
993 B
Markdown
|
# import/no-namespace
|
||
|
|
||
|
🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix).
|
||
|
|
||
|
<!-- end auto-generated rule header -->
|
||
|
|
||
|
Enforce a convention of not using namespace (a.k.a. "wildcard" `*`) imports.
|
||
|
|
||
|
The rule is auto-fixable when the namespace object is only used for direct member access, e.g. `namespace.a`.
|
||
|
|
||
|
## Options
|
||
|
|
||
|
This rule supports the following options:
|
||
|
|
||
|
- `ignore`: array of glob strings for modules that should be ignored by the rule.
|
||
|
|
||
|
## Rule Details
|
||
|
|
||
|
Valid:
|
||
|
|
||
|
```js
|
||
|
import defaultExport from './foo'
|
||
|
import { a, b } from './bar'
|
||
|
import defaultExport, { a, b } from './foobar'
|
||
|
```
|
||
|
|
||
|
```js
|
||
|
/* eslint import/no-namespace: ["error", {ignore: ['*.ext']}] */
|
||
|
import * as bar from './ignored-module.ext';
|
||
|
```
|
||
|
|
||
|
Invalid:
|
||
|
|
||
|
```js
|
||
|
import * as foo from 'foo';
|
||
|
```
|
||
|
|
||
|
```js
|
||
|
import defaultExport, * as foo from 'foo';
|
||
|
```
|
||
|
|
||
|
## When Not To Use It
|
||
|
|
||
|
If you want to use namespaces, you don't want to use this rule.
|