Socket
Book a DemoInstallSign in
Socket

w3c-html-validator

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

w3c-html-validator

A package for testing HTML files or URLs against the W3C validator (written in functional TypeScript)

Source
npmnpm
Version
1.1.1
Version published
Weekly downloads
1.3K
-25.6%
Maintainers
1
Weekly downloads
 
Created
Source

W3C HTML Validator

<img src=https://centerkey.com/graphics/center-key-logo.svg align=right width=200 alt=logo>

A package for testing HTML files or URLs against the W3C validator

License:MIT npm Vulnerabilities Build

1) Setup

Install

Install package for node:

$ npm install --save-dev w3c-html-validator

Import

Import into your application:

import { w3cHtmlValidator } from 'w3c-html-validator';

or invoke directly from the command line or from a package.json script.

2) Usage

Call the validate() function:

const options = { filename: 'docs/index.html' };
w3cHtmlValidator.validate(options).then(console.log);

To display formatted output, replace console.log with w3cHtmlValidator.reporter:

w3cHtmlValidator.validate(options).then(w3cHtmlValidator.reporter);

To see some example validation results, run the commands:

$ cd w3c-html-validator
$ node examples.js

<img src=https://raw.githubusercontent.com/center-key/w3c-html-validator/main/examples.png width=800 alt=screenshot>

3) Options

w3cHtmlValidator.validate(options)

Name (key)TypeDefaultDescription
htmlstringnullHTML string to validate.
filenamestringnullHTML file to validate.
websitestringnullURL of website to validate.
checkUrlstring'https://validator.w3.org/nu/'W3C validation API endpoint.
ignoreLevel'info' or 'warning'nullSkip unwanted messages.*
ignoreMessagesstring or regexnullSkip messages containing a string or matching a regular expression.*
output'json' or 'html''json'Get results as an array or as a web page.

*The ignoreMessages and ignoreLevel options only work for 'json' output.  Option value 'warning' also skips 'info'.

w3cHtmlValidator.reporter(options)

Name (key)TypeDefaultDescription
maxMessageLennumbernullTrim validation messages to not exceed a maximum length.
titlestringnullOverride display title (useful for naming HTML string inputs).

4) TypeScript Declarations

The TypeScript Declaration File file is w3c-html-validator.d.ts in the dist folder.

The output of the w3cHtmlValidator.validate(options: ValidatorOptions) function is a promise for ValidatorResults object:

type ValidatorResults = {
   validates: boolean,
   mode:      'html' | 'filename' | 'website';
   html:      string | null,
   filename:  string | null,
   website:   string | null,
   output:    'json' | 'html',
   status:    number,
   messages:  ValidatorResultsMessage[] | null,  //for 'json' output
   display:   string | null,                     //for 'html' output
   };

5) Mocha Example

import assert from 'assert';
import { w3cHtmlValidator } from 'w3c-html-validator';

describe('Home page', () => {
   it('validates', (done) => {
      const handleResults = (results) => {
         assert(results.status === 200, 'Request succeeded');
         assert(results.validates, 'Home page validates');
         done();
         };
      const options = { filename: 'docs/index.html' };
      w3cHtmlValidator.validate(options).then(handleResults);
      });
   });

6) Command Line

Example CLI usage:

$ npm install --save-dev w3c-html-validator
$ npx w3c-html-validator docs/*.html flyer.html
$ npx w3c-html-validator docs  #validate html files in a folder
$ npx w3c-html-validator  #validate all html files in project

or as an npm script in package.json:

   "scripts": {
      "validate": "w3c-html-validator docs/*.html flyer.html",
      "folder":   "w3c-html-validator docs",
      "all":      "w3c-html-validator"
   },

Passing no parameters defaults to validating all HTML files in the projects (skipping the node_modules folder).


Feel free to submit questions at:
github.com/center-key/w3c-html-validator/issues

MIT License

Keywords

html

FAQs

Package last updated on 17 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts