Releases: xojs/xo
Releases · xojs/xo
v1.0.0
Breaking
- Requires ESLint flat config
- Requires Node.js 20.17
- Configuration now only through
package.jsonandxo.config.{js,cjs,mjs,ts,cts,mts}files - Switched from
eslint-plugin-importtoeslint-plugin-import-x(since it's better maintained)- You will have to update ignore comments and config from
importtoimport-x
- You will have to update ignore comments and config from
- CLI flags removed:
--plugin: Configurable via config file--extend: Configurable via config file--global: Configurable via config file--extension: Configurable via config file--env: No longer relevant with new config system--node-version: Removed as it only affected unsupported Node.js versions--reporter: Removed due to potential lookup reliability issues
- Node.js engines check removed
- Was only active in unsupported Node.js versions
- Webpack lookup and import resolution removed
- Considered too niche for core functionality
Improvements
- React support
- Prettier compatibility mode with
{prettier: 'compat'}option- Disables all Prettier-affected stylistic rules, and maintains existing Prettier functionality otherwise
- Enhanced stdin handling:
--stdin-filenamenow optional- Supports TypeScript files via stdin
New rules
@typescript-eslint/no-wrapper-object-types@typescript-eslint/no-unsafe-function-type@typescript-eslint/no-deprecated@stylistic/type-named-tuple-spacing@stylistic/type-generic-spacingunicorn/consistent-date-cloneunicorn/no-named-defaultunicorn/consistent-assertunicorn/no-instanceof-builtinsunicorn/no-accessor-recursionunicorn/prefer-import-meta-propertiesunicorn/no-unnecessary-array-flat-depthunicorn/no-unnecessary-array-splice-count
Thanks
Huge thanks to @spence-s for doing most of the work for this 🎉
v0.61.0-2
v0.61.0-1
v0.61.0-0
Help us test this pre-release 🙏
Breaking
- Requires Node.js 18.20
- Requires ESLint flat config
- Configuration now only through
package.jsonandxo.config.{js,cjs,mjs,ts,cts,mts}files - Switched from
eslint-plugin-importtoeslint-plugin-import-x(since it's better maintained)- You will have to update ignore comments and config from
importtoimport-x
- You will have to update ignore comments and config from
- CLI flags removed:
--plugin: Configurable via config file--extend: Configurable via config file--global: Configurable via config file--extension: Configurable via config file--env: No longer relevant with new config system--node-version: Removed as it only affected unsupported Node.js versions--reporter: Removed due to potential lookup reliability issues
- Node.js engines check removed
- Was only active in unsupported Node.js versions
- Webpack lookup and import resolution removed
- Considered too niche for core functionality
Improvements
- React support
- Prettier compatibility mode with
{prettier: 'compat'}option- Disables all Prettier-affected stylistic rules, and maintains existing Prettier functionality otherwise
- Enhanced stdin handling:
--stdin-filenamenow optional- Supports TypeScript files via stdin
New rules
@typescript-eslint/no-wrapper-object-types@typescript-eslint/no-unsafe-function-type@typescript-eslint/no-deprecated@stylistic/type-named-tuple-spacing@stylistic/type-generic-spacingunicorn/consistent-date-cloneunicorn/no-named-defaultunicorn/consistent-assertunicorn/no-instanceof-builtinsunicorn/no-accessor-recursion
Thanks
Huge thanks to @spence-s for doing most of the work for this 🎉
v0.60.0
New rules
unicorn/no-length-as-slice-endunicorn/prefer-global-thisunicorn/prefer-math-min-maxunicorn/consistent-existence-index-check
Improvements
- Update dependencies 0c2be9c
v0.59.3
v0.59.2
v0.59.1
v0.59.0
New rules
unicorn/no-single-promise-in-promise-methodsunicorn/no-await-in-promise-methodsunicorn/no-anonymous-default-exportunicorn/consistent-empty-array-spreadunicorn/no-invalid-fetch-optionsunicorn/no-magic-array-flat-depthunicorn/prefer-structured-cloneunicorn/no-negation-in-equality-check@typescript-eslint/no-unnecessary-parameter-property-assignment@typescript-eslint/use-unknown-in-catch-callback-variable
Breaking
v0.58.0
- TypeScript: Disable
default-caserule to avoid conflict with stricter@typescript-eslint/switch-exhaustiveness-checkrule