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
92 lines
2.4 KiB
TypeScript
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,
|
|
};
|
|
}
|