Releases: xojs/xo
v0.25.2
v0.25.1
- Don't report normal TODO comments as errors 4378e83
v0.25.0
Breaking
- Require Node.js 8 8a213ef
- Upgrade to ESLint 6 698b043
- Enforce using the
.json
extension for JSON files in imports 7e56730
New rules
- Add
prefer-named-capture-group
rule (for Node.js >=10 target) 21e7b57 - Add
default-param-last
rule - Add
prefer-regex-literals
rule - Add
no-import-assign
rule - Add
unicorn/expiring-todo-comments
rule - Add
unicorn/no-nested-ternary
rule - Add
unicorn/prefer-reflect-apply
rule - Add
unicorn/prefer-string-slice
rule - Add
unicorn/prefer-dataset
rule - Add
unicorn/no-for-loop
rule - Add
unicorn/no-zero-fractions
rule - Add
unicorn/prefer-includes
rule - Add
unicorn/prefer-text-content
rule - Add
unicorn/prefer-node-remove
rule - Add
unicorn/prefer-event-key
rule - Add
unicorn/prefer-flat-map
rule - Add
node/prefer-promises/fs
rule a3d74a6 - Add
node/prefer-promises/dns
rule 8f8fc94
Enhancements
v0.24.0
Highlights
- You can now click/Command-click the rule IDs in the output to open the rule's docs. Preview. (Only in supported terminals) sindresorhus/eslint-formatter-pretty@7606f98
- Move default ESLint cache to
node_modules/.cache/xo
. (#351) d1fd3e1 - Support parsing ES2019 61f9582
- Drop support for Babel 6 in the
import/no-unassigned-import
rule dd2c015
New rules
padding-line-between-statements
no-useless-catch
unicorn/prefer-query-selector
unicorn/prefer-node-append
unicorn/no-unreadable-array-destructuring
unicorn/no-console-spaces
eslint-comments/disable-enable-pair
eslint-comments/no-aggregating-enable
eslint-comments/no-duplicate-disable
eslint-comments/no-unused-disable
eslint-comments/no-unused-enable
node/prefer-global/buffer
node/prefer-global/console
node/prefer-global/process
node/prefer-global/text-decoder
(When targeting Node.js 11)node/prefer-global/text-encoder
(When targeting Node.js 11)node/prefer-global/url-search-params
(When targeting Node.js 10)node/prefer-global/url
(When targeting Node.js 10)
All changes
v0.23.0
Highlights
- In v0.22.0, we added support for
.ts
and.tsx
extensions by default. This caused a lot of problems for non-TS projects, so it has been reverted pending a better solution. - The
quotes
rule is now set to disallow using template literals when you're not using any interpolation. xojs/eslint-config-xo@ea693f3 - Removed the
no-use-before-define
rule. It has too many false-positives. xojs/eslint-config-xo@1257597
New rules
require-await
unicorn/prefer-exponentiation-operator
unicorn/catch-error-name
(See this thread if you're wondering whyerror
is preferred overerr
) (Sorry about the churn, but this is an important milestone towards more readable code. Code is written once but read many times. We should optimize for the latter.)
All changes
v0.22.0
Highlights
- Upgraded to ESLint 5.
- Removed some patterns from the list of default ignores. They were too opinionated. 00d6b7c 8e4f435
fixture{-*,}.{js,jsx}
fixture{s,}/**
{test,tests,spec,__tests__}/fixture{s,}/**
**/bundle.js
- Added support for TypeScript and documented usage with Flow. 957b0d9
- Now respects
nodeVersion
option set in anoverride
block. 98dee9a - Fixed the CLI's
--space
option parsing. f76c901
New rules
no-misleading-character-class
require-atomic-updates
no-async-promise-executor
ava/no-import-test-file
All changes
v0.21.1
v0.21.0
Highlights
- Dropped support for Node.js 4 and 5 as they reached end of life. Node.js 6 is the minimum required version.
- Upgrade to Prettier 1.12.1.
- The default value for
trailingComma
Prettier option is nownone
. f67ff58 - Disable unicorn/number-literal-case when using Prettier to avoid conflict. 4fd6991
- Ignore
prettier-ignore
comments in capitalized-comments rule. xojs/eslint-config-xo@6e417ff - Fix missed detection of incorrect indentation with indent rule. xojs/eslint-config-xo@145993e
- Allow named function in prefer-arrow-callback. xojs/eslint-config-xo@bda02cb
New rules
- valid-jsdoc
- promise/no-new-statics
- promise/valid-params
- import/no-self-import
- import/no-useless-path-segments
Removed rules
v0.20.0
This release is way overdue, so glad to finally have it out! It includes a major ESLint upgrade, huge performance improvements, Prettier support, lots of new rules, and bug fixes.
The project was recently moved to a GitHub organization, and we got a new team member, Pierre Vanduynslager ✨
We now also have configs for TypeScript (using tslint
) and CSS & Sass (using stylelint
). And don't forget, we already have a config for React.
Many of the new rules in this release are from the eslint-plugin-unicorn
plugin, which could use some contributions.
Highlights
- Upgraded to ESLint 4. a11e288
- Added optional Prettier support. fd89175
- Improved performance. 552cbb1
- Now toggles rules based on the
engines
field inpackage.json
. 0d18368 - Disabled
linebreak-style
rule on Windows. xojs/eslint-config-xo@3f81796 - Made the
spaced-comment
rule more lenient. xojs/eslint-config-xo@e4f1f36 - Now allows
_
as argument name in theno-unused-vars
rule. xojs/eslint-config-xo@dda366b - The
--open
flag now opens errors first and not warnings. 6f6a606 - Removed deprecated
--compact
CLI flag. 652a6e5 - Excluded
babel-register
andbabel-polyfill
from theno-unassigned-import
rule. 70d6ab4 - Sets
ecmaVersion
to2018
. 9859dfb
New rules
22 new rules!
semi-style
xojs/eslint-config-xo@0b1680efor-direction
xojs/eslint-config-xo@c957c7fswitch-colon-spacing
xojs/eslint-config-xo@c1c8fc7no-buffer-constructor
xojs/eslint-config-xo@ee366cbgetter-return
xojs/eslint-config-xo@40e1442function-paren-newline
xojs/eslint-config-xo@9e90fdclines-between-class-members
xojs/eslint-config-xo@c7f63cdarray-bracket-newline
xojs/eslint-config-xo@e2f3748unicorn/prefer-add-event-listener
unicorn/prefer-spread rule
unicorn/no-unsafe-regex
unicorn/error-message
unicorn/import-index
unicorn/new-for-builtins
unicorn/regex-shorthand
unicorn/escape-case
unicorn/no-hex-escape
promise/no-return-wrap
4273f8apromise/no-return-in-finally
4273f8anode/no-unpublished-bin
16fb8e2node/process-exit-as-throw
16fb8e2node/no-deprecated-api
16fb8e2
All changes
Why is this not 0.19.0? That version got tainted by an incorrect publish a long time ago.
0.18.2
We finally fixed all the gitignore issues. Thanks to hard work by @marionebl and @schnittstabil.
The --open
flag now also supports VS Code.