- [new] added ability to customize indentation and quotes in eslint config per-project
- [new] added configuration for React
- [new] added configuration for Typescript
- [new] added ability to pass environment variable, which will make some rules to only warn instead of error (e.g. in development)
- [breaking] the way of initializing the library has changed (see readme.md for more info)
- [breaking] disallowed unnecessary boolean casts: no-extra-boolean-cast
- [breaking] enabled import/order rule
- [breaking] enabled no-constant-condition rule
- [breaking] enabled no-console rule
- [breaking] warn in development / error in production if
TODO BEFORE COMMIT
andTODO BEFORE MERGE
commits used no-warning-comments - [patch] allowed usage of
for in
andfor of
rules: no-restricted-syntax - [patch] allowed unnecessary parentheses: no-extra-parens
- [patch] disabled require-default-props rule in typescript projects
- [patch] warn in development / error in production: consistent-return
- [patch] warn in development / error in production: no-unused-expressions
- [patch] warn in development / error in production: no-console
- [patch] warn in development / error in production: no-constant-condition
- [patch] warn in development / error in production: no-debugger
- [patch] warn in development / error in production: no-unused-vars
- [patch] warn in development / error in production: react/jsx-boolean-value
- [patch] warn in development / error in production: react/prop-types
- [patch] warn in development / error in production: react/no-unused-prop-types
- [patch] warn in development / error in production: no-unreachable
- [doc] updated installation instructions
- [new] added support of eslint v7
- [breaking] disallowed empty lines at the beginning of file (no-multiple-empty-lines, option maxBOF set)
- [breaking] disallowed useless path segments for common.js modules imports (import/no-useless-path-segments)
- [patch] disabled import/no-extraneous-dependencies rule for Karma and ESLint configs.
- [patch] allowed triple slash comments (for TypeScript)
- [patch] written better error description for restricted globals
isFinite
andisNaN
- [fix] bad syntax of import/no-cycle rule
- [doc] updated installation instructions
- [new] added support of eslint v6
- [breaking] dropped support of eslint v4
- [breaking] dropped support of node.js v4
- [patch] wrongly published npm package
- [new] added eslint v5 rules
- [breaking] minimum supported versions of eslint are: 4.19.1+ and 5.3.0+
- [breaking] minimum supported version of node: 4+
- [breaking] removed "node" from default env settings
- [breaking] disallowed usage of
isNaN
andisFinite
functions (useNumber.isNaN
orNumber.isFinite
instead) - [breaking] disallowed mixing of '%' and '**' operators with other arithmetic operators
- [breaking] disallowed ".mjs" file extension in import statements
- [breaking] disallowed cycle imports (import/no-cycle)
- [breaking] disallowed useless path segments (import/no-useless-path-segments)
- [breaking] enforced spaces after
/*
and before*/
(spaced-comment, option "balanced" set to true) - [breaking] enforced an empty line between class members (lines-between-class-members)
- [breaking] disallowed a newline before a single-line statement (nonblock-statement-body-position, option "beside" set)
- [breaking] disallowed a newline before an arrow function body (implicit-arrow-linebreak, option "beside" set)
- [breaking] promises should be rejected only with an instance of Error object or undefined (prefer-promise-reject-errors, option "allowEmptyReject" set to true)
- [breaking] disallowed async promise executor (no-async-promise-executor)
- [breaking] disallowed usage of Buffer constructor (no-buffer-constructor)
- [breaking] disallowed return assignments even if they are enclosed in parentheses (no-return-assign)
- [breaking] disallowed self assignments of object props (no-self-assign)
- [breaking] disallowed useless catch statements (no-useless-catch)
- [breaking] disallowed comparison with negative zero (no-compare-neg-zero)
- [breaking] enforced consistent line breaks inside parentheses of function arguments (function-paren-newline, option "consistent" set)
- [breaking] enforced that semicolons are at the end of statements (semi-style, option "last" set)
- [breaking] enforced space to be after colon of switch statement (switch-colon-spacing, option "after" set to true, option "before" set to false)
- [breaking] disallowed space between template tags and their literals (template-tag-spacing, option "never" set)
- [breaking] disallowed a module from importing itself (no-self-import)
- [breaking] converted config files from json to js
- [breaking] removed editorconfig files
- [non-breaking] allowed to use class methods without this (disabled class-methods-use-this)
- [non-breaking] allowed to reassign params of functions (disabled no-param-reassign)
- [patch] extended list of file patters that will not forbid the use of devDependencies
- [patch] updated base ecmaVersion to 2018; removed deprecated experimentalObjectRestSpread option
- [fix] error "no eslint-plugin-import found" in 1__double_quotes_and_tabs config
- [refactor] moved common configs rules to separate file
- [deps] added peer dependencies from
eslint-plugin-import
andeslint
- [doc] updated installation instructions + added CHANGELOG.md file
- [new] first version of config