Skip to content
Strata v1.2.6

2026-05-13: Fix tauri-build.sh — nest: command not found

Running npm run tauri:prod (or ./scripts/tauri-build.sh directly) fails with:

▸ Building backend …
sh: nest: command not found

scripts/tauri-build.sh installs backend dependencies with --omit=dev:

Terminal window
npm ci --omit=dev 2>/dev/null || npm install --omit=dev

@nestjs/cli — which provides the nest binary used by npm run buildnest build — is in devDependencies. Skipping dev deps means nest is never installed.

scripts/tauri-dev.sh is unaffected: it uses a full npm ci (no --omit=dev).

npm run tauri:prod produces a release build. DB selection in lib.rs:

fn is_dev_build() -> bool {
cfg!(debug_assertions) // false in release builds
}
// → db_file = "strata.db"
// → ~/Library/Application Support/Strata/strata.db (production DB)

The fix does not affect this routing. Debug builds (tauri dev) continue using strata-dev.db.

Remove --omit=dev from the backend install step in scripts/tauri-build.sh:

Terminal window
# Before:
npm ci --omit=dev 2>/dev/null || npm install --omit=dev
# After:
npm ci 2>/dev/null || npm install

The .app loads from the host repo clone (not redistributable — see bundle-node-runtime.md), so having dev deps in backend/node_modules is acceptable. Dev tools are needed to compile TypeScript; they are not shipped inside the .app bundle.

FileChange
scripts/tauri-build.shRemoved --omit=dev from backend npm ci

Commit: b1dace7

  • scripts/tauri-build.sh line 21: changed npm ci --omit=dev 2>/dev/null || npm install --omit=devnpm ci 2>/dev/null || npm install

None.

GateResult
Backend unit⏭ not affected
Backend e2e⏭ not affected
Frontend unit⏭ not affected
Frontend e2e⏭ not affected
Infra (tauri-build.sh)✅ backend builds without nest: command not found

None.