You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class C { myField, } now reports better diagnostics.
quick-lint-js now compiles correctly on big-endian architectures such as
S/390 (Linux s390x).
Missing commas in array literals now reports E0712. (Implemented by koopiehoop.)
get *prop() and set *prop() in classes now report E0713 ("getters and
setters cannot be generators"). (Implemented by koopiehoop.)
async get and async set in classes now report E0714 ("'async' keyword
is not allowed on getters or setters"). (Implemented by koopiehoop.)
Multiple export default statements now report E0715 ("cannot use
multiple export default statements in one module"). (Implemented by Ariel Don.)
Emacs: The Debian/Ubuntu package now installs the Emacs plugin. Manual
installation of the .el files is no longer required.
CLI: The new --stdin-path CLI option allows users of the --stdin option
(primarily text editors) to have quick-lint-js detect the language
automatically via --language=default or --language=experimental-default.
TypeScript support (still experimental):
CLI: The new --language=experimental-default option auto-detects the
language based on the file's extension (.ts, .tsx, .d.ts, or .js).
E0398 is now reported when using both abstract and static on a
single class property.
, is now allowed after interface fields. (Previously only ; or a newline
was allowed.)
if (cond); now reports E0064 ("missing body for 'if' statement").
(Implemented by Samir Hamud.)
Type predicates are now supported in function types (e.g. (param) => param is Type).
declare fields are now parsed inside classes.
declare global blocks are now parsed.
Fixed
E0072 is no longer falsely reported if function has a newline after it.
E0196 is no longer falsely reported if the shadowing variable is declared
in the head of a for loop. For example, quick-lint-js no longer warns about let x; for (let x = 0;;);.
Emacs: .el files are now installed in the correct place on Arch Linux, btw.
Emacs: The Flymake plugin now reliably clears out diagnostics after issues are
fixed. Sticky diagnostics are no more.
TypeScript support (still experimental):
A newline after public, protected, private, or readonly inside a
class is now interpreted correctly.
<T>(T: T) => {} (a generic arrow function with the same name for a
run-time parameter and a generic parameter) no longer falsely reports E0034 ("redeclaration of variable").
A namespace with the same name as an interface or type alias no longer
falsely reports E0034 ("redeclaration of variable").
declare class and function with the same name no longer falsely reports E0034 ("redeclaration of variable").
(a?, ...b) => ReturnType in a TypeScript type no longer falsely reports E0379 ("optional parameter cannot be followed by a required parameter").
LSP: A file named a.tsxbanana.ts is no longer recognized as a
TypeScript JSX file. It is now recognized as a non-JSX TypeScript
file.
Nested module declarations no longer falsely report E0361. E0361's
message has been changed:
Before: "module with string name is only allowed at the top level"
After: "TypeScript 'declare module' with string name is not allowed in
namespaces"