All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. This change log adheres to standards from Keep a CHANGELOG.
export * from 'foo'
now properly ignores adefault
export fromfoo
, if any. (#328/#332, thanks @jkimbo) This impacts all static analysis of imported names. (default
,named
,namespace
,export
)
1.8.0 - 2016-05-11
prefer-default-export
, new rule. (#308, thanks @gavriguy)
- Ignore namespace / ES7 re-exports in
no-mutable-exports
. (#317, fixed by #322. thanks @borisyankov + @jfmengels) - Make
no-extraneous-dependencies
handle scoped packages (#316, thanks @jfmengels)
1.7.0 - 2016-05-06
newline-after-import
, new rule. (#245, thanks @singles)- Added an
optionalDependencies
option tono-extraneous-dependencies
to allow/forbid optional dependencies (#266, thanks @jfmengels). - Added
newlines-between
option toorder
rule (#298, thanks @singles) - add
no-mutable-exports
rule (#290, thanks @josh) import/extensions
setting: a whitelist of file extensions to parse as modules and search forexport
s. If unspecified, all extensions are considered valid (for now). In v2, this will likely default to['.js', MODULE_EXT]
. (#297, to fix #267)
extensions
: fallback to source path for extension enforcement if imported module is not resolved. Also, never report for builtins (i.e.path
). (#296)
1.6.1 - 2016-04-28
no-named-as-default-member
: don't crash on rest props. (#281, thanks @SimenB)- support for Node 6: don't pass
null
topath
functions. Thanks to @strawbrary for bringing this up (#272) and adding OSX support to the Travis config (#288).
interpret
dependency was declared in the wrongpackage.json
. Thanks @jonboiser for sleuthing (#286) and fixing (#289).
interpret
configs (such as.babel.js
). Thanks to @gausie for the initial PR (#164, ages ago! 😅) and @jquense for tests (#278).
1.6.0 - 2016-04-25
- add
no-named-as-default-member
towarnings
canned config - add
no-extraneous-dependencies
rule (#241, thanks @jfmengels) - add
extensions
rule (#250, thanks @lo1tuma) - add
no-nodejs-modules
rule (#261, thanks @jfmengels) - add
order
rule (#247, thanks @jfmengels) - consider
resolve.fallback
config option in the webpack resolver (#254)
imports-first
now allows directives (i.e.'use strict'
) strictly before any imports (#256, thanks @lemonmade)
named
now properly ignores the source module if a name is re-exported from an ignored file (i.e.node_modules
). Also improved the reported error. (thanks to @jimbolla for reporting)no-named-as-default-member
had a crash on destructuring in loops (thanks for heads up from @lemonmade)
1.5.0 - 2016-04-18
- report resolver errors at the top of the linted file
- add
no-namespace
rule (#239, thanks @singles) - add
no-named-as-default-member
rule (#243, thanks @dmnd)
- Rearranged rule groups in README in preparation for more style guide rules
1.4.0 - 2016-03-25
- Resolver plugin interface v2: more explicit response format that more clearly covers the found-but-core-module case, where there is no path. Still backwards-compatible with the original version of the resolver spec.
- Resolver documentation
- using
package.json/files
instead of.npmignore
for package file inclusion (#228, thanks @mathieudutour) - using
es6-*
ponyfills instead ofbabel-runtime
1.3.0 - 2016-03-20
Major perf improvements. Between parsing only once and ignoring gigantic, non-module node_modules
,
there is very little added time.
My test project takes 17s to lint completely, down from 55s, when using the
memoizing parser, and takes only 27s with naked babel-eslint
(thus, reparsing local modules).
- Huge reduction in execution time by only ignoring
import/ignore
setting if something that looks like anexport
is detected in the module content.
1.2.0 - 2016-03-19
Thanks @lencioni for identifying a huge amount of rework in resolve and kicking off a bunch of memoization.
I'm seeing 62% improvement over my normal test codebase when executing only
no-unresolved
in isolation, and ~35% total reduction in lint time.
- added caching to core/resolve via #214, configured via
import/cache
setting
1.1.0 - 2016-03-15
- Added an
ignore
option tono-unresolved
for those pesky files that no resolver can find. (still prefer enhancing the Webpack and Node resolvers to using it, though). See #89 for details.
1.0.4 - 2016-03-11
- respect hoisting for deep namespaces (
namespace
/no-deprecated
) (#211)
1.0.3 - 2016-02-26
- no-deprecated follows deep namespaces (#191)
namespace
no longer flags modules with only a default export as having no names. (ns.default is valid ES6)
1.0.2 - 2016-02-26
- don't parse imports with no specifiers (#192)
1.0.1 - 2016-02-25
- export
stage-0
shared config - documented
no-deprecated
- deep namespaces are traversed regardless of how they get imported (#189)
1.0.0 - 2016-02-24
no-deprecated
: WIP rule to let you know at lint time if you're using deprecated functions, constants, classes, or modules.
1.0.0-beta.0 - 2016-02-13
- support for (only) ESLint 2.x
- no longer needs/refers to
import/parser
orimport/parse-options
. Instead, ESLint provides the configured parser + options to the rules, and they use that to parse dependencies.
babylon
as default import parser (see Breaking)
0.13.0 - 2016-02-08
no-commonjs
ruleno-amd
rule
- Removed vestigial
no-require
rule.no-commonjs
is more complete.
0.12.2 - 2016-02-06 [YANKED]
Unpublished from npm and re-released as 0.13.0. See #170.
0.12.1 - 2015-12-17
- Broke docs for rules out into individual files.
0.12.0 - 2015-12-14
- Ignore
import/ignore
setting if exports are actually found in the parsed module. Does this to support use ofjsnext:main
innode_modules
without the pain of managing a whitelist or a nuanced blacklist.
0.11.0 - 2015-11-27
- Resolver plugins. Now the linter can read Webpack config, properly follow aliases and ignore externals, dismisses inline loaders, etc. etc.!
See GitHub release notes for info on changes for earlier releases.