Skip to content

2.10.0 (2022-10-14)

Compare
Choose a tag to compare
@strager strager released this 04 Apr 03:45
· 1952 commits to master since this release

Downloads

Added

  • E0286 and E0287 are now reported if the string or the value have extra
    parentheses (such as in (tag.toUpperCase()) === 'img') (implemented by
    Rebraws).
  • myArray === [] now reports E0344 (implemented by Rebraws).
  • myArray === [a, b, c] now reports E0341 (implemented by Rebraws).
  • CLI: The new --language option lets you opt out of JSX
    support. With --language=javascript, quick-lint-js will report E0177 for
    any uses of JSX.
  • You can opt into TypeScript support in the CLI using the
    --language=experimental-typescript option. TypeScript
    support is experimental, so there will be bugs (including crashes) in
    quick-lint-js. This option does not affect the LSP server.
  • E0149 and E0150 are now reported for labelled statements too
    (implemented by Guilherme Vasconcelos).

Fixed

  • static code blocks in classes no longer report E0242 ("TypeScript static
    blocks are not supported in JavaScript").
  • When writing implements in JavaScript code, quick-lint-js will no longer
    possibly report E0246 in addition to E0247. quick-lint-js will now
    only report E0247.
  • { x: y = z } in an expression no longer incorrectly reports E0253.
  • { x: y = z } now reports errors such as E0057 for z. (z used to be
    completely ignored during variable analysis.)
  • { x = z } now only reports E0253, instead of also reporting E0059
    for x.
  • class C { field!; } now only reports E0239 (TypeScript assignment-asserted
    fields are not supported in JavaScript) instead of both E0239 and
    E0236 (assignment-asserted field must have a type annotation).

Changed