44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
export const runCliEntryIfMain = (dependencies) => {
|
|||
|
|
const {
|
||
|
|
process,
|
||
|
|
currentFilename,
|
||
|
|
parseServeCliOptions,
|
||
|
|
defaultPort,
|
||
|
|
cloudflareProvider,
|
||
|
|
managedLocalMode,
|
||
|
|
setExitOnShutdown,
|
||
|
|
startServer,
|
||
|
|
} = dependencies;
|
||
|
|
|
||
|
|
const isCliExecution = process.argv[1] === currentFilename;
|
||
|
|
if (!isCliExecution) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
const cliOptions = parseServeCliOptions({
|
||
|
|
argv: process.argv.slice(2),
|
||
|
|
env: process.env,
|
||
|
|
defaultPort,
|
||
|
|
cloudflareProvider,
|
||
|
|
managedLocalMode,
|
||
|
|
});
|
||
|
|
|
||
|
|
setExitOnShutdown(true);
|
||
|
|
startServer({
|
||
|
|
port: cliOptions.port,
|
||
|
|
host: cliOptions.host,
|
||
|
|
tryCfTunnel: cliOptions.tryCfTunnel,
|
||
|
|
tunnelProvider: cliOptions.tunnelProvider,
|
||
|
|
tunnelMode: cliOptions.tunnelMode,
|
||
|
|
tunnelConfigPath: cliOptions.tunnelConfigPath,
|
||
|
|
tunnelToken: cliOptions.tunnelToken,
|
||
|
|
tunnelHostname: cliOptions.tunnelHostname,
|
||
|
|
attachSignals: true,
|
||
|
|
exitOnShutdown: true,
|
||
|
|
uiPassword: cliOptions.uiPassword,
|
||
|
|
}).catch((error) => {
|
||
|
|
console.error('Failed to start server:', error);
|
||
|
|
process.exit(1);
|
||
|
|
});
|
||
|
|
};
|