Releases: xojs/xo
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
nodeVersionoption set in anoverrideblock. 98dee9a - Fixed the CLI's
--spaceoption parsing. f76c901
New rules
no-misleading-character-classrequire-atomic-updatesno-async-promise-executorava/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
trailingCommaPrettier option is nownone. f67ff58 - Disable unicorn/number-literal-case when using Prettier to avoid conflict. 4fd6991
- Ignore
prettier-ignorecomments 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
enginesfield inpackage.json. 0d18368 - Disabled
linebreak-stylerule on Windows. xojs/eslint-config-xo@3f81796 - Made the
spaced-commentrule more lenient. xojs/eslint-config-xo@e4f1f36 - Now allows
_as argument name in theno-unused-varsrule. xojs/eslint-config-xo@dda366b - The
--openflag now opens errors first and not warnings. 6f6a606 - Removed deprecated
--compactCLI flag. 652a6e5 - Excluded
babel-registerandbabel-polyfillfrom theno-unassigned-importrule. 70d6ab4 - Sets
ecmaVersionto2018. 9859dfb
New rules
22 new rules!
semi-stylexojs/eslint-config-xo@0b1680efor-directionxojs/eslint-config-xo@c957c7fswitch-colon-spacingxojs/eslint-config-xo@c1c8fc7no-buffer-constructorxojs/eslint-config-xo@ee366cbgetter-returnxojs/eslint-config-xo@40e1442function-paren-newlinexojs/eslint-config-xo@9e90fdclines-between-class-membersxojs/eslint-config-xo@c7f63cdarray-bracket-newlinexojs/eslint-config-xo@e2f3748unicorn/prefer-add-event-listenerunicorn/prefer-spread ruleunicorn/no-unsafe-regexunicorn/error-messageunicorn/import-indexunicorn/new-for-builtinsunicorn/regex-shorthandunicorn/escape-caseunicorn/no-hex-escapepromise/no-return-wrap4273f8apromise/no-return-in-finally4273f8anode/no-unpublished-bin16fb8e2node/process-exit-as-throw16fb8e2node/no-deprecated-api16fb8e2
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
esnextoption is nowtrueby 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-filenameCLI 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-requirerule. 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-eslintas ESLint now supports async/await. See theparseroption if you still need it, and ensure you havebabel-eslintindevDependencies. 04733f1 - Now ignores paths from
.gitignore. fa99f36 - Added
--quietCLI flag. bb76a2d - Added
extensionoption. 3c42847 - Added
settingsoption. 85c6094 - Added
parseroption. 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.