import-js/eslint-plugin-import
View on GitHubNew rules regarding namespaces used as values
Open
#532 opened on Aug 29, 2016
acceptedhelp wantedrule proposalsemver-minor
Repository metrics
- Stars
- (4,946 stars)
- PR merge metrics
- (Avg merge 138d 22h) (3 merged PRs in 30d)
Description
The following patterns are considered not warnings:
import * as foo from "./foo";
foo.bar();
const baz = foo.baz;
const {property} = foo;
The following patterns are considered warnings:
import * as foo from "./foo";
foo();
const [value] = foo;
func(foo);
func(...foo);
const alias = foo;
const {child} = foo; // foo.child is an exported namespace
Basically, warn if a namespace is used in a way that cannot be validated (aliased, called, destructured as array, passed as argument, etc.). There's no overlap with namespace.allowComputed in the above, but that option could be merged into this one, or these merged into another namespace option.