diff --git a/src/cli/program.ts b/src/cli/program.ts index dcb72ec19..4a78611e5 100644 --- a/src/cli/program.ts +++ b/src/cli/program.ts @@ -8,6 +8,7 @@ import { danger, info, setVerbose, setYes, warn } from "../globals.js"; import { loginWeb, monitorWebProvider, pickProvider } from "../provider-web.js"; import { defaultRuntime } from "../runtime.js"; import type { Provider } from "../utils.js"; +import { VERSION } from "../version.js"; import { createDefaultDeps, logTwilioFrom, @@ -18,7 +19,7 @@ import { spawnRelayTmux } from "./relay_tmux.js"; export function buildProgram() { const program = new Command(); - const PROGRAM_VERSION = "0.1.4"; + const PROGRAM_VERSION = VERSION; const TAGLINE = "Send, receive, and auto-reply on WhatsApp—Twilio-backed or QR-linked."; diff --git a/src/provider-web.ts b/src/provider-web.ts index 79d521459..52cab6d5c 100644 --- a/src/provider-web.ts +++ b/src/provider-web.ts @@ -23,6 +23,7 @@ import { saveMediaBuffer } from "./media/store.js"; import { defaultRuntime, type RuntimeEnv } from "./runtime.js"; import type { Provider } from "./utils.js"; import { ensureDir, jidToE164, toWhatsappJid } from "./utils.js"; +import { VERSION } from "./version.js"; function formatDuration(ms: number) { return ms >= 1000 ? `${(ms / 1000).toFixed(2)}s` : `${ms}ms`; @@ -53,7 +54,7 @@ export async function createWaSocket(printQr: boolean, verbose: boolean) { version, logger, printQRInTerminal: false, - browser: ["warelay", "cli", "0.1.4"], + browser: ["warelay", "cli", VERSION], syncFullHistory: false, markOnlineOnConnect: false, }); diff --git a/src/version.ts b/src/version.ts new file mode 100644 index 000000000..c43b54bac --- /dev/null +++ b/src/version.ts @@ -0,0 +1,7 @@ +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); +const pkg = require("../package.json") as { version?: string }; + +// Single source of truth for the current warelay version (reads from package.json). +export const VERSION = pkg.version ?? "0.0.0";