Skip to content

2.12.0 (2023-03-08)

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

Downloads

Added

  • array[i, j] now reports E0450 ("misleading use of ',' operator in
    index") (implemented by Yunus).
  • while (x > 0, y > 0) now reports E0451 ("misleading use of ',' operator
    in conditional statement") (implemented by Yunus).
  • Improvements to experimental TypeScript support:
    • Type variables such as Readonly<T> and IArguments are now recognized by
      the new typescript global group which is enabled by default.
    • declare is now supported.
    • The old-style module syntax for namespaces is now supported.

Fixed

  • Fixed E0062 being reported when E0061 should be reported instead
    (fixed by Yunus).
  • TypeScript namespace without a body now reports E0356 instead of
    crashing with an assertion failure.

Changed

  • quick-lint-js' build system now optionally creates executes and runs them
    during the build. This behavior is controlled by the
    QUICK_LINT_JS_ENABLE_BUILD_TOOLS and QUICK_LINT_JS_USE_BUILD_TOOLS CMake
    variables.
    • For most people, QUICK_LINT_JS_ENABLE_BUILD_TOOLS is enabled by default
      and should work without extra configuration. No action is needed.
    • When cross-compiling, QUICK_LINT_JS_ENABLE_BUILD_TOOLS is disabled.
      Currently, QUICK_LINT_JS_ENABLE_BUILD_TOOLS is optional, so this should
      behave as before. However, in the future, either
      QUICK_LINT_JS_ENABLE_BUILD_TOOLS or QUICK_LINT_JS_USE_BUILD_TOOLS will
      be required.
    • If you need to configure the build tools specially, or if you want to build
      the build tools when cross-compiling, you must use the
      QUICK_LINT_JS_USE_BUILD_TOOLS CMake variable. See the cross-compiling
      documentation
      for instructions on using
      QUICK_LINT_JS_USE_BUILD_TOOLS correctly.