Skip to content

quick-lint/quick-lint-js

Repository files navigation

quick-lint-js

quick-lint-js finds bugs in JavaScript programs.

quick-lint-js finds many bugs, including:

  • Using a variable which does not exist
  • Assigning to a const variable
  • Using await in a non-async function
  • Syntax errors

Demonstration of quick-lint-js in Visual Studio Code

Installing

There are many ways to install quick-lint-js, depending on how you prefer to work! Here are the environments we support:

  • CLI (Command-Line Interface)
  • LSP (Language Server Protocol)
  • Editor Plugins for:
    • Visual Studio Code (VSCode)
    • VSCodium
    • Vim/Neovim
    • Sublime Text
    • Emacs
    • Kate

For detailed installation instructions, visit the quick-lint-js installation guide.

Examples

Here are some common bugs that quick-lint-js can catch:

Example 1: Undefined Variable

const occupation = "Engineer";
console.log("Welcome, " + ocupation); // Typo: 'ocupation' should be 'occupation'

Output: use of undeclared variable: ocupation

Example 2: Reassigning a const variable

const name = "John";
name = "Doe"; // Error: Cannot reassign a constant

Output: assignment to const variable: name

Example 3: Using await in a non-async function

function getData() {
  await fetch("/data");
}

Output: await used in non-async function

These are just a few examples of how quick-lint-js can help identify common issues in your JavaScript code.

Contributing

We’re always happy to welcome new contributors! If you’d like to contribute to quick-lint-js, please refer to the contributing guide on our website for all the details.

Check out the contributing guide here.

Contact

If you have any questions or feedback, feel free to reach out:

  • Bugs and feature requests: File an issue on GitHub.
  • IRC: Ask questions in the #quick-lint-js channel on Libera.Chat.
  • Security bug reports (private disclosure): Email us at [email protected].