UNPKG

stylelint

Version:

A mighty, modern CSS linter.

45 lines (34 loc) 870 B
/* @flow */ 'use strict'; const htmlTags = require('html-tags'); const keywordSets = require('../reference/keywordSets'); const mathMLTags = require('mathml-tag-names'); const svgTags = require('svg-tags'); /** * Check whether a type selector is a custom element */ module.exports = function(selector /*: string*/) /*: boolean*/ { if (!/^[a-z]/.test(selector)) { return false; } if (selector.indexOf('-') === -1) { return false; } const selectorLowerCase = selector.toLowerCase(); if (selectorLowerCase !== selector) { return false; } if (svgTags.indexOf(selectorLowerCase) !== -1) { return false; } if (htmlTags.indexOf(selectorLowerCase) !== -1) { return false; } if (keywordSets.nonStandardHtmlTags.has(selectorLowerCase)) { return false; } if (mathMLTags.indexOf(selectorLowerCase) !== -1) { return false; } return true; };