UNPKG

stylelint

Version:

A mighty, modern CSS linter.

58 lines (47 loc) 1.66 kB
'use strict'; const descriptionlessDisables = require('./descriptionlessDisables'); const invalidScopeDisables = require('./invalidScopeDisables'); const needlessDisables = require('./needlessDisables'); const reportDisables = require('./reportDisables'); /** @typedef {import('stylelint').Formatter} Formatter */ /** @typedef {import('stylelint').LintResult} StylelintResult */ /** @typedef {import('stylelint').LinterOptions["maxWarnings"]} maxWarnings */ /** @typedef {import('stylelint').LinterResult} LinterResult */ /** * @param {StylelintResult[]} stylelintResults * @param {maxWarnings} maxWarnings * @param {Formatter} formatter * @param {string} cwd * * @returns {LinterResult} */ function prepareReturnValue(stylelintResults, maxWarnings, formatter, cwd) { reportDisables(stylelintResults); needlessDisables(stylelintResults); invalidScopeDisables(stylelintResults); descriptionlessDisables(stylelintResults); const errored = stylelintResults.some( (result) => result.errored || result.parseErrors.length > 0 || result.warnings.some((warning) => warning.severity === 'error'), ); /** @type {LinterResult} */ const returnValue = { cwd, errored, results: [], output: '', reportedDisables: [], }; if (maxWarnings !== undefined) { const foundWarnings = stylelintResults.reduce((count, file) => count + file.warnings.length, 0); if (foundWarnings > maxWarnings) { returnValue.maxWarningsExceeded = { maxWarnings, foundWarnings }; } } returnValue.output = formatter(stylelintResults, returnValue); returnValue.results = stylelintResults; return returnValue; } module.exports = prepareReturnValue;