Онлайн-валидатор W3C с резервным оффлайн-валидатором.
npm i -E posthtml-w3c-validator
const { validateHtml } = require('posthtml-w3c-validator');
// Где-то внутри middleware, получившей HTML-код:
if (process.env.NODE_ENV === 'development') {
const validationMessage = await validateHtml({ htmlCode });
console.log(validationMessage);
}
validateHtml
принимает объект с параметрами:
htmlCode
– проверяемый HTML-код.sourceName
– источник кода, отображаемый перед выводом номеров строки и символа. По умолчанию – пустая строка.htmlvalidateOptions
– опции резервного валидатора. По умолчанию – содержимое .htmlvalidate.json
данного пакета.const { getPosthtmlW3cValidator } = require('posthtml-w3c-validator');
module.exports = () => ({
plugins: [
// other plugins
getPosthtmlW3cValidator()
]
});
getPosthtmlW3cValidator
может принимать объект с необязательными параметрами:
getSourceName
– коллбэк для генерации имени источника на основе posthtml-дерева. По умолчанию – (tree) => tree.options.from
.log
– коллбэк-логгер. По умолчанию – console.log
.htmlvalidateOptions
– Опции резервного валидатора. По умолчанию – содержимое .htmlvalidate.json
данного пакета.forceOffline
– запускает резервный валидатор не только при недоступности основного, но и при ненахождении им ошибок (чтобы задействовать некоторые проверки доступности, отсутствующие в основном валидаторе). По умолчанию – false
.exit
– осуществляет принудительный выход из приложения (например, при тестировании в сборочной линии или в прекоммит-хуке). По умолчанию – false
.