first commit
This commit is contained in:
67
node_modules/stylelint/lib/validateDisableSettings.mjs
generated
vendored
Normal file
67
node_modules/stylelint/lib/validateDisableSettings.mjs
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
import { isRegExp, isString } from './utils/validateTypes.mjs';
|
||||
import { DEFAULT_SEVERITY } from './constants.mjs';
|
||||
import validateOptions from './utils/validateOptions.mjs';
|
||||
|
||||
/** @import {DisablePropertyName, DisableOptions, PostcssResult} from 'stylelint' */
|
||||
|
||||
/**
|
||||
* Validates that the stylelint config for `result` has a valid disable field
|
||||
* named `field`, and returns the result in normalized form.
|
||||
*
|
||||
* Returns `[]` if no disables should be reported, and automatically reports
|
||||
* an invalid configuration.
|
||||
*
|
||||
* @param {PostcssResult} result
|
||||
* @param {DisablePropertyName} field
|
||||
* @returns {[boolean, Required<DisableOptions>] | []}
|
||||
*/
|
||||
export default function validateDisableSettings(result, field) {
|
||||
const stylelintResult = result.stylelint;
|
||||
|
||||
// Files with linting errors may not have configs associated with them.
|
||||
if (!stylelintResult.config) return [];
|
||||
|
||||
const rawSettings = stylelintResult.config[field];
|
||||
|
||||
/** @type {boolean} */
|
||||
let enabled;
|
||||
/** @type {DisableOptions} */
|
||||
let options;
|
||||
|
||||
if (Array.isArray(rawSettings)) {
|
||||
enabled = rawSettings[0];
|
||||
options = rawSettings[1] || {};
|
||||
} else {
|
||||
enabled = rawSettings || false;
|
||||
options = {};
|
||||
}
|
||||
|
||||
const validOptions = validateOptions(
|
||||
result,
|
||||
field,
|
||||
{
|
||||
actual: enabled,
|
||||
possible: [true, false],
|
||||
},
|
||||
{
|
||||
actual: options,
|
||||
possible: {
|
||||
except: [isString, isRegExp],
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
if (!validOptions) return [];
|
||||
|
||||
// If the check is disabled with no exceptions, there's no reason to run
|
||||
// it at all.
|
||||
if (!enabled && !options.except) return [];
|
||||
|
||||
return [
|
||||
enabled,
|
||||
{
|
||||
except: options.except || [],
|
||||
severity: options.severity || stylelintResult.config.defaultSeverity || DEFAULT_SEVERITY,
|
||||
},
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user