Releases: xojs/xo
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.
0.18.1
Removes the promise/no-promise-in-callback
and promise/no-callback-in-promise
rules. They were more annoying than useful. You usually have to deal with a lot of non-Promise APIs, so I had to disable it too many times. Some APIs will also never be Promise, like events and streams. 2253852
0.18.0
Highlights
- The
esnext
option is nowtrue
by default. This means it now enforces the use of as much ES2015+ syntax as Node.js 4 supports. 61c046c - 21 new rules:
- Unicorn plugin: sindresorhus/eslint-plugin-unicorn@v1.0.0...v2.1.0
- AVA plugin: avajs/eslint-plugin-ava@a0156f1
- Promise plugin: 3e1a318
- ESLint: xojs/eslint-config-xo@v0.17.0...v0.18.0
- 27 additional ESLint rules are now auto-fixable with
$ xo --fix
. - Handle negative gitignore patterns correctly. f8e1e3d
- Vim plugin for XO.
- Added
--stdin-filename
CLI flag. 0d88cde - Added support for auto-fixing code from stdin. 6d6d642
- Added tip on how to use XO with monorepos. cb63c5f
- Removed the
import/no-dynamic-require
rule. 29a5263 - Ignores directories when receiving an empty extension. a0ae248
- Don't trigger import duplication errors for Flow type imports. da188e5
All changes
0.17.0
Check out the new feature highlight on what makes XO awesome.
Also excited to share that Hyper.app is now using XO \o/
Highlights
- Dropped support for Node.js 0.10 and 0.12 as ESLint did it and we had to follow. c9b9b84
- Many new rules (25 in total!) and changes to existing ones:
- ESLint: xojs/eslint-config-xo@v0.15.0...v0.17.0
- Unicorn plugin: sindresorhus/eslint-plugin-unicorn@v0.5.0...v1.0.0
- AVA plugin: avajs/eslint-plugin-ava@v2.0.0...v3.1.0
- Import plugin: e8b0a30
- 25 additional ESLint rules are now auto-fixable with
$ xo --fix
. Try it out when upgrading!
(If you want to convert ES5 syntax to ES6, you might want to run it with$ xo --fix --esnext
) - Removed
babel-eslint
as ESLint now supports async/await. See theparser
option if you still need it, and ensure you havebabel-eslint
indevDependencies
. 04733f1 - Now ignores paths from
.gitignore
. fa99f36 - Added
--quiet
CLI flag. bb76a2d - Added
extension
option. 3c42847 - Added
settings
option. 85c6094 - Added
parser
option. 85c6094 - Added abiliy to skip a package.json file and continue looking for XO config. 8933f51
- Considerable less amount of dependencies resulting in faster install and taking up less diskspace.