UNPKG

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.

21 lines (19 loc) 865 B
'use strict' module.exports = async (pagesToValidate, options) => { const { default: PQueue } = require('p-queue') const validatePage = require('./helpers-validate-pages/validate-page') const getResultText = require('./console-texts/get-result-text') const failFast = require('./helpers-validate-pages/fail-fast') const queue = new PQueue({ concurrency: 3 }) const pagesNotFound = [] const pagesFail = [] const results = pagesToValidate.map(page => queue.add(async () => { const result = await validatePage(page, options.quiet, options.isLocal) console.log(getResultText(result, options.verbose)) if (result.status === 'not found') { pagesNotFound.push(page) } if (result.errors !== 0) { pagesFail.push(page) } if (options.failfast) { failFast(pagesNotFound, pagesFail) } return result })) return Promise.all(results) }