From 79d0e08c620b804a527191c19ff2fd057194e2c4 Mon Sep 17 00:00:00 2001 From: Xiaomin Liu Date: Thu, 30 Nov 2023 17:22:24 -0500 Subject: [PATCH 1/2] feat: add -v flag to display version --- src/bin/index.test.ts | 12 ++++++++++++ src/bin/index.ts | 13 ++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/bin/index.test.ts b/src/bin/index.test.ts index 1ae744d91..ddd52c47d 100644 --- a/src/bin/index.test.ts +++ b/src/bin/index.test.ts @@ -2,6 +2,7 @@ import chalk from "chalk"; import { beforeEach, describe, expect, it, vi } from "vitest"; import z from "zod"; +import { getVersionFromPackageJson } from "./packageJson.js"; import { bin } from "./index.js"; const mockCancel = vi.fn(); @@ -63,6 +64,7 @@ vi.mock("./promptForMode.js", () => ({ describe("bin", () => { beforeEach(() => { vi.spyOn(console, "clear").mockImplementation(() => undefined); + vi.spyOn(console, "log").mockImplementation(() => undefined); }); it("returns 1 when promptForMode returns an undefined mode", async () => { @@ -190,4 +192,14 @@ describe("bin", () => { ); expect(result).toEqual(code); }); + + it("prints the version when the --version flag is passed", async () => { + const args = ["--version"]; + const version = await getVersionFromPackageJson(); + + const result = await bin(args); + + expect(console.log).toHaveBeenCalledWith(version); + expect(result).toBe(0); + }); }); diff --git a/src/bin/index.ts b/src/bin/index.ts index d5823d358..923727759 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -44,17 +44,24 @@ export async function bin(args: string[]) { type: "boolean", }, mode: { type: "string" }, + version: { + short: "v", + type: "boolean", + }, }, strict: false, }); - const help = values.help; - - if (help) { + if (values.help) { logHelpText([introPrompts, ...introWarnings]); return 0; } + if (values.version) { + console.log(version); + return 0; + } + prompts.intro(introPrompts); logLine(); From 866c9c0c0ae0069de330f532e78ee6c20c0d66cf Mon Sep 17 00:00:00 2001 From: Xiaomin Liu Date: Fri, 1 Dec 2023 18:07:51 -0500 Subject: [PATCH 2/2] lint index.test.ts --- src/bin/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/index.test.ts b/src/bin/index.test.ts index ddd52c47d..8ed7fa0a9 100644 --- a/src/bin/index.test.ts +++ b/src/bin/index.test.ts @@ -2,8 +2,8 @@ import chalk from "chalk"; import { beforeEach, describe, expect, it, vi } from "vitest"; import z from "zod"; -import { getVersionFromPackageJson } from "./packageJson.js"; import { bin } from "./index.js"; +import { getVersionFromPackageJson } from "./packageJson.js"; const mockCancel = vi.fn(); const mockOutro = vi.fn();