UNPKG

stylelint

Version:

A mighty, modern CSS linter.

32 lines (27 loc) 808 B
/* @flow */ 'use strict'; /** * Check whether a combinator is standard * * @param {Node} postcss-selector-parser node (of type combinator) * @return {boolean} If `true`, the combinator is standard */ const _ = require('lodash'); module.exports = function(node /*: Object*/) /*: boolean*/ { // Ghost descendant combinators around reference combinators like `/deep/` // postcss-selector-parser parsers references combinators as tag selectors surrounded // by descendant combinators if ( (node.prev() && node.prev().type === 'tag' && _.startsWith(node.prev().value, '/') && _.endsWith(node.prev().value, '/')) || (node.next() && node.next().type === 'tag' && _.startsWith(node.next().value, '/') && _.endsWith(node.next().value, '/')) ) { return false; } return true; };