Update dependency xo to v4 - #46
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
2 times, most recently
from
July 16, 2026 19:32
d4490d3 to
6b52aa1
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
2 times, most recently
from
July 24, 2026 16:10
f912f71 to
a207e39
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
from
July 30, 2026 19:52
a207e39 to
6c4f874
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
2 times, most recently
from
August 14, 2026 22:36
4e1512c to
7ff12d5
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
from
August 26, 2026 15:10
7ff12d5 to
80f5a28
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
from
September 2, 2026 21:02
80f5a28 to
a07aa3e
Compare
renovate
Bot
force-pushed
the
renovate/xo-4.x
branch
from
September 3, 2026 23:10
a07aa3e to
c8a284c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.54.2→4.0.0Release Notes
xojs/xo (xo)
v4.0.0Compare Source
Improvements
node:testfiles with the neweslint-node-testplugin*-ignore/*:ignorecomment (likesvelte-ignore), not just a hardcoded list, forcapitalized-commentsNew rules
unicorn/consistent-conditional-object-spreadunicorn/consistent-tuple-labelsunicorn/default-export-styleunicorn/no-accidental-bitwise-operatorunicorn/no-array-concat-in-loopunicorn/no-array-front-mutationunicorn/no-array-sort-for-min-maxunicorn/no-async-promise-finallyunicorn/no-boolean-sort-comparatorunicorn/no-chained-comparisonunicorn/no-collection-bracket-accessunicorn/no-constant-zero-expressionunicorn/no-double-comparisonunicorn/no-duplicate-if-branchesunicorn/no-duplicate-logical-operandsunicorn/no-impossible-length-comparisonunicorn/no-invalid-character-comparisonunicorn/no-invalid-well-known-symbol-methodsunicorn/no-late-event-controlunicorn/no-loop-iterable-mutationunicorn/no-misrefactored-assignmentunicorn/no-nonstandard-builtin-propertiesunicorn/no-selector-as-dom-nameunicorn/no-unnecessary-boolean-comparisonunicorn/no-unnecessary-fetch-optionsunicorn/no-unsafe-promise-all-settled-valuesunicorn/no-useless-compound-assignmentunicorn/no-useless-delete-checkunicorn/no-useless-logical-operandunicorn/no-xor-as-exponentiationunicorn/prefer-abort-signal-anyunicorn/prefer-abort-signal-timeoutunicorn/prefer-aggregate-errorunicorn/prefer-array-flat-mapunicorn/prefer-array-from-asyncunicorn/prefer-array-from-rangeunicorn/prefer-array-iterable-methodsunicorn/prefer-block-statement-over-iifeunicorn/prefer-boolean-returnunicorn/prefer-continueunicorn/prefer-dom-node-replace-childrenunicorn/prefer-error-is-errorunicorn/prefer-flat-math-min-maxunicorn/prefer-group-byunicorn/prefer-hoisting-branch-codeunicorn/prefer-iterator-helpersunicorn/prefer-math-constantsunicorn/prefer-observer-apisunicorn/prefer-promise-tryunicorn/prefer-promise-with-resolversunicorn/prefer-regexp-escapeunicorn/prefer-set-methodsunicorn/prefer-simplified-conditionsunicorn/prefer-single-replaceunicorn/prefer-toggle-attributeunicorn/prefer-unary-minusunicorn/prefer-url-can-parseunicorn/prefer-url-search-parametersunicorn/prefer-while-loop-conditionv3.0.2Compare Source
--fixcorrupting TypeScript files outside the tsconfig7baa7f2v3.0.1Compare Source
91d3e6dv3.0.0Compare Source
Breaking
eslint-config-xo-reactto your config instead. Learn moreeslint-plugin-reactfor everyone held XO back by its slow ESLint-major support, and there's now a competing plugin,@eslint-react, so picking one for all users no longer makes sense.eslint-config-xopackage. The separateeslint-config-xo-typescriptpackage is merged into it.xoToEslintConfigexport with thexo/eslint-adapterimport for editor/ESLint integration. For example,xoToEslintConfig([{space: true, prettier: true}])becomeseslintConfigXo({space: true, prettier: true})fromeslint-config-xo, or simplyexport {default} from 'xo/eslint-adapter';.Improvements
--max-warningsflag to treat warnings as errors (#724)New rules
no-shadow@typescript-eslint/strict-boolean-expressions@typescript-eslint/no-unnecessary-type-conversionxo/import-specifier-newlineunicorn/better-dom-traversingunicorn/class-reference-in-static-methodsunicorn/consistent-class-member-orderunicorn/consistent-compound-wordsunicorn/consistent-export-decorator-positionunicorn/consistent-json-file-readunicorn/consistent-optional-chainingunicorn/explicit-timer-delayunicorn/logical-assignment-operatorsunicorn/max-nested-callsunicorn/no-array-fill-with-reference-typeunicorn/no-array-from-fillunicorn/no-array-spliceunicorn/no-blob-to-fileunicorn/no-break-in-nested-loopunicorn/no-canvas-to-imageunicorn/no-computed-property-existence-checkunicorn/no-confusing-array-spliceunicorn/no-confusing-array-withunicorn/no-declarations-before-early-exitunicorn/no-duplicate-loopsunicorn/no-duplicate-set-valuesunicorn/no-error-property-assignmentunicorn/no-exports-in-scriptsunicorn/no-global-object-property-assignmentunicorn/no-incorrect-query-selectorunicorn/no-incorrect-template-string-interpolationunicorn/no-late-current-target-accessunicorn/no-mismatched-map-keyunicorn/no-negated-array-predicateunicorn/no-negated-comparisonunicorn/no-non-function-verb-prefixunicorn/no-object-methods-with-collectionsunicorn/no-optional-chaining-on-undeclared-variableunicorn/no-redundant-comparisonunicorn/no-return-array-pushunicorn/no-subtraction-comparisonunicorn/no-top-level-side-effectsunicorn/no-uncalled-methodunicorn/no-undeclared-class-membersunicorn/no-unnecessary-global-thisunicorn/no-unnecessary-nested-ternaryunicorn/no-unnecessary-spliceunicorn/no-unreadable-object-destructuringunicorn/no-unsafe-buffer-conversionunicorn/no-unsafe-property-keyunicorn/no-unsafe-string-replacementunicorn/no-unused-array-method-returnunicorn/no-useless-boolean-castunicorn/no-useless-coercionunicorn/no-useless-concatunicorn/no-useless-continueunicorn/no-useless-elseunicorn/no-useless-overrideunicorn/no-useless-recursionunicorn/no-useless-template-literalsunicorn/operator-assignmentunicorn/prefer-add-event-listener-optionsunicorn/prefer-array-from-mapunicorn/prefer-array-last-methodsunicorn/prefer-array-sliceunicorn/prefer-direct-iterationunicorn/prefer-early-returnunicorn/prefer-else-ifunicorn/prefer-get-or-insert-computedunicorn/prefer-global-number-constantsunicorn/prefer-has-checkunicorn/prefer-httpsunicorn/prefer-identifier-import-export-specifiersunicorn/prefer-includes-over-repeated-comparisonsunicorn/prefer-iterable-in-constructorunicorn/prefer-iterator-to-arrayunicorn/prefer-iterator-to-array-at-endunicorn/prefer-location-assignunicorn/prefer-map-from-entriesunicorn/prefer-math-absunicorn/prefer-minimal-ternaryunicorn/prefer-number-coercionunicorn/prefer-number-is-safe-integerunicorn/prefer-object-define-propertiesunicorn/prefer-object-destructuring-defaultsunicorn/prefer-object-iterable-methodsunicorn/prefer-path2dunicorn/prefer-private-class-fieldsunicorn/prefer-queue-microtaskunicorn/prefer-scoped-selectorunicorn/prefer-simple-sort-comparatorunicorn/prefer-single-array-predicateunicorn/prefer-single-object-destructuringunicorn/prefer-smaller-scopeunicorn/prefer-split-limitunicorn/prefer-string-match-allunicorn/prefer-string-pad-start-endunicorn/prefer-string-repeatunicorn/prefer-type-literal-lastunicorn/prefer-uint8array-base64unicorn/prefer-unicode-code-point-escapesunicorn/prefer-url-hrefunicorn/require-array-sort-compareunicorn/require-css-escapeunicorn/require-passive-eventsunicorn/require-proxy-trap-boolean-returnv2.0.2Compare Source
reactandprettier: 'compat'configs failing whenfilesis not specifiedbde9854v2.0.1Compare Source
0f1e196--fix-dry-runflagd87118523b5972v2.0.0Compare Source
Breaking
.js/.mjs/.ts/.mtsinstead)eslint-plugin-promiserules (pending ESLint 10 compatibility)Improvements
filesformat in configcwdfor case-sensitive filesystemsNew rules
@typescript-eslint/no-unsafe-type-assertion@typescript-eslint/related-getter-setter-pairsunicorn/prefer-class-fieldsunicorn/no-array-reverseunicorn/require-module-specifiersunicorn/no-useless-error-capture-stack-traceunicorn/prefer-bigint-literalsunicorn/prefer-classlist-toggleunicorn/require-module-attributesunicorn/no-array-sortunicorn/no-immediate-mutationunicorn/no-useless-collection-argumentunicorn/prefer-response-static-jsonunicorn/isolated-functionsava/no-conditional-assertionava/no-duplicate-hooksava/require-assertionava/no-invalid-modifier-chainava/no-negated-assertionava/no-ava-in-dependenciesava/failing-test-urlava/no-useless-t-passava/no-nested-assertionsava/prefer-t-throwsava/no-commented-testsv1.2.3Compare Source
d1aea04b41471fv1.2.2Compare Source
indent-binary-opsconfiguration for spaces (#825)d5c2522v1.2.1Compare Source
6bd27aev1.2.0Compare Source
122487b--configflag (#821)2cd9510v1.1.1Compare Source
print-configoption with relative file path (#816)b538cf7v1.1.0Compare Source
e280d32v1.0.5Compare Source
3621ad4v1.0.4Compare Source
32960d3v1.0.3Compare Source
1255386v1.0.2Compare Source
v1.0.1Compare Source
e63d7a5v1.0.0Compare Source
Breaking
package.jsonandxo.config.{js,cjs,mjs,ts,cts,mts}fileseslint-plugin-importtoeslint-plugin-import-x(since it's better maintained)importtoimport-x--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 issuesImprovements
{prettier: 'compat'}option--stdin-filenamenow optionalNew 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-countThanks
Huge thanks to @spence-s for doing most of the work for this 🎉
v0.61.1Compare Source
v0.61.0Compare Source
v0.60.0Compare Source
New rules
unicorn/no-length-as-slice-endunicorn/prefer-global-thisunicorn/prefer-math-min-maxunicorn/consistent-existence-index-checkImprovements
0c2be9cv0.59.3Compare Source
3eb843646a91e0v0.59.2Compare Source
nodeVersion: falseoption (#762)c965843v0.59.1Compare Source
9cdab84v0.59.0Compare Source
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-variableBreaking
eslint-plugin-promise(#656)b168f08v0.58.0Compare Source
default-caserule to avoid conflict with stricter@typescript-eslint/switch-exhaustiveness-checkrulev0.57.0Compare Source
Breaking
3b9d372New rules
logical-assignment-operatorsprefer-object-has-ownobject-curly-newlineunicorn/no-unnecessary-polyfills@typescript-eslint/prefer-find@typescript-eslint/no-array-delete@typescript-eslint/prefer-promise-reject-errorsv0.56.0Compare Source
.mts,.cts) (#728)04552b8v0.55.1Compare Source
eslint-plugin-importdependency to patch versions only0a71db5v0.55.0Compare Source
Breaking
004e3b3New rules
unicorn/prefer-blob-reading-methods@typescript-eslint/no-unsafe-enum-comparisonConfiguration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.