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.25.4
->0.60.0
Release Notes
xojs/xo (xo)
v0.60.0
Compare Source
New rules
unicorn/no-length-as-slice-end
unicorn/prefer-global-this
unicorn/prefer-math-min-max
unicorn/consistent-existence-index-check
Improvements
0c2be9c
v0.59.3
Compare Source
3eb8436
46a91e0
v0.59.2
Compare Source
nodeVersion: false
option (#762)c965843
v0.59.1
Compare Source
9cdab84
v0.59.0
Compare Source
New rules
unicorn/no-single-promise-in-promise-methods
unicorn/no-await-in-promise-methods
unicorn/no-anonymous-default-export
unicorn/consistent-empty-array-spread
unicorn/no-invalid-fetch-options
unicorn/no-magic-array-flat-depth
unicorn/prefer-structured-clone
unicorn/no-negation-in-equality-check
@typescript-eslint/no-unnecessary-parameter-property-assignment
@typescript-eslint/use-unknown-in-catch-callback-variable
Breaking
eslint-plugin-promise
(#656)b168f08
v0.58.0
Compare Source
default-case
rule to avoid conflict with stricter@typescript-eslint/switch-exhaustiveness-check
rulev0.57.0
Compare Source
Breaking
3b9d372
New rules
logical-assignment-operators
prefer-object-has-own
object-curly-newline
unicorn/no-unnecessary-polyfills
@typescript-eslint/prefer-find
@typescript-eslint/no-array-delete
@typescript-eslint/prefer-promise-reject-errors
v0.56.0
Compare Source
.mts
,.cts
) (#728)04552b8
v0.55.1
Compare Source
eslint-plugin-import
dependency to patch versions only0a71db5
v0.55.0
Compare Source
Breaking
004e3b3
New rules
unicorn/prefer-blob-reading-methods
@typescript-eslint/no-unsafe-enum-comparison
v0.54.2
Compare Source
498aece
v0.54.1
Compare Source
658d376
v0.54.0
Compare Source
New rules
unicorn/no-typeof-undefined
unicorn/no-negated-condition
unicorn/prefer-set-size
@typescript-eslint/no-duplicate-type-constituents
Improvements
a815db3
v0.53.1
Compare Source
9bee815
v0.53.0
Compare Source
Breaking
91d10d1
New rules
no-empty-static-block
no-new-native-nonconstructor
unicorn/no-unnecessary-await
unicorn/switch-case-braces
unicorn/prefer-logical-operator-over-ternary
unicorn/prefer-event-target
@typescript-eslint/no-unsafe-declaration-merging
v0.52.4
Compare Source
extends
(#686)e69a192
v0.52.3
Compare Source
a608bf1
v0.52.2
Compare Source
4cf8b05
v0.52.1
Compare Source
de5f878
v0.52.0
Compare Source
New rules
@typescript-eslint/consistent-type-exports
@typescript-eslint/consistent-type-imports
@typescript-eslint/consistent-generic-constructors
@typescript-eslint/consistent-type-definitions
type
andinterface
are almost interchangeable. The main difference is thatinterface
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 chosentype
. Just use aneslint-disable
comment in the few cases where you need the declaration to be extendable.Improvements
b661eb8
v0.51.0
Compare Source
rulesMeta
in linting results (#674)cd86133
v0.50.0
Compare Source
eslint-plugin-node
's maintained fork (#660)3a4c9c9
v0.49.0
Compare Source
New rules
no-constant-binary-expression
unicorn/text-encoding-identifier-case
unicorn/no-useless-switch-case
unicorn/prefer-modern-math-apis
unicorn/no-unreadable-iife
unicorn/prefer-native-coercion-functions
@typescript-eslint/no-duplicate-enum-values
@typescript-eslint/parameter-properties
@typescript-eslint/space-before-blocks
@typescript-eslint/no-useless-empty-export
@typescript-eslint/no-redundant-type-constituents
Breaking
v0.48.0
Compare Source
New rules
unicorn/no-thenable
unicorn/no-useless-promise-resolve-reject
unicorn/relative-url-style
unicorn/prefer-json-parse-buffer
TypeScript-only
null
xojs/eslint-config-xo-typescript@0d1c719v0.47.0
Compare Source
New rules
unicorn/no-empty-file
unicorn/prefer-export-from
unicorn/prefer-code-point
unicorn/no-await-expression-member
Improvements
0e90967
prevent-abbreviations
(#620)1d2409f
v0.46.4
Compare Source
261696e
v0.46.3
Compare Source
v0.46.2
Compare Source
653887a
v0.46.1
Compare Source
bundledDependencies
when publishing.v0.46.0
Compare Source
Breaking
dddc991
New rules
unicorn/template-indent
Improvements
431887d
Fixes
c9bbfb1
v0.45.0
Compare Source
New rules
no-bitwise
unicorn/no-useless-fallback-in-spread
unicorn/no-invalid-remove-event-listener
@typescript-eslint/naming-convention
@typescript-eslint/no-restricted-imports
@typescript-eslint/no-non-null-asserted-nullish-coalescing
@typescript-eslint/padding-line-between-statements
@typescript-eslint/no-meaningless-void-operator
Improvements
jsxBracketSameLine
option withbracketSameLine
(#609)506c151
import/named
rule for JavaScript (#601)623f259
v0.44.0
Compare Source
New rules
unicorn/prefer-object-from-entries
unicorn/no-useless-length-check
unicorn/no-useless-spread
@typescript-eslint/prefer-return-this-type
@typescript-eslint/ban-ts-comment
Improvements
e2e715d
trailingComma
option for Prettier toall
(#586)68cb5ab
Fixes
xo --print-config
without a filename (#587)5ff95ad
v0.43.0
Compare Source
Improvements
process
andBuffer
in Node.js explicitly9f40074
f2c5041
Fixes
512291b
v0.42.0
Compare Source
New rules
import/newline-after-import
f81e933
Improvements
globby
dependency (#574)34800b7
v0.41.0
Compare Source
Breaking
$ npx xo
.comma-dangle
rule, and@typescript-eslint/comma-dangle
if you use TypeScript.operator-linebreak
rule to enforce operatorsbefore
.New rules
arrow-body-style
unicorn/require-array-join-separator
unicorn/require-number-to-fixed-digits-argument
unicorn/prefer-prototype-methods
unicorn/no-array-method-this-argument
unicorn/require-post-message-target-origin
v0.40.3
Compare Source
xo.config.cjs
and.xo-config.cjs
(#561)374dd73
v0.40.2
Compare Source
parserOptions
for TypeScript (#557)7ace6e5
v0.40.1
Compare Source
d2c5750
parserOptions
option (#544)e9c96a1
v0.40.0
Compare Source
Breaking
If you cannot yet move to ESM, I recommend staying on XO 0.39 for now.
cc06c3c
New rules
unicorn/prefer-node-protocol
unicorn/prefer-module
unicorn/no-document-cookie
unicorn/numeric-separators-style
unicorn/prefer-array-flat
unicorn/prefer-array-flat-map
Meta
ESLint.CLIEngine
toESLint
(#534)0480d80
This should hopefully resolve a bunch of issues.
v0.39.1
Compare Source
fa34c74
v0.39.0
Compare Source
New rules
unicorn/no-static-only-class
unicorn/prefer-array-flat
unicorn/prefer-switch
@typescript-eslint/no-unsafe-argument
Breaking
esnext
optione80c094
unicorn/prevent-abbreviations
rule: Rename options sindresorhus/eslint-plugin-unicorn@cf42cc5unicorn/no-keyword-prefix
rule: Renameblacklist
option todisallowedPrefixes
sindresorhus/eslint-plugin-unicorn@91e60d0Improvements
--print-config
flag (#529)7b8dc70
import/default
rule for TypeScript filese3c511b
import/export
rule for TypeScript filesb385bee
v0.38.2
Compare Source
node/file-extension-in-import
rule for TypeScript projects (#523)1eb8230
It doesn't work properly with TypeScript projects.
v0.38.1
Compare Source
8b2fa78
v0.38.0
Compare Source
New rules
unicorn/no-new-array
unicorn/prefer-array-index-of
unicorn/prefer-regexp-test
unicorn/no-array-for-each
unicorn/no-array-push-push
unicorn/no-this-assignment
@typescript-eslint/object-curly-spacing
Improvements
f4f6b39
.mjs
and.cjs
as default extensions (#521)2e05c81
import/no-unassigned-import
allow list8156d42
Fixes
32bd3b8
v0.37.1
Compare Source
f56d90d
v0.37.0
Compare Source
New rules
no-unsafe-optional-chaining
no-useless-backreference
default-case-last
no-nonoctal-decimal-escape
unicorn/prefer-array-some
unicorn/prefer-default-parameters
unicorn/no-lonely-if
unicorn/empty-brace-spaces
unicorn/prefer-date-now
@typescript-eslint/non-nullable-type-assertion-style
@typescript-eslint/no-confusing-void-expression
Renamed rules
Only affects you if you had any of these rules disabled.
unicorn/no-fn-reference-in-iterator
→unicorn/no-array-callback-reference
unicorn/no-array-instanceof
→unicorn/no-instanceof-array
unicorn/no-reduce
→unicorn/no-array-reduce
unicorn/prefer-dataset
→unicorn/prefer-dom-node-dataset
unicorn/prefer-flat-map
→unicorn/prefer-array-flat-map
unicorn/prefer-replace-all
→unicorn/prefer-string-replace-all
unicorn/prefer-starts-ends-with
→unicorn/prefer-string-starts-ends-with
unicorn/prefer-text-content
→unicorn/prefer-dom-node-text-content
unicorn/prefer-trim-start-end
→unicorn/prefer-string-trim-start-end
unicorn/prefer-event-key
→unicorn/prefer-keyboard-event-key
unicorn/prefer-node-append
→unicorn/prefer-dom-node-append
unicorn/prefer-node-remove
→unicorn/prefer-dom-node-remove
Improvements
211f295
err
→error
for variable namesd801095
0ec4b8c
v0.36.1
Compare Source
a186078
v0.36.0
Compare Source
processor
optionbf6eb25
7731ea1
v0.35.0
Compare Source
New rules
@typescript-eslint/no-unnecessary-type-constraint
@typescript-eslint/space-infix-ops
Improvements
b1012d3
0555859
6fa99cd
v0.34.2
Compare Source
extensions
option (#503)35e6336
v0.34.1
Compare Source
unicorn/import-style
rule for TypeScript projects77716e2
It wants to use
import path from 'path';
which is not always possible.v0.34.0
Compare Source
New rules
unicorn/import-style
unicorn/prefer-math-trunc
@typescript-eslint/consistent-indexed-object-style
@typescript-eslint/no-duplicate-imports
@typescript-eslint/comma-dangle
@typescript-eslint/no-loop-func
@typescript-eslint/no-implicit-any-catch
Improvements
ba547e7
v0.33.1
Compare Source
ead63be
v0.33.0
Compare Source
New rules
no-unreachable-loop
no-promise-executor-return
no-loss-of-precision
unicorn/prefer-array-find
unicorn/no-object-as-default-parameter
@typescript-eslint/prefer-literal-enum-member
@typescript-eslint/no-loss-of-precision
@typescript-eslint/ban-tslint-comment
Improvements
f45ab80
v0.32.1
Compare Source
v0.32.0
Compare Source
0dd4a9d
import/extensions
ruled3abdb6
v0.31.0
Compare Source
New rules
unicorn/prefer-optional-catch-binding
unicorn/no-reduce
@typescript-eslint/lines-between-class-members
@typescript-eslint/no-invalid-void-type
@typescript-eslint/prefer-ts-expect-error
@typescript-eslint/no-unnecessary-condition
import/no-anonymous-default-export
import/no-named-default
Improvements
6a05691
v0.30.0
Compare Source
New rules
@typescript-eslint/class-literal-property-style
rule@typescript-eslint/prefer-readonly-parameter-types
rule@typescript-eslint/no-base-to-string
rule@typescript-eslint/keyword-spacing
rule@typescript-eslint/method-signature-style
rule@typescript-eslint/prefer-reduce-type-parameter
rule@typescript-eslint/no-floating-promises
ruleFixes
prettier
dependency at2.0.4
until we can resolve #466--stdin --fix
(#460)07e2762
v0.29.1
Compare Source
tap-snapshots/*.cjs
to default ignore list (#461)4783f26
unicorn/string-content
rule (#462)967927d
v0.29.0
Compare Source
New rules
unicorn/prefer-number-properties
unicorn/prefer-set-has
@typescript-eslint/class-literal-property-style
@typescript-eslint/no-unsafe-return
@typescript-eslint/no-unsafe-member-access
@typescript-eslint/no-unsafe-call
@typescript-eslint/prefer-readonly-parameter-types
@typescript-eslint/no-base-to-string
Improvements
e05efc3
nodeVersion
in XO config to overrideengines.node
(#457)f20f6d2
ignore
option toexpiring-todo-comment
rulev0.28.3
Compare Source
semicolon
option with TypeScript (#446)c47a0c6
a4625a7
v0.28.2
Compare Source
indent
rule for TS files too (#451)41b1bd7
28902f0
v0.28.1
Compare Source
xo-typescript
andprettier/@​typescript-eslint
before user extends (#442)6c57ff7
fc30597
v0.28.0
Compare Source
New rules
unicorn/string-content
rule (#439)5a22b77
unicorn/prevent-abbreviations
ruleba4efc9
This rule enforces more readable code by preventing the use of certain abbreviations in favor of the full word. Not everyone knows all abbreviations. Saving a few characters are not worth making your code less readable. List of abbreviations XO prevents.
Improvements
webpack
option (#375)f656ee3
extensions
andignores
from config files (#436)0d63c64
v0.27.2
Compare Source
1807537
v0.27.1
Compare Source
0ea5dbb
Important: We changed the cache structure, so you'll need to delete
node_modules/.cache/xo
:v0.27.0
Compare Source
b0dfcbd
You can now lint TypeScript projects without any extra config. You can also lint
d.ts
files in JS projects. Read more.e0f81a7
extends
,envs
,globals
,plugins
(#429)4cefdbc
node/no-unsupported-features
rules (#341)2297c07
import/no-unassigned-import
settings (#430)0c78113
v0.26.1
Compare Source
eslint-config-prettier
override (#422)9fbdb97
v0.26.0
Compare Source
Breaking
d7fa875
$ xo --init
to$ npm init xo
6463dfe
New rules
20 new rules 👌
ESLint
default-param-last
function-call-argument-newline
grouped-accessor-pairs
no-constructor-return
no-dupe-else-if
no-import-assign
no-setter-return
no-useless-catch
prefer-exponentiation-operator
prefer-named-capture-group
prefer-object-spread
prefer-regex-literals
Unicorn
unicorn/prefer-modern-dom-apis
unicorn/prefer-negative-index
unicorn/prefer-replace-all
unicorn/prefer-string-slice
unicorn/prefer-trim-start-end
Other
node/prefer-global/url-search-params
node/prefer-global/url
promise/prefer-await-to-then
Enhancements
es2020
environment by defaulteb5ea2c
Fixes
08af7c1
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 was generated by Mend Renovate. View the repository job log.