Get rid of perf_hooks package in Flipper UI
Summary: perf_hooks is no longer needed as these APIs are widely available in both browser and electron. Still needed in unit tests, as they run from Node Reviewed By: lblasa, aigoncharov Differential Revision: D32648253 fbshipit-source-id: 5718ea99b57f96f6858311fd0815ad18c476c99e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
9c913151bc
commit
2bf8ae2364
@@ -39,6 +39,23 @@ console.debug = function () {
|
||||
// Intentional noop, we don't want debug statements in Jest runs
|
||||
};
|
||||
|
||||
// make perf tools available in Node (it is available in Browser / Electron just fine)
|
||||
const {PerformanceObserver, performance} = require('perf_hooks');
|
||||
Object.freeze(performance);
|
||||
Object.freeze(Object.getPrototypeOf(performance));
|
||||
// Something in our unit tests is messing with the performance global
|
||||
// This fixes that.....
|
||||
Object.defineProperty(global, 'performance', {
|
||||
get() {
|
||||
return performance;
|
||||
},
|
||||
set() {
|
||||
throw new Error('Attempt to overwrite global.performance');
|
||||
},
|
||||
});
|
||||
|
||||
global.PerformanceObserver = PerformanceObserver;
|
||||
|
||||
// https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
|
||||
Object.defineProperty(window, 'matchMedia', {
|
||||
writable: true,
|
||||
|
||||
Reference in New Issue
Block a user