webhint is a customizable linting tool that helps you improve your site's accessibility, speed, cross-browser compatibility, and more by checking your code for best practices and common errors.
It can be run from the command line (CLI), via a browser extension, as a VS Code extension, and from the online service.
To use it from the CLI you will need to install Node.js
(v14.x or later) on your machine, and you can use npx
to test it.
Run the following command:
npx hint https://example.com
This will analyze https://example.com
using the default configuration.
Install webhint as a devDependency
of your project:
npm install hint --save-dev
And then add a script task to your package.json
:
{
...
"scripts": {
"webhint": "hint"
}
}
And run it via:
npm run webhint -- http://localhost:8080
Or if you are using yarn
you can skip the step to create a task and
run directly:
yarn hint http://localhost:8080
To know more about webhint, how to configure it, etc. see the online user guide, or the local version for the most recent content.
This project follows a monorepo pattern. That means that the code for all the webhint flavors (CLI, browser and VS Code extension, hints, formatters, etc.) are in here and are published as separate npm packages.
To build the project from the source you will need to install a recent version of node and yarn. Once you've done this run the following from the root of your cloned version:
yarn
yarn build
This can take a bit so please be patient.
To learn more about the internals of webhint
, the structure of the
project, how to create new hints, parsers, formatters, etc, take
a look at the online contributor guide (or the
local version).
To learn about how to build one of the extensions please check
the CONTRIBUTING.md
files for each of these packages:
packages/extension-browser/CONTRIBUTING.md
for the browser extension.packages/extension-vscode/CONTRIBUTING.md
for the VS Code extension.
All projects in the webhintio
organization follow this CoC
which adheres to the OpenJS Foundation Code of Conduct.
The code is available under the Apache 2.0 license.