Offline HTML5 validator. Validates either a full document or a smaller (incomplete) template, e.g. from an AngularJS or Vue.js component.
Read the full documentation at https://html-validate.org/
npm install -g html-validate
html-validate [OPTIONS] [FILENAME..] [DIR..]
Create .htmlvalidate.json
:
{
"extends": [
"html-validate:recommended"
],
"rules": {
"close-order": "error",
"void": ["warn", {"style": "omit"}]
}
}
<p>
<button>Click me!</button>
<div id="show-me">
Lorem ipsum
</div>
</p>
1:1 error Element <p> is implicitly closed by adjacent <div> no-implicit-close
2:2 error Button is missing type attribute button-type
6:4 error Unexpected close-tag, expected opening tag close-order
The library comes in four flavours:
dist/cjs/index.js
)dist/cjs/browser.js
)dist/es/index.js
)dist/es/browser.js
)The browser bundle contains a slimmed version without CLI and NodeJS dependencies.
/* automatically determine build based on `browser` export condition */
import { ... } from "html-validate";
/* explicitly use nodejs bundle */
import { ... } from "html-validate/node";
/* explicitly use browser bundle */
import { ... } from "html-validate/browser";
See running in browser for details about getting HTML-Validate running in a browser environment.
Testing is done using jest.
npm test
or call jest
directly.
Some tests are autogenerated from documentation examples, use npm run docs
to build those before running.
Linting is done using ESLint.
npm run eslint
or call eslint
directly.
npm run build
To build documentation use:
npm run docs
The documentation can be served locally using:
npm start