xojs/xo (xo)
### [`v0.56.0`](https://togithub.com/xojs/xo/releases/tag/v0.56.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.55.1...v0.56.0)
- Support additional TypeScript extensions (`.mts`, `.cts`) ([#728](https://togithub.com/xojs/xo/issues/728)) [`04552b8`](https://togithub.com/xojs/xo/commit/04552b8)
### [`v0.55.1`](https://togithub.com/xojs/xo/releases/tag/v0.55.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.55.0...v0.55.1)
- Lock down `eslint-plugin-import` dependency to patch versions only [`0a71db5`](https://togithub.com/xojs/xo/commit/0a71db5)
### [`v0.55.0`](https://togithub.com/xojs/xo/releases/tag/v0.55.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.54.2...v0.55.0)
##### Breaking
- Require Node.js 16 [`004e3b3`](https://togithub.com/xojs/xo/commit/004e3b3)
##### New rules
- [`unicorn/prefer-blob-reading-methods`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-blob-reading-methods.md)
- [`@typescript-eslint/no-unsafe-enum-comparison`](https://typescript-eslint.io/rules/no-unsafe-enum-comparison/)
### [`v0.54.2`](https://togithub.com/xojs/xo/releases/tag/v0.54.2)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.54.1...v0.54.2)
- Update dependencies ([#715](https://togithub.com/xojs/xo/issues/715)) [`498aece`](https://togithub.com/xojs/xo/commit/498aece)
### [`v0.54.1`](https://togithub.com/xojs/xo/releases/tag/v0.54.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.54.0...v0.54.1)
- Fix rule conflict ([#714](https://togithub.com/xojs/xo/issues/714)) [`658d376`](https://togithub.com/xojs/xo/commit/658d376)
### [`v0.54.0`](https://togithub.com/xojs/xo/releases/tag/v0.54.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.53.1...v0.54.0)
##### New rules
- [`unicorn/no-typeof-undefined`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-typeof-undefined.md)
- [`unicorn/no-negated-condition`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negated-condition.md)
- [`unicorn/prefer-set-size`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-set-size.md)
- [`@typescript-eslint/no-duplicate-type-constituents`](https://typescript-eslint.io/rules/no-duplicate-type-constituents/)
##### Improvements
- Support TypeScript 5 ([#712](https://togithub.com/xojs/xo/issues/712)) [`a815db3`](https://togithub.com/xojs/xo/commit/a815db3)
### [`v0.53.1`](https://togithub.com/xojs/xo/releases/tag/v0.53.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.53.0...v0.53.1)
- Improve performance ([#697](https://togithub.com/xojs/xo/issues/697)) [`9bee815`](https://togithub.com/xojs/xo/commit/9bee815)
### [`v0.53.0`](https://togithub.com/xojs/xo/releases/tag/v0.53.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.52.4...v0.53.0)
##### Breaking
- Require Node.js 14 [`91d10d1`](https://togithub.com/xojs/xo/commit/91d10d1)
- TypeScript: It will now use inline type imports when auto-fixing https://github.com/xojs/eslint-config-xo-typescript/commit/e41f4a4032882da4f19d4ff69d303f8a1f2e127d
##### New rules
- [`no-empty-static-block`](https://eslint.org/docs/latest/rules/no-empty-static-block)
- [`no-new-native-nonconstructor`](https://eslint.org/docs/latest/rules/no-new-native-nonconstructor)
- [`unicorn/no-unnecessary-await`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md)
- [`unicorn/switch-case-braces`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/switch-case-braces.md)
- [`unicorn/prefer-logical-operator-over-ternary`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-logical-operator-over-ternary.md)
- [`unicorn/prefer-event-target`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-event-target.md)
- [`@typescript-eslint/no-unsafe-declaration-merging`](https://typescript-eslint.io/rules/no-unsafe-declaration-merging/)
### [`v0.52.4`](https://togithub.com/xojs/xo/releases/tag/v0.52.4)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.52.3...v0.52.4)
- Fix a bug with relative `extends` ([#686](https://togithub.com/xojs/xo/issues/686)) [`e69a192`](https://togithub.com/xojs/xo/commit/e69a192)
### [`v0.52.3`](https://togithub.com/xojs/xo/releases/tag/v0.52.3)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.52.2...v0.52.3)
- Fix compatibility problem with Windows ([#687](https://togithub.com/xojs/xo/issues/687)) [`a608bf1`](https://togithub.com/xojs/xo/commit/a608bf1)
### [`v0.52.2`](https://togithub.com/xojs/xo/releases/tag/v0.52.2)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.52.1...v0.52.2)
- Fix tsconfig resolution quirks ([#683](https://togithub.com/xojs/xo/issues/683)) [`4cf8b05`](https://togithub.com/xojs/xo/commit/4cf8b05)
### [`v0.52.1`](https://togithub.com/xojs/xo/releases/tag/v0.52.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.52.0...v0.52.1)
- Ensure tsconfig lookups work as expected ([#680](https://togithub.com/xojs/xo/issues/680)) [`de5f878`](https://togithub.com/xojs/xo/commit/de5f878)
### [`v0.52.0`](https://togithub.com/xojs/xo/releases/tag/v0.52.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.51.0...v0.52.0)
##### New rules
- [`@typescript-eslint/consistent-type-exports`](https://typescript-eslint.io/rules/consistent-type-exports)
- [`@typescript-eslint/consistent-type-imports`](https://typescript-eslint.io/rules/consistent-type-imports/)
- [`@typescript-eslint/consistent-generic-constructors`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-generic-constructors.md)
- [`@typescript-eslint/consistent-type-definitions`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)
- `type` and `interface` are almost interchangeable. The main difference is that `interface` can be extended from anywhere, which can be useful in a few cases, but can most often cause surprising hard to track down behavior. XO prefers being strict by default and have chosen `type`. Just use an `eslint-disable` comment in the few cases where you need the declaration to be extendable.
- [More info](https://stackoverflow.com/a/65948871/64949)
##### Improvements
- Implement full tsconfig resolution ([#677](https://togithub.com/xojs/xo/issues/677)) [`b661eb8`](https://togithub.com/xojs/xo/commit/b661eb8)
### [`v0.51.0`](https://togithub.com/xojs/xo/releases/tag/v0.51.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.50.0...v0.51.0)
- Internal: Include `rulesMeta` in linting results ([#674](https://togithub.com/xojs/xo/issues/674)) [`cd86133`](https://togithub.com/xojs/xo/commit/cd86133)
- This is meant for editor plugins and formatters.
### [`v0.50.0`](https://togithub.com/xojs/xo/releases/tag/v0.50.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.49.0...v0.50.0)
- Switch to `eslint-plugin-node`'s maintained fork ([#660](https://togithub.com/xojs/xo/issues/660)) [`3a4c9c9`](https://togithub.com/xojs/xo/commit/3a4c9c9)
### [`v0.49.0`](https://togithub.com/xojs/xo/releases/tag/v0.49.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.48.0...v0.49.0)
##### New rules
- [`no-constant-binary-expression`](https://eslint.org/docs/rules/no-constant-binary-expression)
- [`unicorn/text-encoding-identifier-case`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/text-encoding-identifier-case.md)
- [`unicorn/no-useless-switch-case`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-switch-case.md)
- [`unicorn/prefer-modern-math-apis`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-modern-math-apis.md)
- [`unicorn/no-unreadable-iife`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-iife.md)
- [`unicorn/prefer-native-coercion-functions`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-native-coercion-functions.md)
- [`@typescript-eslint/no-duplicate-enum-values`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md)
- [`@typescript-eslint/parameter-properties`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/parameter-properties.md)
- [`@typescript-eslint/space-before-blocks`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/space-before-blocks.md)
- [`@typescript-eslint/no-useless-empty-export`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-useless-empty-export.md)
- [`@typescript-eslint/no-redundant-type-constituents`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md)
##### Breaking
- Single-quotes is now enforced for JSX instead of double-quotes [https://github.com/xojs/eslint-config-xo/pull/78](https://togithub.com/xojs/eslint-config-xo/pull/78)
### [`v0.48.0`](https://togithub.com/xojs/xo/releases/tag/v0.48.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.47.0...v0.48.0)
##### New rules
- [`unicorn/no-thenable`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-thenable.md)
- [`unicorn/no-useless-promise-resolve-reject`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-promise-resolve-reject.md)
- [`unicorn/relative-url-style`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/relative-url-style.md)
- [`unicorn/prefer-json-parse-buffer`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-parse-buffer.md)
##### TypeScript-only
- Disallow `null` https://github.com/xojs/eslint-config-xo-typescript/commit/0d1c7193b6ba6e2cb86de47fdd7e5a172f523abd
### [`v0.47.0`](https://togithub.com/xojs/xo/releases/tag/v0.47.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.46.4...v0.47.0)
##### New rules
- [`unicorn/no-empty-file`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-empty-file.md)
- [`unicorn/prefer-export-from`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-export-from.md)
- [`unicorn/prefer-code-point`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-code-point.md)
- [`unicorn/no-await-expression-member`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-expression-member.md)
##### Improvements
- Enforce extensions on TypeScript files as well ([#639](https://togithub.com/xojs/xo/issues/639)) [`0e90967`](https://togithub.com/xojs/xo/commit/0e90967)
- Rename some replacements in `prevent-abbreviations` ([#620](https://togithub.com/xojs/xo/issues/620)) [`1d2409f`](https://togithub.com/xojs/xo/commit/1d2409f)
### [`v0.46.4`](https://togithub.com/xojs/xo/releases/tag/v0.46.4)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.46.3...v0.46.4)
- Fix handling of tsconfig's ([#632](https://togithub.com/xojs/xo/issues/632)) [`261696e`](https://togithub.com/xojs/xo/commit/261696e)
### [`v0.46.3`](https://togithub.com/xojs/xo/releases/tag/v0.46.3)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.46.2...v0.46.3)
- Fix an issue with npm not including bundledDependencies when publishing.
### [`v0.46.2`](https://togithub.com/xojs/xo/releases/tag/v0.46.2)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.46.1...v0.46.2)
- Fix an issue with importing a dependency [`653887a`](https://togithub.com/xojs/xo/commit/653887a)
### [`v0.46.1`](https://togithub.com/xojs/xo/releases/tag/v0.46.1)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.46.0...v0.46.1)
- Fix an issue with npm not including `bundledDependencies` when publishing.
### [`v0.46.0`](https://togithub.com/xojs/xo/releases/tag/v0.46.0)
[Compare Source](https://togithub.com/xojs/xo/compare/v0.45.0...v0.46.0)
##### Breaking
- Upgrade to [ESLint 8](https://eslint.org/blog/2021/10/eslint-v8.0.0-released) [`dddc991`](https://togithub.com/xojs/xo/commit/dddc991)
##### New rules
- [`unicorn/template-indent`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/template-indent.md)
##### Improvements
- Improve memory usage ([#622](https://togithub.com/xojs/xo/issues/622)) [`431887d`](https://togithub.com/xojs/xo/commit/431887d)
##### Fixes
- Fix installing XO with npm 6 in some cases ([#624](https://togithub.com/xojs/xo/issues/624)) [`c9bbfb1`](https://togithub.com/xojs/xo/commit/c9bbfb1)
### [`v0.45.0`](https://togithub.com/xojs/xo/releases/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, 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, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^0.39.1
->^0.56.0
Release Notes
xojs/xo (xo)
### [`v0.56.0`](https://togithub.com/xojs/xo/releases/tag/v0.56.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.55.1...v0.56.0) - Support additional TypeScript extensions (`.mts`, `.cts`) ([#728](https://togithub.com/xojs/xo/issues/728)) [`04552b8`](https://togithub.com/xojs/xo/commit/04552b8) ### [`v0.55.1`](https://togithub.com/xojs/xo/releases/tag/v0.55.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.55.0...v0.55.1) - Lock down `eslint-plugin-import` dependency to patch versions only [`0a71db5`](https://togithub.com/xojs/xo/commit/0a71db5) ### [`v0.55.0`](https://togithub.com/xojs/xo/releases/tag/v0.55.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.54.2...v0.55.0) ##### Breaking - Require Node.js 16 [`004e3b3`](https://togithub.com/xojs/xo/commit/004e3b3) ##### New rules - [`unicorn/prefer-blob-reading-methods`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-blob-reading-methods.md) - [`@typescript-eslint/no-unsafe-enum-comparison`](https://typescript-eslint.io/rules/no-unsafe-enum-comparison/) ### [`v0.54.2`](https://togithub.com/xojs/xo/releases/tag/v0.54.2) [Compare Source](https://togithub.com/xojs/xo/compare/v0.54.1...v0.54.2) - Update dependencies ([#715](https://togithub.com/xojs/xo/issues/715)) [`498aece`](https://togithub.com/xojs/xo/commit/498aece) ### [`v0.54.1`](https://togithub.com/xojs/xo/releases/tag/v0.54.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.54.0...v0.54.1) - Fix rule conflict ([#714](https://togithub.com/xojs/xo/issues/714)) [`658d376`](https://togithub.com/xojs/xo/commit/658d376) ### [`v0.54.0`](https://togithub.com/xojs/xo/releases/tag/v0.54.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.53.1...v0.54.0) ##### New rules - [`unicorn/no-typeof-undefined`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-typeof-undefined.md) - [`unicorn/no-negated-condition`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negated-condition.md) - [`unicorn/prefer-set-size`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-set-size.md) - [`@typescript-eslint/no-duplicate-type-constituents`](https://typescript-eslint.io/rules/no-duplicate-type-constituents/) ##### Improvements - Support TypeScript 5 ([#712](https://togithub.com/xojs/xo/issues/712)) [`a815db3`](https://togithub.com/xojs/xo/commit/a815db3) ### [`v0.53.1`](https://togithub.com/xojs/xo/releases/tag/v0.53.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.53.0...v0.53.1) - Improve performance ([#697](https://togithub.com/xojs/xo/issues/697)) [`9bee815`](https://togithub.com/xojs/xo/commit/9bee815) ### [`v0.53.0`](https://togithub.com/xojs/xo/releases/tag/v0.53.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.52.4...v0.53.0) ##### Breaking - Require Node.js 14 [`91d10d1`](https://togithub.com/xojs/xo/commit/91d10d1) - TypeScript: It will now use inline type imports when auto-fixing https://github.com/xojs/eslint-config-xo-typescript/commit/e41f4a4032882da4f19d4ff69d303f8a1f2e127d ##### New rules - [`no-empty-static-block`](https://eslint.org/docs/latest/rules/no-empty-static-block) - [`no-new-native-nonconstructor`](https://eslint.org/docs/latest/rules/no-new-native-nonconstructor) - [`unicorn/no-unnecessary-await`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md) - [`unicorn/switch-case-braces`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/switch-case-braces.md) - [`unicorn/prefer-logical-operator-over-ternary`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-logical-operator-over-ternary.md) - [`unicorn/prefer-event-target`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-event-target.md) - [`@typescript-eslint/no-unsafe-declaration-merging`](https://typescript-eslint.io/rules/no-unsafe-declaration-merging/) ### [`v0.52.4`](https://togithub.com/xojs/xo/releases/tag/v0.52.4) [Compare Source](https://togithub.com/xojs/xo/compare/v0.52.3...v0.52.4) - Fix a bug with relative `extends` ([#686](https://togithub.com/xojs/xo/issues/686)) [`e69a192`](https://togithub.com/xojs/xo/commit/e69a192) ### [`v0.52.3`](https://togithub.com/xojs/xo/releases/tag/v0.52.3) [Compare Source](https://togithub.com/xojs/xo/compare/v0.52.2...v0.52.3) - Fix compatibility problem with Windows ([#687](https://togithub.com/xojs/xo/issues/687)) [`a608bf1`](https://togithub.com/xojs/xo/commit/a608bf1) ### [`v0.52.2`](https://togithub.com/xojs/xo/releases/tag/v0.52.2) [Compare Source](https://togithub.com/xojs/xo/compare/v0.52.1...v0.52.2) - Fix tsconfig resolution quirks ([#683](https://togithub.com/xojs/xo/issues/683)) [`4cf8b05`](https://togithub.com/xojs/xo/commit/4cf8b05) ### [`v0.52.1`](https://togithub.com/xojs/xo/releases/tag/v0.52.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.52.0...v0.52.1) - Ensure tsconfig lookups work as expected ([#680](https://togithub.com/xojs/xo/issues/680)) [`de5f878`](https://togithub.com/xojs/xo/commit/de5f878) ### [`v0.52.0`](https://togithub.com/xojs/xo/releases/tag/v0.52.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.51.0...v0.52.0) ##### New rules - [`@typescript-eslint/consistent-type-exports`](https://typescript-eslint.io/rules/consistent-type-exports) - [`@typescript-eslint/consistent-type-imports`](https://typescript-eslint.io/rules/consistent-type-imports/) - [`@typescript-eslint/consistent-generic-constructors`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-generic-constructors.md) - [`@typescript-eslint/consistent-type-definitions`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-definitions.md) - `type` and `interface` are almost interchangeable. The main difference is that `interface` can be extended from anywhere, which can be useful in a few cases, but can most often cause surprising hard to track down behavior. XO prefers being strict by default and have chosen `type`. Just use an `eslint-disable` comment in the few cases where you need the declaration to be extendable. - [More info](https://stackoverflow.com/a/65948871/64949) ##### Improvements - Implement full tsconfig resolution ([#677](https://togithub.com/xojs/xo/issues/677)) [`b661eb8`](https://togithub.com/xojs/xo/commit/b661eb8) ### [`v0.51.0`](https://togithub.com/xojs/xo/releases/tag/v0.51.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.50.0...v0.51.0) - Internal: Include `rulesMeta` in linting results ([#674](https://togithub.com/xojs/xo/issues/674)) [`cd86133`](https://togithub.com/xojs/xo/commit/cd86133) - This is meant for editor plugins and formatters. ### [`v0.50.0`](https://togithub.com/xojs/xo/releases/tag/v0.50.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.49.0...v0.50.0) - Switch to `eslint-plugin-node`'s maintained fork ([#660](https://togithub.com/xojs/xo/issues/660)) [`3a4c9c9`](https://togithub.com/xojs/xo/commit/3a4c9c9) ### [`v0.49.0`](https://togithub.com/xojs/xo/releases/tag/v0.49.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.48.0...v0.49.0) ##### New rules - [`no-constant-binary-expression`](https://eslint.org/docs/rules/no-constant-binary-expression) - [`unicorn/text-encoding-identifier-case`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/text-encoding-identifier-case.md) - [`unicorn/no-useless-switch-case`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-switch-case.md) - [`unicorn/prefer-modern-math-apis`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-modern-math-apis.md) - [`unicorn/no-unreadable-iife`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-iife.md) - [`unicorn/prefer-native-coercion-functions`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-native-coercion-functions.md) - [`@typescript-eslint/no-duplicate-enum-values`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicate-enum-values.md) - [`@typescript-eslint/parameter-properties`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/parameter-properties.md) - [`@typescript-eslint/space-before-blocks`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/space-before-blocks.md) - [`@typescript-eslint/no-useless-empty-export`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-useless-empty-export.md) - [`@typescript-eslint/no-redundant-type-constituents`](https://togithub.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-redundant-type-constituents.md) ##### Breaking - Single-quotes is now enforced for JSX instead of double-quotes [https://github.com/xojs/eslint-config-xo/pull/78](https://togithub.com/xojs/eslint-config-xo/pull/78) ### [`v0.48.0`](https://togithub.com/xojs/xo/releases/tag/v0.48.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.47.0...v0.48.0) ##### New rules - [`unicorn/no-thenable`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-thenable.md) - [`unicorn/no-useless-promise-resolve-reject`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-promise-resolve-reject.md) - [`unicorn/relative-url-style`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/relative-url-style.md) - [`unicorn/prefer-json-parse-buffer`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-parse-buffer.md) ##### TypeScript-only - Disallow `null` https://github.com/xojs/eslint-config-xo-typescript/commit/0d1c7193b6ba6e2cb86de47fdd7e5a172f523abd ### [`v0.47.0`](https://togithub.com/xojs/xo/releases/tag/v0.47.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.46.4...v0.47.0) ##### New rules - [`unicorn/no-empty-file`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-empty-file.md) - [`unicorn/prefer-export-from`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-export-from.md) - [`unicorn/prefer-code-point`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-code-point.md) - [`unicorn/no-await-expression-member`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-expression-member.md) ##### Improvements - Enforce extensions on TypeScript files as well ([#639](https://togithub.com/xojs/xo/issues/639)) [`0e90967`](https://togithub.com/xojs/xo/commit/0e90967) - Rename some replacements in `prevent-abbreviations` ([#620](https://togithub.com/xojs/xo/issues/620)) [`1d2409f`](https://togithub.com/xojs/xo/commit/1d2409f) ### [`v0.46.4`](https://togithub.com/xojs/xo/releases/tag/v0.46.4) [Compare Source](https://togithub.com/xojs/xo/compare/v0.46.3...v0.46.4) - Fix handling of tsconfig's ([#632](https://togithub.com/xojs/xo/issues/632)) [`261696e`](https://togithub.com/xojs/xo/commit/261696e) ### [`v0.46.3`](https://togithub.com/xojs/xo/releases/tag/v0.46.3) [Compare Source](https://togithub.com/xojs/xo/compare/v0.46.2...v0.46.3) - Fix an issue with npm not including bundledDependencies when publishing. ### [`v0.46.2`](https://togithub.com/xojs/xo/releases/tag/v0.46.2) [Compare Source](https://togithub.com/xojs/xo/compare/v0.46.1...v0.46.2) - Fix an issue with importing a dependency [`653887a`](https://togithub.com/xojs/xo/commit/653887a) ### [`v0.46.1`](https://togithub.com/xojs/xo/releases/tag/v0.46.1) [Compare Source](https://togithub.com/xojs/xo/compare/v0.46.0...v0.46.1) - Fix an issue with npm not including `bundledDependencies` when publishing. ### [`v0.46.0`](https://togithub.com/xojs/xo/releases/tag/v0.46.0) [Compare Source](https://togithub.com/xojs/xo/compare/v0.45.0...v0.46.0) ##### Breaking - Upgrade to [ESLint 8](https://eslint.org/blog/2021/10/eslint-v8.0.0-released) [`dddc991`](https://togithub.com/xojs/xo/commit/dddc991) ##### New rules - [`unicorn/template-indent`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/template-indent.md) ##### Improvements - Improve memory usage ([#622](https://togithub.com/xojs/xo/issues/622)) [`431887d`](https://togithub.com/xojs/xo/commit/431887d) ##### Fixes - Fix installing XO with npm 6 in some cases ([#624](https://togithub.com/xojs/xo/issues/624)) [`c9bbfb1`](https://togithub.com/xojs/xo/commit/c9bbfb1) ### [`v0.45.0`](https://togithub.com/xojs/xo/releases/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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/tag/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: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, 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 Mend Renovate. View repository job log here.