Repository navigation
Releases
Releases · MARCROCK22/veslint
veslint v0.21.0
- 8 rules of eslint-plugin-unicorn for spreads and redundant calls:
unicorn/consistent-empty-array-spread,unicorn/no-immediate-mutation,unicorn/no-useless-collection-argument,unicorn/no-useless-fallback-in-spread,unicorn/no-useless-iterator-to-array,unicorn/no-useless-spread,unicorn/prefer-single-callandunicorn/prefer-spread. - 9 rules of eslint-plugin-unicorn for promises, async code and web APIs:
unicorn/no-await-expression-member,unicorn/no-await-in-promise-methods,unicorn/no-invalid-fetch-options,unicorn/no-single-promise-in-promise-methods,unicorn/no-thenable,unicorn/no-unnecessary-await,unicorn/no-useless-promise-resolve-reject,unicorn/prefer-blob-reading-methodsandunicorn/prefer-response-static-json. - They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests.
- Fixes:
- The unicorn rules use TypeScript's types only when the parser has a program, as unicorn does (
withTypeInformation): withprojectService: false, some of them looked at the types all the same. getStaticValuereads the value of a shorthand property ({method}) as the identifier it is.
- The unicorn rules use TypeScript's types only when the parser has a program, as unicorn does (
veslint v0.20.0
- 7 rules that
@marcrock22/eslintcfturns on:array-callback-return,no-lonely-if,no-negated-condition,no-throw-literalandrequire-atomic-updatesof ESLint core, and@typescript-eslint/class-methods-use-thisand@typescript-eslint/no-explicit-any. They come with their options, fixes and suggestions, and pass the cases of their own tests. - The rules follow ESLint 10.15.0, typescript-eslint 8.72.2 and eslint-plugin-unicorn 79.0.0 (the versions of
@marcrock22/eslintcf0.0.1), instead of ESLint 10.6.0, typescript-eslint 8.62.0 and unicorn 64.0.0. 125 ported rules changed in those versions — new checks, messages, fixes and suggestions — and give what the new versions give; every rule passes the cases of its new upstream tests. - Renamed and removed rules:
unicorn/no-array-for-eachis nowunicorn/no-for-each.unicorn/no-hex-escapeis deprecated in unicorn 79 and reports nothing. - New options:
preserve-caught-error:errorClassNames.no-unmodified-loop-condition:checkConditionalExpressions.@typescript-eslint/await-thenable:allowMixedPromiseArrays.@typescript-eslint/no-misused-promises:checksConditionals: { flagUnions }.unicorn/switch-case-braces:"single-statement".unicorn/prefer-ternary:checkVaryingBaseandcheckComputedMemberAccess.unicorn/no-array-callback-reference:ignore.unicorn/no-unreadable-array-destructuring:maximumIgnoredElements.
- Changed defaults:
unicorn/prefer-number-propertiesno longer checksNaNunlesscheckNaNis set. - Types in unicorn's rules: as unicorn 79 does when the parser has a program, the unicorn rules use TypeScript's types (arrays, strings, numbers, BigInts, sets…).
- The project service lints a file from a program whose current directory is the one veslint runs in, as typescript-estree 8.72 does in a single run:
from: "file"type specifiers are relative to it (with--fix, to the directory of the tsconfig, as before);veslint --server(the VS Code extension) does the same, so it gives what the command line gives. - Directive comments:
__proto__is a name like any other in/* global */and/* exported */comments (@eslint/plugin-kit 0.7.3). A comment that names@typescript-eslint/no-generated-empty-object-typeor@typescript-eslint/no-unsafe-enum-assignment(new in typescript-eslint 8.72) no longer gets "Definition for rule … was not found.". - Scope: as typescript-eslint 8.72's scope manager, a global declared by several of TypeScript's libraries is a type and a value when any of them declares it so (the
libof the tsconfig), and the global scope starts at the start of the file. - Fixes:
@typescript-eslint/no-unnecessary-type-assertionoverflowed the stack on a recursive generic type.prefer-consttakes everyletdeclaration of a name declared more than once (TypeScript rejects it, ESLint lints it), as ESLint does: a name declared by aconstand then by aletis reported, and a name declared by twolets is reported once for each.@typescript-eslint/prefer-readonlyand@typescript-eslint/prefer-return-this-typewarned that a node was not analyzed on adeclare class.- Grammar: after the block of an arrow function and a line break, an operator, template or regular expression starts a new statement, as in TypeScript.
- Development: the ESLint processes of
tests/rules/reference.shandcross.shlint at most 15 files each (typescript-eslint 8.72 keeps a program per project).
veslint v0.19.1
- VS Code extension: the open files are linted again when another file changes. A problem that came from the types of another file (
@typescript-eslint/no-unsafe-returnon a type madeanythere, say) stayed in the editor after that file was fixed, until the file was edited, though the command line no longer gave it. Now, when a file changes (as you type, when it is saved, or on disk), the other open files of its folder are linted again after it: those on screen at once, the others when they are shown.
veslint v0.19.0
- 8 rules of eslint-plugin-unicorn for array lengths and indexes:
unicorn/consistent-existence-index-check,unicorn/explicit-length-check,unicorn/no-unnecessary-array-flat-depth,unicorn/no-unnecessary-array-splice-count,unicorn/no-unnecessary-slice-end,unicorn/no-unreadable-array-destructuring,unicorn/no-useless-length-checkandunicorn/prefer-set-size. They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests.
veslint v0.18.0
- 12 rules of eslint-plugin-unicorn for array methods and callbacks:
unicorn/no-array-callback-reference,unicorn/no-array-for-each,unicorn/no-array-method-this-argument,unicorn/no-array-reverse,unicorn/no-array-sort,unicorn/no-new-array,unicorn/prefer-array-flat,unicorn/prefer-array-flat-map,unicorn/prefer-array-index-of,unicorn/prefer-array-some,unicorn/prefer-negative-indexandunicorn/require-array-join-separator. They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests.
veslint v0.17.0
- 5 rules of eslint-plugin-unicorn for math and coercion:
unicorn/prefer-math-min-max,unicorn/prefer-math-trunc,unicorn/prefer-modern-math-apis,unicorn/prefer-native-coercion-functionsandunicorn/require-number-to-fixed-digits-argument. They come with their fixes and suggestions, and pass the cases of unicorn's own tests. - Development:
tests/rules/reference.shandtests/rules/cross.shrun ESLint in parallel (JOBS, the CPUs by default).
veslint v0.16.0
- 13 rules of eslint-plugin-unicorn for strings and numbers:
unicorn/consistent-template-literal-escape,unicorn/escape-case,unicorn/no-console-spaces,unicorn/no-hex-escape,unicorn/no-zero-fractions,unicorn/prefer-bigint-literals,unicorn/prefer-code-point,unicorn/prefer-number-properties,unicorn/prefer-string-raw,unicorn/prefer-string-replace-all,unicorn/prefer-string-slice,unicorn/prefer-string-trim-start-endandunicorn/text-encoding-identifier-case. They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests. - Fix (grammar): a number that starts with a dot at the start of a line (
a⏎.5) continued the statement before it, where JavaScript ends that statement.
veslint v0.15.0
- 12 rules of eslint-plugin-unicorn for errors and built-ins:
unicorn/consistent-assert,unicorn/consistent-date-clone,unicorn/custom-error-definition,unicorn/error-message,unicorn/new-for-builtins,unicorn/no-instanceof-builtins,unicorn/no-new-buffer,unicorn/no-useless-error-capture-stack-trace,unicorn/prefer-date-now,unicorn/prefer-structured-clone,unicorn/prefer-type-errorandunicorn/throw-new-error. They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests. - Fix (grammar):
newat the end of a line (return new⏎Foo(), or with a comment afternew) was read as a name, which ended the statement there. Two cases of typescript-eslint's own tests that were listed as known differences now pass.
veslint v0.14.0
- 12 rules of eslint-plugin-unicorn for conditions and switches:
unicorn/no-lonely-if,unicorn/no-negated-condition,unicorn/no-negation-in-equality-check,unicorn/no-nested-ternary,unicorn/no-typeof-undefined,unicorn/no-useless-switch-case,unicorn/prefer-logical-operator-over-ternary,unicorn/prefer-simple-condition-first,unicorn/prefer-switch,unicorn/prefer-ternary,unicorn/switch-case-bracesandunicorn/switch-case-break-position. They come with their options, fixes and suggestions, and pass the cases of unicorn's own tests. - Rule options: the
minimumandmaximumkeywords of a rule's schema are now validated, as ESLint does. - The README is shorter: install, usage, configuration and the list of supported rules.
- Development:
make testruns its slow checks in parallel (JOBS, the CPUs by default): about 18 minutes instead of 45 on four CPUs.
veslint v0.13.0
- The VS Code extension is on the Visual Studio Marketplace as
MARCROCK22.veslint, with the veslint logo. A.vsixinstalled from an earlier release has the identifierveslint.veslint: uninstall it, so that only one runs. veslint: Update veslintdownloads the latest release for Linux x64 or Windows x64, with the TypeScript 7 compiler it runs, into the extension's storage, and lints with it from then on (unlessveslint.pathis set). When the extension cannot run veslint, it offers to download it.- Update notice: at most once a day, the extension looks for a newer release and asks whether to install it, with
Update,Release NotesorSkip This Version. Nothing is installed without asking;veslint.checkForUpdatesturns the check off. veslint --versionprints the version.- The text of each GitHub release is its section of this changelog.