hint-no-inline-styles
Version:
Invalidate the use of CSS inline styles in HTML
41 lines (40 loc) • 1.75 kB
JavaScript
;
exports.__esModule = true;
var utils_types_1 = require("@hint/utils-types");
var meta_1 = require("./meta");
var i18n_import_1 = require("./i18n.import");
var utils_debug_1 = require("@hint/utils-debug");
var debug = utils_debug_1.debug(__filename);
/*
* ------------------------------------------------------------------------------
* Public
* ------------------------------------------------------------------------------
*/
var NoInlineStylesHint = /** @class */ (function () {
function NoInlineStylesHint(context) {
var validate = function (_a) {
var resource = _a.resource;
var pageDOM = context.pageDOM;
if (pageDOM.isFragment) {
return;
}
var styleElements = pageDOM.querySelectorAll('style');
debug("Validating rule no-inline-styles");
if (styleElements.length > 0) {
context.report(resource, i18n_import_1.getMessage('styleElementFound', context.language), { severity: utils_types_1.Severity.error });
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/*
* Check if style attribute is used in any element
*/
var elementsWithStyleAttribute = pageDOM.querySelectorAll('[style]');
if (elementsWithStyleAttribute.length > 0) {
context.report(resource, i18n_import_1.getMessage('elementsWithStyleAttributeFound', context.language), { severity: utils_types_1.Severity.error });
}
};
context.on('traverse::end', validate);
}
NoInlineStylesHint.meta = meta_1["default"];
return NoInlineStylesHint;
}());
exports["default"] = NoInlineStylesHint;