You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
478 B
18 lines
478 B
|
2 years ago
|
module.exports = function getContainingNode(node) {
|
||
|
|
if (node.type === 'rule' || node.type === 'atrule') {
|
||
|
|
return node;
|
||
|
|
}
|
||
|
|
|
||
|
|
// postcss-styled-syntax: declarations are children of Root node
|
||
|
|
if (node.parent?.type === 'root' && node.parent?.raws.isRuleLike) {
|
||
|
|
return node.parent;
|
||
|
|
}
|
||
|
|
|
||
|
|
// @stylelint/postcss-css-in-js: declarations are children of Root node
|
||
|
|
if (node.parent?.document?.nodes?.some((item) => item.type === 'root')) {
|
||
|
|
return node.parent;
|
||
|
|
}
|
||
|
|
|
||
|
|
return node;
|
||
|
|
};
|