From 63906ec09b0af0264fcd8b2bc6e1e51e98da5c53 Mon Sep 17 00:00:00 2001 From: imbytecat Date: Sun, 8 Feb 2026 22:38:49 +0800 Subject: [PATCH] refactor(server): use util.parseArgs for declarative CLI arg parsing in compile.ts --- apps/server/compile.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/server/compile.ts b/apps/server/compile.ts index 55b3e10..b5bdb93 100644 --- a/apps/server/compile.ts +++ b/apps/server/compile.ts @@ -1,5 +1,5 @@ import { rm } from 'node:fs/promises' -import process from 'node:process' +import { parseArgs } from 'node:util' const ENTRYPOINT = '.output/server/index.mjs' const OUTDIR = 'out' @@ -23,16 +23,20 @@ const HOST_MAP: Record = { 'linux-arm64': 'bun-linux-arm64', } +const { values } = parseArgs({ + options: { target: { type: 'string' } }, + strict: true, + allowPositionals: false, +}) + const resolveTarget = (): Target => { - const idx = process.argv.indexOf('--target') - if (idx !== -1) { - const value = process.argv[idx + 1] - if (!isTarget(value)) { + if (values.target !== undefined) { + if (!isTarget(values.target)) { throw new Error( - `Invalid target: ${value}\nAllowed: ${Object.keys(TARGETS).join(', ')}`, + `Invalid target: ${values.target}\nAllowed: ${Object.keys(TARGETS).join(', ')}`, ) } - return value + return values.target } const key = `${process.platform}-${process.arch}`