Clean up globals
Summary: This diff is some boyscouting on cleaning up our globals, and stop using them inconsistently icmw global or window Reviewed By: aigoncharov Differential Revision: D33171108 fbshipit-source-id: 400893e5f31523631a7ab6fda428524c751901f1
This commit is contained in:
committed by
Facebook GitHub Bot
parent
c42c54f69d
commit
cea7be7fde
@@ -29,12 +29,6 @@ import type {Icon, RenderHost} from 'flipper-ui-core';
|
||||
import {getLocalIconUrl} from '../utils/icons';
|
||||
import {getCPUUsage} from 'process';
|
||||
|
||||
declare const electronRequire: {
|
||||
(name: string): any;
|
||||
resolve: (module: string) => string;
|
||||
cache: {[module: string]: any};
|
||||
};
|
||||
|
||||
export function initializeElectron(
|
||||
flipperServer: FlipperServer,
|
||||
flipperServerConfig: FlipperServerConfig,
|
||||
@@ -64,7 +58,7 @@ export function initializeElectron(
|
||||
}
|
||||
}
|
||||
|
||||
window.FlipperRenderHostInstance = {
|
||||
FlipperRenderHostInstance = {
|
||||
processId: remote.process.pid,
|
||||
isProduction,
|
||||
readTextFromClipboard() {
|
||||
|
||||
@@ -42,20 +42,6 @@ import fs from 'fs';
|
||||
|
||||
enableMapSet();
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
// We store this as a global, to make sure the renderHost is available
|
||||
// before flipper-ui-core is loaded and needs those during module initialisation
|
||||
FlipperRenderHostInstance: RenderHost;
|
||||
}
|
||||
}
|
||||
|
||||
declare const electronRequire: {
|
||||
(name: string): any;
|
||||
resolve: (module: string) => string;
|
||||
cache: {[module: string]: any};
|
||||
};
|
||||
|
||||
if (process.env.NODE_ENV === 'development' && os.platform() === 'darwin') {
|
||||
// By default Node.JS has its internal certificate storage and doesn't use
|
||||
// the system store. Because of this, it's impossible to access ondemand / devserver
|
||||
|
||||
@@ -58,7 +58,7 @@ type ClientCsrQuery = {
|
||||
csr_path?: string | undefined;
|
||||
};
|
||||
|
||||
declare interface ServerController {
|
||||
interface ServerController {
|
||||
on(event: 'error', callback: (err: Error) => void): this;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ export async function startWebServerDev(
|
||||
'electron-requires.js',
|
||||
);
|
||||
const stubModules = new Set<string>(
|
||||
(global as any).electronRequire(electronRequires).BUILTINS,
|
||||
electronRequire(electronRequires).BUILTINS,
|
||||
);
|
||||
if (!stubModules.size) {
|
||||
throw new Error('Failed to load list of Node builtins');
|
||||
|
||||
@@ -17,8 +17,6 @@ declare global {
|
||||
debug: boolean;
|
||||
};
|
||||
|
||||
FlipperRenderHostInstance: RenderHost;
|
||||
|
||||
flipperShowError?(error: string): void;
|
||||
flipperHideError?(): void;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ document.getElementById('root')!.innerText = 'flipper-ui-browser started';
|
||||
|
||||
async function start() {
|
||||
// @ts-ignore
|
||||
(global as any).electronRequire = function (path: string) {
|
||||
electronRequire = function (path: string) {
|
||||
console.error(
|
||||
`[decapitate] Tried to electronRequire ${path}, this module is not available in the browser and will be stubbed`,
|
||||
);
|
||||
|
||||
@@ -14,7 +14,7 @@ export function initializeRenderHost(
|
||||
flipperServer: FlipperServer,
|
||||
flipperServerConfig: FlipperServerConfig,
|
||||
) {
|
||||
window.FlipperRenderHostInstance = {
|
||||
FlipperRenderHostInstance = {
|
||||
readTextFromClipboard() {
|
||||
// TODO:
|
||||
return undefined;
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"compilerOptions": {
|
||||
"outDir": "lib",
|
||||
"rootDir": "src",
|
||||
"lib": ["dom", "ES2019"]
|
||||
"lib": ["dom", "ES2019"],
|
||||
"types": ["../types/flipperGlobals"]
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
|
||||
@@ -141,8 +141,8 @@ export interface RenderHost {
|
||||
}
|
||||
|
||||
export function getRenderHostInstance(): RenderHost {
|
||||
if (!window.FlipperRenderHostInstance) {
|
||||
if (!FlipperRenderHostInstance) {
|
||||
throw new Error('global FlipperRenderHostInstance was never set');
|
||||
}
|
||||
return window.FlipperRenderHostInstance;
|
||||
return FlipperRenderHostInstance;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,5 @@ declare global {
|
||||
__REDUX_DEVTOOLS_EXTENSION__:
|
||||
| undefined
|
||||
| (StoreEnhancerStoreCreator & StoreEnhancerStateSanitizer);
|
||||
|
||||
FlipperRenderHostInstance: RenderHost;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"esModuleInterop": true,
|
||||
"emitDeclarationOnly": true,
|
||||
"lib": ["dom", "es2019"],
|
||||
"types": ["../types/ReactDebounceRender"]
|
||||
"types": ["../types/ReactDebounceRender", "../types/flipperGlobals"]
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
|
||||
@@ -132,7 +132,7 @@ async function generateDefaultPluginEntryPoints(
|
||||
/* eslint-disable */
|
||||
// THIS FILE IS AUTO-GENERATED by function "generateDefaultPluginEntryPoints" in "build-utils.ts".
|
||||
|
||||
declare var require: any;
|
||||
declare const require: any;
|
||||
|
||||
// This function exists to make sure that if one require fails in its module initialisation, not everything fails
|
||||
function tryRequire(module: string, fn: () => any): any {
|
||||
|
||||
13
desktop/types/flipperGlobals.d.ts
vendored
13
desktop/types/flipperGlobals.d.ts
vendored
@@ -15,15 +15,4 @@ declare const electronRequire: {
|
||||
cache: {[module: string]: any};
|
||||
};
|
||||
|
||||
// For Electron
|
||||
declare module NodeJS {
|
||||
interface Global {
|
||||
__REVISION__: string | undefined;
|
||||
__VERSION__: string;
|
||||
electronRequire: {
|
||||
(name: string): any;
|
||||
resolve: (module: string) => string;
|
||||
cache: {[module: string]: any};
|
||||
};
|
||||
}
|
||||
}
|
||||
declare let FlipperRenderHostInstance: any /* RenderHost */;
|
||||
|
||||
Reference in New Issue
Block a user