quick-lint-js
quick-lint-js copied to clipboard
quick-lint-js finds bugs in JavaScript programs
```js class C { foo() {} foo() {} // warning } ```
`x! == y` is legal TypeScript but might have been a typo for `x !== y`. Issue a warning, suggesting parentheses around `x!` if a null assertion was intended. Note:...
`!"key" in obj` is the same as `false in obj`, which is probably unintended. Warn on `in` where the left-hand side is `!` followed by a literal (number or string...
https://stackoverflow.com/questions/27679534/javascript-greater-or-equal-than-positive-zero Wrong code: `x > -0` Intent: Is `x`'s sign bit positive? I.e., is `x` 0 (but not `-0`) or positive? xx > -01 / x > 01 / Math.sign(x)...
```js while (false) interface Banana {} function f() { let x: Banana; // no error! } for (;;) interface Orange {} function g() { let x: Orange; // error! }...
https://quick-lint-js.com/blog/version-1.0/
If a regular expression literal contains invalid flags (`/hello/q4`), quick-lint-js should report an error. See the [ECMAScript standard RegExpInitialize](https://www.ecma-international.org/ecma-262/11.0/index.html#sec-regexpinitialize) for an explanation of what flags are valid. See lex.cpp, error.h,...