mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-05 11:31:31 +08:00
The CSS minifier we currently use (clean-css) is not maintained and lacks support for new CSS features. CSSNano is a replacement that supports features we need (primarily container queries). This CL only adds the relevant dependencies, and does not use it. I will do that (and remove clean-css) in a follow-up. Bug: 1399763 Change-Id: I899ecc4482164404dd5ac2fd13f92fb797978e29 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4092305 Commit-Queue: Jack Franklin <jacktfranklin@chromium.org> Reviewed-by: Alex Rudenko <alexrudenko@chromium.org> Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
23 lines
553 B
JavaScript
23 lines
553 B
JavaScript
'use strict';
|
|
|
|
module.exports = function (items, comparator) {
|
|
comparator = comparator
|
|
? comparator
|
|
: (a, b) => {
|
|
if (a < b) return -1;
|
|
if (a > b) return 1;
|
|
return 0;
|
|
};
|
|
let stabilizedItems = items.map((el, index) => [el, index]);
|
|
const stableComparator = (a, b) => {
|
|
let order = comparator(a[0], b[0]);
|
|
if (order != 0) return order;
|
|
return a[1] - b[1];
|
|
};
|
|
stabilizedItems.sort(stableComparator);
|
|
for (let i = 0; i < items.length; i++) {
|
|
items[i] = stabilizedItems[i][0];
|
|
}
|
|
return items;
|
|
};
|