site-validator-cli
Version:
A command line tool that takes a URL or a file, then uses html-validator (a wrapper for https://validator.w3.org/nu/) to validate each page.
37 lines (35 loc) • 915 B
JavaScript
module.exports = async (page, quiet, isLocal) => {
const validator = require('html-validator')
const isNotFound = require('./is-not-found')
const parseData = require('./parse-data')
const result = {
url: page,
status: undefined,
errors: []
}
try {
const data = await validator({ url: page, isLocal: isLocal })
const dataParsed = JSON.parse(data)
if (isNotFound(dataParsed)) {
result.status = 'not found'
} else {
var errors
if (quiet) {
errors = parseData(dataParsed.messages.filter(m => m.type === 'error'))
} else {
errors = parseData(dataParsed.messages)
}
if (errors.length !== 0) {
result.status = 'fail'
result.errors = errors
} else {
result.status = 'pass'
}
}
} catch (error) {
result.status = 'error'
result.errors.push(error)
}
return result
}