mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-11 06:04:55 +08:00
This reverts commit 1e08ee816b.
Reason for revert: tree is closed due to errors https://ci.chromium.org/ui/p/devtools-frontend/builders/ci/Stand-alone%20Linux/8169/overview
Original change's description:
> Update stylelint to 14.0.1
>
> This also upgrades PostCSS to 8.3.11.
>
> DISABLE_THIRD_PARTY_CHECK=Updating Stylelint configuration
> R=szuend@chromium.org
>
> Bug: none
> Change-Id: I606540b03509d7c6e73f3d490327cd4174e03d31
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3259541
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Bug: none
Change-Id: Icb1c02b41dbccc3b4fc5760f5dd0b78eca078b61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3263399
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
/** @typedef {import('postcss-value-parser').Node} ValueNode */
|
|
|
|
/**
|
|
* @param {ValueNode | undefined} valueNode
|
|
* @returns {boolean}
|
|
*/
|
|
module.exports = function (valueNode) {
|
|
if (!valueNode) {
|
|
return false;
|
|
}
|
|
|
|
if (valueNode.type !== 'function' || !valueNode.nodes || valueNode.value) {
|
|
return false;
|
|
}
|
|
|
|
// It's necessary to remove comments and spaces if they are present
|
|
const cleanNodes = valueNode.nodes.filter(
|
|
(node) => node.type !== 'comment' && node.type !== 'space',
|
|
);
|
|
|
|
// Map without comments and spaces will have the structure like $map (prop: value, prop2: value)
|
|
// ↑ ↑ ↑ ↑
|
|
// 0 1 2 3
|
|
if (cleanNodes[0] && cleanNodes[0].type !== 'word' && cleanNodes[0].type !== 'string') {
|
|
return false;
|
|
}
|
|
|
|
if (cleanNodes[1] && cleanNodes[1].value !== ':') {
|
|
return false;
|
|
}
|
|
|
|
// There is no need to check type or value of this node since it could be anything
|
|
if (!cleanNodes[2]) {
|
|
return false;
|
|
}
|
|
|
|
if (cleanNodes[3] && cleanNodes[3].value !== ',') {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
};
|