From c635f3284bf0e73cff0734119c877523d592dbe3 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Fri, 11 Aug 2023 09:09:00 -0700 Subject: [PATCH] fix(server): Generate help message before using attempting to resolve any require statements (#1910) The `requireOverride` resolves TSServer from the command line arguments. The `createLogger` import will end up executing this code. As a result, we need to parse and show the help message before the logger import or the --help option will fail due to a failure to resolve the TS dependency. fixes #1899 (cherry picked from commit 6d3267d4891d5e5404bc55b9d950bdb26e0ba279) --- server/src/server.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/server.ts b/server/src/server.ts index 769fc0d018..3d2febfe43 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -6,6 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ +// Parse command line arguments +const options = parseCommandLine(process.argv); + +if (options.help) { + console.error(generateHelpMessage(process.argv)); + process.exit(0); +} + import {generateHelpMessage, parseCommandLine} from './cmdline_utils'; import {createLogger} from './logger'; import {ServerHost} from './server_host'; @@ -13,14 +21,6 @@ import {Session} from './session'; import {resolveNgLangSvc, resolveTsServer} from './version_provider'; function main() { - // Parse command line arguments - const options = parseCommandLine(process.argv); - - if (options.help) { - console.error(generateHelpMessage(process.argv)); - process.exit(0); - } - // Create a logger that logs to file. OK to emit verbose entries. const logger = createLogger({ logFile: options.logFile,