diff --git a/.gitignore b/.gitignore index 9c72e420..bc1993ef 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ silverbullet deploy.json *.generated tmp_playground +/version.ts diff --git a/build_bundle.ts b/build_bundle.ts index 5d0ba043..10d6634f 100644 --- a/build_bundle.ts +++ b/build_bundle.ts @@ -1,6 +1,9 @@ import { denoPlugins } from "@luca/esbuild-deno-loader"; import * as esbuild from "esbuild"; +import { updateVersionFile } from "./update_version.ts"; + +await updateVersionFile(); await Deno.mkdir("dist", { recursive: true }); await esbuild.build({ entryPoints: { diff --git a/build_plugs.ts b/build_plugs.ts index 80fbc124..0e4bf936 100644 --- a/build_plugs.ts +++ b/build_plugs.ts @@ -4,6 +4,9 @@ import { compileManifests } from "./cmd/compile.ts"; import { builtinPlugNames } from "./plugs/builtin_plugs.ts"; import { parseArgs } from "@std/cli/parse-args"; import { fileURLToPath } from "node:url"; +import { updateVersionFile } from "./update_version.ts"; + +await updateVersionFile(); if (import.meta.main) { const args = parseArgs(Deno.args, { diff --git a/build_web.ts b/build_web.ts index 96778f67..7c43280f 100644 --- a/build_web.ts +++ b/build_web.ts @@ -8,6 +8,9 @@ import { parseArgs } from "@std/cli/parse-args"; import { patchDenoLibJS } from "./cmd/compile.ts"; import { denoPlugins } from "@luca/esbuild-deno-loader"; import * as esbuild from "esbuild"; +import { updateVersionFile } from "./update_version.ts"; + +await updateVersionFile(); export async function bundleAll( watch: boolean, diff --git a/update_version.ts b/update_version.ts new file mode 100644 index 00000000..5645c153 --- /dev/null +++ b/update_version.ts @@ -0,0 +1,16 @@ +export async function updateVersionFile() { + const command = new Deno.Command("git", { + args: ["describe", "--tags", "--long", "--dirty"], + stdout: "piped", + stderr: "piped", + }); + + const { stdout } = await command.output(); + const commitVersion = new TextDecoder().decode(stdout).trim(); + + const versionFilePath = "./version.ts"; + const versionContent = `export const version = "2.0-beta (${commitVersion})";\n`; + + await Deno.writeTextFile(versionFilePath, versionContent); + console.log(`Updated version.ts with version information: ${commitVersion}`); +} diff --git a/version.ts b/version.ts deleted file mode 100644 index 2da82898..00000000 --- a/version.ts +++ /dev/null @@ -1 +0,0 @@ -export const version = "2.0-beta";