Package Exports
- html-validate
- html-validate/dist/cjs/browser.d.ts
- html-validate/dist/cjs/browser.js
- html-validate/dist/cjs/browser.js.map
- html-validate/dist/cjs/cli.js
- html-validate/dist/cjs/cli.js.map
- html-validate/dist/cjs/core.d.ts
- html-validate/dist/cjs/core.js
- html-validate/dist/cjs/core.js.map
- html-validate/dist/cjs/html-validate.js
- html-validate/dist/cjs/html-validate.js.map
- html-validate/dist/cjs/index.d.ts
- html-validate/dist/cjs/index.js
- html-validate/dist/cjs/index.js.map
- html-validate/dist/cjs/matchers.d.ts
- html-validate/dist/cjs/matchers.js
- html-validate/dist/cjs/matchers.js.map
- html-validate/dist/cjs/package.json
- html-validate/dist/cjs/test-utils.d.ts
- html-validate/dist/cjs/test-utils.js
- html-validate/dist/cjs/test-utils.js.map
- html-validate/dist/es/browser.d.ts
- html-validate/dist/es/browser.js
- html-validate/dist/es/browser.js.map
- html-validate/dist/es/cli.js
- html-validate/dist/es/cli.js.map
- html-validate/dist/es/core.d.ts
- html-validate/dist/es/core.js
- html-validate/dist/es/core.js.map
- html-validate/dist/es/html-validate.js
- html-validate/dist/es/html-validate.js.map
- html-validate/dist/es/index.d.ts
- html-validate/dist/es/index.js
- html-validate/dist/es/index.js.map
- html-validate/dist/es/matchers.d.ts
- html-validate/dist/es/matchers.js
- html-validate/dist/es/matchers.js.map
- html-validate/dist/es/package.json
- html-validate/dist/es/test-utils.d.ts
- html-validate/dist/es/test-utils.js
- html-validate/dist/es/test-utils.js.map
- html-validate/dist/schema/config.json
- html-validate/dist/schema/elements.json
- html-validate/elements/README.md
- html-validate/elements/entities.json
- html-validate/elements/html5.json
- html-validate/jest.js
- html-validate/package.json
- html-validate/test-utils.js
Readme
html-validate
Offline HTML5 validator. Validates either a full document or a smaller (incomplete) template, e.g. from an AngularJS or Vue.js component.
Features
- Can test fragments of HTML, for instance a component template.
- Does not upload any data to a remote server, all testing is done locally.
- Strict and non-forgiving parsing. It will not try to correct any incorrect markup or guess what it should do.
Bundles
The library comes in four flavours:
- CommonJS full (
dist/cjs/main.js
) - CommonJS browser (
dist/cjs/browser.js
) - ESM full (
dist/es/main.js
) - ESM browser (
dist/es/browser.js
)
The browser versions contains a slimmed version without CLI dependencies. Your tooling will probably use the correct version but if needed you can import the files directly.
Do note that to run in a browser you still need to polyfill the fs
nodejs library.
Browsers and bundlers are currently not 100% supported but is possible with some tricks, see running in browser for more details.
Usage
npm install -g html-validate
html-validate FILENAME..
Configuration
Create .htmlvalidate.json
:
{
"extends": [
"html-validate:recommended"
],
"rules": {
"close-order": "error",
"void": ["warn", {"style": "omit"}]
}
}
Example
<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
Developing
Prerequisites
- NodeJS 12
- NPM 7
Test
Testing is done using jest.
npm test
or call jest
directly.
Some tests are autogenerated from documentation examples, use npm run build:docs
to build those before running.
Lint
Linting is done using ESLint.
npm run eslint
or call eslint
directly.
Build
npm run build
To build documentation use:
npm run build:docs
The documentation can be served locally using:
npm start