Command-line arguments can be parsed into a small options object before script logic runs.

CLI Argument Parse

cli.ts
type ScriptOptions = {
    write: boolean;
    target: string;
};

function parseArgs(args: string[]): ScriptOptions {
    return {
        write: args.includes("--write"),
        target: args[args.length - 1]
    };
}

const modeFlag: string = ;
const args: string[] = [modeFlag, "dist"];
const options: ScriptOptions = parseArgs(args);

console.log(`${options.target}:${options.write ? "write" : "preview"}`);
type ScriptOptions = {
    write: boolean;
    target: string;
};

function parseArgs(args: string[]): ScriptOptions {
    return {
        write: args.includes("--write"),
        target: args[args.length - 1]
    };
}

const modeFlag: string = ;
const args: string[] = [modeFlag, "dist"];
const options: ScriptOptions = parseArgs(args);

console.log(`${options.target}:${options.write ? "write" : "preview"}`);
cli options Parsing arguments once gives the rest of a script named booleans and values instead of raw strings.