stylelint
Version:
A mighty, modern CSS linter.
72 lines (59 loc) • 2.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (stylelint, postcssResult, filePath) {
var source = !postcssResult.root.source ? undefined : postcssResult.root.source.input.file || postcssResult.root.source.input.id;
// Strip out deprecation warnings from the messages
var deprecationMessages = _lodash2.default.remove(postcssResult.messages, { stylelintType: "deprecation" });
var deprecations = deprecationMessages.map(function (deprecationMessage) {
return {
text: deprecationMessage.text,
reference: deprecationMessage.stylelintReference
};
});
// Also strip out invalid options
var invalidOptionMessages = _lodash2.default.remove(postcssResult.messages, { stylelintType: "invalidOption" });
var invalidOptionWarnings = invalidOptionMessages.map(function (invalidOptionMessage) {
return {
text: invalidOptionMessage.text
};
});
// This defines the stylelint result object that formatters receive
var stylelintResult = {
source: source,
deprecations: deprecations,
invalidOptionWarnings: invalidOptionWarnings,
errored: postcssResult.stylelint.stylelintError,
warnings: postcssResult.messages.map(function (message) {
return {
line: message.line,
column: message.column,
rule: message.rule,
severity: message.severity,
text: message.text
};
}),
ignored: postcssResult.stylelint.ignored,
_postcssResult: postcssResult
};
return stylelint.getConfigForFile(filePath).then(function (_ref) {
var config = _ref.config;
if (config.resultProcessors) {
config.resultProcessors.forEach(function (resultProcessor) {
// Result processors might just mutate the result object,
// or might return a new one
var returned = resultProcessor(stylelintResult, source);
if (returned) {
stylelintResult = returned;
}
});
}
return stylelintResult;
});
};
var _result = require("postcss/lib/result");
var _result2 = _interopRequireDefault(_result);
var _lodash = require("lodash");
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }