xojs/xo
### [`v0.45.0`](https://togithub.com/xojs/xo/releases/v0.45.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.44.0...v0.45.0)
##### New rules
- [`no-bitwise`](https://eslint.org/docs/rules/no-bitwise)
- [`unicorn/no-useless-fallback-in-spread`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-fallback-in-spread.md)
- [`unicorn/no-invalid-remove-event-listener`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-remove-event-listener.md)
- [`@typescript-eslint/naming-convention`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md#allowed-selectors-modifiers-and-types)
- [`@typescript-eslint/no-restricted-imports`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-restricted-imports.md)
- [`@typescript-eslint/no-non-null-asserted-nullish-coalescing`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md)
- [`@typescript-eslint/padding-line-between-statements`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/padding-line-between-statements.md)
- [`@typescript-eslint/no-meaningless-void-operator`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-invalid-void-type.md)
##### Improvements
- Replace Prettier's `jsxBracketSameLine` option with `bracketSameLine` ([#609](https://togithub.com/xojs/xo/issues/609)) [`506c151`](https://togithub.com/xojs/xo/commit/506c151)
- Enable `import/named` rule for JavaScript ([#601](https://togithub.com/xojs/xo/issues/601)) [`623f259`](https://togithub.com/xojs/xo/commit/623f259)
### [`v0.44.0`](https://togithub.com/xojs/xo/releases/v0.44.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.43.0...v0.44.0)
##### New rules
- [`unicorn/prefer-object-from-entries`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-from-entries.md)
- [`unicorn/no-useless-length-check`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-length-check.md)
- [`unicorn/no-useless-spread`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-spread.md)
- [`@typescript-eslint/prefer-return-this-type`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-return-this-type.md)
- [`@typescript-eslint/ban-ts-comment`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md)
##### Improvements
- Improve performance ([#583](https://togithub.com/xojs/xo/issues/583)) [`e2e715d`](https://togithub.com/xojs/xo/commit/e2e715d)
- Change `trailingComma` option for Prettier to `all` ([#586](https://togithub.com/xojs/xo/issues/586)) [`68cb5ab`](https://togithub.com/xojs/xo/commit/68cb5ab)
##### Fixes
- Fix running `xo --print-config` without a filename ([#587](https://togithub.com/xojs/xo/issues/587)) [`5ff95ad`](https://togithub.com/xojs/xo/commit/5ff95ad)
### [`v0.43.0`](https://togithub.com/xojs/xo/releases/v0.43.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.42.0...v0.43.0)
##### Improvements
- Enforce importing `process` and `Buffer` in Node.js explicitly [`9f40074`](https://togithub.com/xojs/xo/commit/9f40074)
- This is the recommendation in the Node.js docs.
- Upgrade dependencies [`f2c5041`](https://togithub.com/xojs/xo/commit/f2c5041)
##### Fixes
- Make cache directory be relative to cwd ([#582](https://togithub.com/xojs/xo/issues/582)) [`512291b`](https://togithub.com/xojs/xo/commit/512291b)
- This fixes editor integration.
### [`v0.42.0`](https://togithub.com/xojs/xo/releases/v0.42.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.41.0...v0.42.0)
##### New rules
- [`import/newline-after-import`](https://togithub.com/benmosher/eslint-plugin-import/blob/master/docs/rules/newline-after-import.md) [`f81e933`](https://togithub.com/xojs/xo/commit/f81e933)
##### Improvements
- Upgrade `globby` dependency ([#574](https://togithub.com/xojs/xo/issues/574)) [`34800b7`](https://togithub.com/xojs/xo/commit/34800b7)
### [`v0.41.0`](https://togithub.com/xojs/xo/releases/v0.41.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.40.3...v0.41.0)
#### Breaking
- XO can no longer be installed globally.
- It caused too many problems. Instead, you can run the local XO binary with `$ npx xo`.
- XO now enforces trailing comma in multiline statements.
- [This has a lot of benefits.](https://medium.com/@nikgraf/why-you-should-enforce-dangling-commas-for-multiline-statements-d034c98e36f8)
- [Prettier also enforces this by default.](https://prettier.io/docs/en/options.html#trailing-commas)
- If you don't want it, you can disable the `comma-dangle` rule, and `@typescript-eslint/comma-dangle` if you use TypeScript.
- Change [`operator-linebreak`](https://eslint.org/docs/rules/operator-linebreak#options) rule to enforce operators `before`.
- This way is more readable.
#### New rules
- [`arrow-body-style`](https://eslint.org/docs/rules/arrow-body-style)
- [`unicorn/require-array-join-separator`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-array-join-separator.md)
- [`unicorn/require-number-to-fixed-digits-argument`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-number-to-fixed-digits-argument.md)
- [`unicorn/prefer-prototype-methods`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-prototype-methods.md)
- [`unicorn/no-array-method-this-argument`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md)
- [`unicorn/require-post-message-target-origin`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-post-message-target-origin.md)
### [`v0.40.3`](https://togithub.com/xojs/xo/releases/v0.40.3)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.40.2...v0.40.3)
- Support `xo.config.cjs` and `.xo-config.cjs` ([#561](https://togithub.com/xojs/xo/issues/561)) [`374dd73`](https://togithub.com/xojs/xo/commit/374dd73)
### [`v0.40.2`](https://togithub.com/xojs/xo/releases/v0.40.2)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.40.1...v0.40.2)
- Fix handling of `parserOptions` for TypeScript ([#557](https://togithub.com/xojs/xo/issues/557)) [`7ace6e5`](https://togithub.com/xojs/xo/commit/7ace6e5)
### [`v0.40.1`](https://togithub.com/xojs/xo/releases/v0.40.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.40.0...v0.40.1)
- Fix resolving base config ([#545](https://togithub.com/xojs/xo/issues/545)) [`d2c5750`](https://togithub.com/xojs/xo/commit/d2c5750)
- Fix handling of `parserOptions` option ([#544](https://togithub.com/xojs/xo/issues/544)) [`e9c96a1`](https://togithub.com/xojs/xo/commit/e9c96a1)
### [`v0.40.0`](https://togithub.com/xojs/xo/releases/v0.40.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.39.1...v0.40.0)
##### Breaking
- **XO now enforces that your project is [ESM](https://blog.sindresorhus.com)**
If you cannot yet move to ESM, I recommend staying on XO 0.39 for now.
- Require Node.js 12.20 [`cc06c3c`](https://togithub.com/xojs/xo/commit/cc06c3c)
##### New rules
- [`unicorn/prefer-node-protocol`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md)
- [`unicorn/prefer-module`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md)
- [`unicorn/no-document-cookie`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-document-cookie.md)
- [`unicorn/numeric-separators-style`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/numeric-separators-style.md)
- [`unicorn/prefer-array-flat`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat.md)
- [`unicorn/prefer-array-flat-map`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat-map.md)
##### Meta
- Move from deprecated `ESLint.CLIEngine` to `ESLint` ([#534](https://togithub.com/xojs/xo/issues/534)) [`0480d80`](https://togithub.com/xojs/xo/commit/0480d80)
This should hopefully resolve a bunch of issues.
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
^0.39.0
->^0.45.0
Release Notes
xojs/xo
### [`v0.45.0`](https://togithub.com/xojs/xo/releases/v0.45.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.44.0...v0.45.0) ##### New rules - [`no-bitwise`](https://eslint.org/docs/rules/no-bitwise) - [`unicorn/no-useless-fallback-in-spread`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-fallback-in-spread.md) - [`unicorn/no-invalid-remove-event-listener`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-remove-event-listener.md) - [`@typescript-eslint/naming-convention`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/naming-convention.md#allowed-selectors-modifiers-and-types) - [`@typescript-eslint/no-restricted-imports`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-restricted-imports.md) - [`@typescript-eslint/no-non-null-asserted-nullish-coalescing`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md) - [`@typescript-eslint/padding-line-between-statements`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/padding-line-between-statements.md) - [`@typescript-eslint/no-meaningless-void-operator`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-invalid-void-type.md) ##### Improvements - Replace Prettier's `jsxBracketSameLine` option with `bracketSameLine` ([#609](https://togithub.com/xojs/xo/issues/609)) [`506c151`](https://togithub.com/xojs/xo/commit/506c151) - Enable `import/named` rule for JavaScript ([#601](https://togithub.com/xojs/xo/issues/601)) [`623f259`](https://togithub.com/xojs/xo/commit/623f259) ### [`v0.44.0`](https://togithub.com/xojs/xo/releases/v0.44.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.43.0...v0.44.0) ##### New rules - [`unicorn/prefer-object-from-entries`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-object-from-entries.md) - [`unicorn/no-useless-length-check`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-length-check.md) - [`unicorn/no-useless-spread`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-spread.md) - [`@typescript-eslint/prefer-return-this-type`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-return-this-type.md) - [`@typescript-eslint/ban-ts-comment`](https://togithub.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md) ##### Improvements - Improve performance ([#583](https://togithub.com/xojs/xo/issues/583)) [`e2e715d`](https://togithub.com/xojs/xo/commit/e2e715d) - Change `trailingComma` option for Prettier to `all` ([#586](https://togithub.com/xojs/xo/issues/586)) [`68cb5ab`](https://togithub.com/xojs/xo/commit/68cb5ab) ##### Fixes - Fix running `xo --print-config` without a filename ([#587](https://togithub.com/xojs/xo/issues/587)) [`5ff95ad`](https://togithub.com/xojs/xo/commit/5ff95ad) ### [`v0.43.0`](https://togithub.com/xojs/xo/releases/v0.43.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.42.0...v0.43.0) ##### Improvements - Enforce importing `process` and `Buffer` in Node.js explicitly [`9f40074`](https://togithub.com/xojs/xo/commit/9f40074) - This is the recommendation in the Node.js docs. - Upgrade dependencies [`f2c5041`](https://togithub.com/xojs/xo/commit/f2c5041) ##### Fixes - Make cache directory be relative to cwd ([#582](https://togithub.com/xojs/xo/issues/582)) [`512291b`](https://togithub.com/xojs/xo/commit/512291b) - This fixes editor integration. ### [`v0.42.0`](https://togithub.com/xojs/xo/releases/v0.42.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.41.0...v0.42.0) ##### New rules - [`import/newline-after-import`](https://togithub.com/benmosher/eslint-plugin-import/blob/master/docs/rules/newline-after-import.md) [`f81e933`](https://togithub.com/xojs/xo/commit/f81e933) ##### Improvements - Upgrade `globby` dependency ([#574](https://togithub.com/xojs/xo/issues/574)) [`34800b7`](https://togithub.com/xojs/xo/commit/34800b7) ### [`v0.41.0`](https://togithub.com/xojs/xo/releases/v0.41.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.40.3...v0.41.0) #### Breaking - XO can no longer be installed globally. - It caused too many problems. Instead, you can run the local XO binary with `$ npx xo`. - XO now enforces trailing comma in multiline statements. - [This has a lot of benefits.](https://medium.com/@nikgraf/why-you-should-enforce-dangling-commas-for-multiline-statements-d034c98e36f8) - [Prettier also enforces this by default.](https://prettier.io/docs/en/options.html#trailing-commas) - If you don't want it, you can disable the `comma-dangle` rule, and `@typescript-eslint/comma-dangle` if you use TypeScript. - Change [`operator-linebreak`](https://eslint.org/docs/rules/operator-linebreak#options) rule to enforce operators `before`. - This way is more readable. #### New rules - [`arrow-body-style`](https://eslint.org/docs/rules/arrow-body-style) - [`unicorn/require-array-join-separator`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-array-join-separator.md) - [`unicorn/require-number-to-fixed-digits-argument`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-number-to-fixed-digits-argument.md) - [`unicorn/prefer-prototype-methods`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-prototype-methods.md) - [`unicorn/no-array-method-this-argument`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md) - [`unicorn/require-post-message-target-origin`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-post-message-target-origin.md) ### [`v0.40.3`](https://togithub.com/xojs/xo/releases/v0.40.3) [Compare Source](https://togithub.com/xojs/xo/compare/v0.40.2...v0.40.3) - Support `xo.config.cjs` and `.xo-config.cjs` ([#561](https://togithub.com/xojs/xo/issues/561)) [`374dd73`](https://togithub.com/xojs/xo/commit/374dd73) ### [`v0.40.2`](https://togithub.com/xojs/xo/releases/v0.40.2) [Compare Source](https://togithub.com/xojs/xo/compare/v0.40.1...v0.40.2) - Fix handling of `parserOptions` for TypeScript ([#557](https://togithub.com/xojs/xo/issues/557)) [`7ace6e5`](https://togithub.com/xojs/xo/commit/7ace6e5) ### [`v0.40.1`](https://togithub.com/xojs/xo/releases/v0.40.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.40.0...v0.40.1) - Fix resolving base config ([#545](https://togithub.com/xojs/xo/issues/545)) [`d2c5750`](https://togithub.com/xojs/xo/commit/d2c5750) - Fix handling of `parserOptions` option ([#544](https://togithub.com/xojs/xo/issues/544)) [`e9c96a1`](https://togithub.com/xojs/xo/commit/e9c96a1) ### [`v0.40.0`](https://togithub.com/xojs/xo/releases/v0.40.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.39.1...v0.40.0) ##### Breaking - **XO now enforces that your project is [ESM](https://blog.sindresorhus.com)** If you cannot yet move to ESM, I recommend staying on XO 0.39 for now. - Require Node.js 12.20 [`cc06c3c`](https://togithub.com/xojs/xo/commit/cc06c3c) ##### New rules - [`unicorn/prefer-node-protocol`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md) - [`unicorn/prefer-module`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md) - [`unicorn/no-document-cookie`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-document-cookie.md) - [`unicorn/numeric-separators-style`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/numeric-separators-style.md) - [`unicorn/prefer-array-flat`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat.md) - [`unicorn/prefer-array-flat-map`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat-map.md) ##### Meta - Move from deprecated `ESLint.CLIEngine` to `ESLint` ([#534](https://togithub.com/xojs/xo/issues/534)) [`0480d80`](https://togithub.com/xojs/xo/commit/0480d80) This should hopefully resolve a bunch of issues.Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.