Skip to content

Upgrading eslint 3 to 4

Breaking3.19.0 → 4.19.1Breaking18Security1New22Changed94Fixed109Other307

BreakingUpgrade verdict

18 breaking changes and a security fix.

  • Remove array-callback-return from recommended.
  • Tweak space-before-function-paren default option.
  • Remove ecmaFeatures from eslint:recommended.
  • Change defaults for padded-blocks.
Top 4 of 19 that need code or config changes

Adds ajv ^5.3.0, cross-spawn ^5.1.0, eslint-scope ^3.7.1, eslint-visitor-keys ^1.0.0, functional-red-black-tree ^1.0.1, json-stable-stringify-without-jsonify ^1.0.1, minimatch ^3.0.2, regexpp ^1.0.1, semver ^5.3.0, strip-ansi ^4.0.0.

Drops escope, estraverse, is-my-json-valid, json-stable-stringify, shelljs, strip-bom, user-home.

Installs 130 packages in all (was 158).

Breaking18
Remove array-callback-return from recommended.
Tweak space-before-function-paren default option.
Remove ecmaFeatures from eslint:recommended.
ecmaFeatureseslint:recommended
Change defaults for padded-blocks.
New Linter API.
Validate eslintrc properties.
Log number of fixable problems.
Rewrite indent (fixes,,,, ...16 more).
Calculate leading/trailing comments in core.
Traverse into type annotations.
Resolve patterns from .eslintignore directory.
Convert SourceCode to ES6 class.
Update eslint:recommended for 4.0.0.
Infer endLine and endColumn from a reported node.
No-multi-spaces check around inline comments.
Convert CLIEngine to ES6 class.
Disallow scoped plugin references without scope.
Convert RuleTester to ES6 class.
Security1
Remove catastrophic backtracking vulnerability.