mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 05:35:05 +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>
68 lines
1.3 KiB
JavaScript
68 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const tokenize = require('postcss/lib/tokenize');
|
|
|
|
function templateTokenize(input) {
|
|
let pos = input.quasis[0].start;
|
|
const quasis = input.quasis.filter((quasi) => quasi.start !== quasi.end);
|
|
const tokenizer = tokenize.apply(this, arguments);
|
|
|
|
function tokenInExpressions(token, returned) {
|
|
const start = pos;
|
|
|
|
pos += token[1].length;
|
|
|
|
if (
|
|
!quasis.some((quasi) => start >= quasi.start && pos <= quasi.end) ||
|
|
(returned.length && token[0] === returned[0][0])
|
|
) {
|
|
return true;
|
|
} else if (returned.length) {
|
|
back(token);
|
|
}
|
|
}
|
|
|
|
function back(token) {
|
|
pos -= token[1].length;
|
|
|
|
return tokenizer.back.apply(tokenizer, arguments);
|
|
}
|
|
|
|
function nextToken() {
|
|
const args = arguments;
|
|
const returned = [];
|
|
let token;
|
|
let line;
|
|
let column;
|
|
|
|
while (
|
|
(token = tokenizer.nextToken.apply(tokenizer, args)) &&
|
|
tokenInExpressions(token, returned)
|
|
) {
|
|
line = token[4] || token[2] || line;
|
|
column = token[5] || token[3] || column;
|
|
returned.push(token);
|
|
}
|
|
|
|
if (returned.length) {
|
|
token = [
|
|
returned[0][0],
|
|
returned.map((token) => token[1]).join(''),
|
|
returned[0][2],
|
|
returned[0][3],
|
|
line,
|
|
column,
|
|
];
|
|
}
|
|
|
|
return token;
|
|
}
|
|
|
|
return Object.assign({}, tokenizer, {
|
|
back,
|
|
nextToken,
|
|
});
|
|
}
|
|
|
|
module.exports = templateTokenize;
|