UNPKG

waft-css-lint

Version:

WAFT Standard shareable config for stylelint

72 lines (71 loc) 3.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const dist_1 = __importDefault(require("waft-afuns/dist")); const colors_1 = __importDefault(require("colors")); const table_1 = require("table"); const ruleHandlerMap = {}; const createPropertyValueMessage = function (property, values) { return `${property} values is [${[...values]}]`; }; const messages = { 'flex-direction': createPropertyValueMessage('flex-direction', ['column', 'row']), 'font-family': createPropertyValueMessage('font-family', ['sans-serif', 'arial', 'helvetica', 'tahoma', 'verdana', 'sans-serif-condensed', 'serif', 'times', 'times new roman', 'palatino', 'georgia', 'baskerville', 'goudy', 'fantasy', 'ITC Stone Serif', 'monospace', 'sans-serif-monospace', 'monaco', 'serif-monospace', 'courier', 'courier new', 'casual', 'cursive', 'sans-serif-smallcaps', 'sans-serif-smallcaps']), }; ruleHandlerMap['declaration-property-value-allowed-list'] = function (message) { const { node } = message; const msg = node ? messages[node.prop] : message.text; message.text = msg; return output(message); }; function output(message) { if (message.text.includes('selector')) { return [`code: ${message.line}:${message.column}`, message.word || '', message.severity, message.text, message.rule]; } else { if (message.node) { return [`code: ${message.line}:${message.column}`, `${message.node.prop}: ${message.node.value}`, message.severity, message.text, message.rule]; } else { return [`code: ${message.line}:${message.column}`, message.severity, message.text, message.rule]; } } } const config2 = { border: (0, table_1.getBorderCharacters)('void'), columnDefault: { paddingLeft: 0, paddingRight: 1 }, drawHorizontalLine: () => false }; module.exports = function formatter(results, returnValue) { const outputs = results.map((data) => { const { errored, source, deprecations, _postcssResult, warnings } = data; let lines = []; if (_postcssResult) { const { messages = [] } = _postcssResult; lines = messages.map(message => { const { rule } = message; const factor = ruleHandlerMap[rule]; return factor ? factor(message) : output(message); }); } else if (warnings) { lines = warnings.map((message) => { return output(message); }); } const deprecationStrs = deprecations.map(deprecation => { return `${deprecation.text} \n ${deprecation.reference}`; }); return lines && lines.length > 0 ? dist_1.default.format('{0}\n{1}{2}\n', colors_1.default.bold(colors_1.default.red(source)), colors_1.default.blue(deprecationStrs.join('\n')), colors_1.default.yellow((0, table_1.table)(lines, config2))) : ""; }); return outputs.filter(s => s).join(''); };