fix(health): resolve app version in Nix bundle at runtime
The health endpoint was returning version 0.0.0 because readPackageVersion() tried import.meta.require on a JSON path that Bun cannot bundle and the package.json never shipped into the Nix store (installPhase only copied dist/, home.html, schema.sql). - flake.nix installPhase now copies package.json into $out/share/teleuploader/ - readPackageVersion() reads import.meta.dir/../package.json (bundle) or process.cwd()/package.json (dev) via readFileSync at runtime Verified local resolution to 1.2.1; after this fixes deploy it will expose the live semver on GET /health.
This commit is contained in:
@@ -61,6 +61,9 @@
|
||||
cp -r dist $out/share/teleuploader/dist
|
||||
cp src/home.html $out/share/teleuploader/ 2>/dev/null || true
|
||||
cp schema.sql $out/share/teleuploader/ 2>/dev/null || true
|
||||
# Carry package.json into the store so runtime version lookup in
|
||||
# env.ts readPackageVersion() resolves (dist/../package.json).
|
||||
cp package.json $out/share/teleuploader/package.json
|
||||
|
||||
# Wrap with bun from Nix store (dependency sharing!)
|
||||
# Note: NO --chdir — systemd WorkingDirectory controls this
|
||||
|
||||
Reference in New Issue
Block a user