Files
flipper/desktop/flipper-server-core/src/FlipperServerConfig.tsx
Andrey Goncharov b5cd33f7e8 Fix excessive error login for FLIPPER_BROWSER_PORT
Summary: Prior to this diff, an empty env var FLIPPER_BROWSER_PORT resulted in an error

Reviewed By: passy

Differential Revision: D33712720

fbshipit-source-id: 760fc92bbf44268ec428a3d2947735d5cf8567b7
2022-01-21 13:31:33 -08:00

92 lines
2.4 KiB
TypeScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import {FlipperServerConfig} from 'flipper-common';
import {
parseEnvironmentVariableAsNumber,
parseFlipperPorts,
} from './utils/environmentVariables';
let currentConfig: FlipperServerConfig | undefined = undefined;
// just an ugly utility to not need a reference to FlipperServerImpl itself everywhere
export function getFlipperServerConfig(): FlipperServerConfig {
if (!currentConfig) {
throw new Error('FlipperServerConfig has not been set');
}
return currentConfig;
}
export function setFlipperServerConfig(
config: FlipperServerConfig | undefined,
) {
currentConfig = config;
}
type ServerPorts = {
insecure: number;
secure: number;
};
export function getServerPortsConfig(): {
serverPorts: ServerPorts;
altServerPorts: ServerPorts;
browserPort: number;
} {
let portOverrides: ServerPorts | undefined;
if (process.env.FLIPPER_PORTS) {
portOverrides = parseFlipperPorts(process.env.FLIPPER_PORTS);
if (!portOverrides) {
console.error(
`Ignoring malformed FLIPPER_PORTS env variable:
"${process.env.FLIPPER_PORTS || ''}".
Example expected format: "1111,2222".`,
);
}
}
let portAltOverrides: ServerPorts | undefined;
if (process.env.FLIPPER_ALT_PORTS) {
portAltOverrides = parseFlipperPorts(process.env.FLIPPER_ALT_PORTS);
if (!portAltOverrides) {
console.error(
`Ignoring malformed FLIPPER_ALT_PORTS env variable:
"${process.env.FLIPPER_ALT_PORTS || ''}".
Example expected format: "1111,2222".`,
);
}
}
let portBrowserOverride: number | undefined;
if (process.env.FLIPPER_BROWSER_PORT) {
portBrowserOverride = parseEnvironmentVariableAsNumber(
'FLIPPER_BROWSER_PORT',
);
if (!portBrowserOverride) {
console.error(
`Ignoring malformed FLIPPER_BROWSER_PORT env variable:
"${process.env.FLIPPER_BROWSER_PORT || ''}".
Example expected format: "1111".`,
);
}
}
return {
serverPorts: portOverrides ?? {
insecure: 8089,
secure: 8088,
},
altServerPorts: portAltOverrides ?? {
insecure: 9089,
secure: 9088,
},
browserPort: portBrowserOverride ?? 8333,
};
}