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>
78 lines
1.6 KiB
JavaScript
78 lines
1.6 KiB
JavaScript
"use strict";
|
|
const path = require("path");
|
|
const patched = {};
|
|
|
|
function isPromise (obj) {
|
|
return typeof obj === "object" && typeof obj.then === "function";
|
|
}
|
|
|
|
function runDocument (plugin) {
|
|
const result = this.result;
|
|
result.lastPlugin = plugin;
|
|
const promise = result.root.nodes.map(root => {
|
|
try {
|
|
return plugin(root, result);
|
|
} catch (error) {
|
|
this.handleError(error, plugin);
|
|
throw error;
|
|
}
|
|
});
|
|
if (promise.some(isPromise)) {
|
|
return Promise.all(promise);
|
|
}
|
|
}
|
|
|
|
function patchDocument (Document, LazyResult) {
|
|
LazyResult = LazyResult.prototype;
|
|
const runRoot = LazyResult.run;
|
|
|
|
LazyResult.run = function run () {
|
|
return (this.result.root instanceof Document ? runDocument : runRoot).apply(this, arguments);
|
|
};
|
|
}
|
|
|
|
function patchNode (Node) {
|
|
Node = Node.prototype;
|
|
const NodeToString = Node.toString;
|
|
Node.toString = function toString (stringifier) {
|
|
return NodeToString.call(this, stringifier || this.root().source.syntax);
|
|
};
|
|
}
|
|
|
|
function patch (Document) {
|
|
let fn;
|
|
let file;
|
|
if (Document) {
|
|
patch();
|
|
fn = patchDocument.bind(this, Document);
|
|
file = "lazy-result";
|
|
} else {
|
|
fn = patchNode;
|
|
file = "node";
|
|
}
|
|
findPostcss().map(dir => (
|
|
[dir + "lib", file].join(path.sep)
|
|
)).filter(file => (
|
|
!patched[file]
|
|
)).forEach(file => {
|
|
try {
|
|
fn(require(file));
|
|
} catch (ex) {
|
|
//
|
|
}
|
|
patched[file] = true;
|
|
});
|
|
}
|
|
|
|
function findPostcss () {
|
|
const result = {};
|
|
for (const file in require.cache) {
|
|
if (/^(.+?(\\|\/))postcss(\2)/.test(file)) {
|
|
result[RegExp.lastMatch] = true;
|
|
}
|
|
}
|
|
return Object.keys(result);
|
|
}
|
|
|
|
module.exports = patch;
|