Files
Nikolay Vitkov 2a1b3b34b1 Update StyleLint to v16
Stylelint v16 deprecated CJS so I moved our lint script to ESM,
and fixed all the deprecation warning.
The only place I needed to silence them were tests,
as we import CJS there.

Bug: none
Change-Id: Iae4d2df76c855a9738b774a2d035f22509770215
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6138610
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
2025-01-03 02:57:06 -08:00

33 lines
826 B
JavaScript

/**
* Check whether a combinator is standard
*
* @param {import('postcss-selector-parser').Combinator} node postcss-selector-parser node (of type combinator)
* @returns {boolean} If `true`, the combinator is standard
*/
export default function isStandardSyntaxCombinator(node) {
// if it's not a combinator, then it's not a standard combinator
if (node.type !== 'combinator') {
return false;
}
// Ignore reference combinators like `/deep/`
if (node.value.startsWith('/') || node.value.endsWith('/')) {
return false;
}
// ignore the combinators that are the first or last node in their container
if (node.parent !== undefined && node.parent !== null) {
const parent = node.parent;
if (node === parent.first) {
return false;
}
if (node === parent.last) {
return false;
}
}
return true;
}