1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- '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').StylelintResult} StylelintResult */
- /** @typedef {import('stylelint').StylelintStandaloneOptions} StylelintStandaloneOptions */
- /** @typedef {import('stylelint').StylelintStandaloneReturnValue} StylelintStandaloneReturnValue */
- /**
- * @param {StylelintResult[]} stylelintResults
- * @param {StylelintStandaloneOptions} options
- * @param {Formatter} formatter
- *
- * @returns {StylelintStandaloneReturnValue}
- */
- function prepareReturnValue(stylelintResults, options, formatter) {
- const {
- reportNeedlessDisables,
- reportInvalidScopeDisables,
- reportDescriptionlessDisables,
- maxWarnings,
- } = options;
- const errored = stylelintResults.some(
- (result) => result.errored || result.parseErrors.length > 0,
- );
- /** @type {StylelintStandaloneReturnValue} */
- const returnValue = {
- errored,
- results: [],
- output: '',
- reportedDisables: reportDisables(stylelintResults),
- };
- if (reportNeedlessDisables) {
- returnValue.needlessDisables = needlessDisables(stylelintResults);
- }
- if (reportInvalidScopeDisables) {
- returnValue.invalidScopeDisables = invalidScopeDisables(stylelintResults);
- }
- if (reportDescriptionlessDisables) {
- returnValue.descriptionlessDisables = descriptionlessDisables(stylelintResults);
- }
- if (maxWarnings !== undefined) {
- const foundWarnings = stylelintResults.reduce((count, file) => {
- return 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;
|