Buildpacks
Salus buildpacks are the default, in-house builder. Connect your repository and Salus detects your framework (React, Vue, Next.js, and others) and runs the right commands — no build files to write. You tune this under Build Configurations in your project settings; see Builds for how builds are triggered.
Where it helps to be explicit, you can override any of these in Build Configurations:
- Install command — how dependencies are installed. If you leave it empty, Salus auto-detects it from your lockfile (for example
npm ci,yarn install,pnpm install, orbun install). - Build command — the command that produces your production build. If you leave it empty, no build step runs.
- Output directory — the folder your build writes its final files to, relative to the project root. Salus serves or packages what it finds there.
- Test command — the command that runs your test suite during the unit testing stage.
Example build settings
Salus detects these for you — the values below are shown for reference:
| Framework | Build command | Output directory |
|---|---|---|
| React (Vite) | npm run build |
dist |
| Vue (Vite) | npm run build |
dist |
| Create React App | npm run build |
build |
| Astro | npm run build |
dist |
Server-side apps (for example Express, or Next.js in server mode) run continuously and don’t serve a build-output directory. Set a test command such as npm test to run your suite in the unit testing stage.
Need more control?
If a buildpack can’t express your build — a specific environment, complex system dependencies, or custom steps — build from your own Dockerfile instead. See Custom Docker Builds.
Troubleshooting
- Nothing was built. An empty build command means no build step runs. Set it if your framework needs a build.
- Deploy is missing files / serves the wrong thing. Check the output directory — it must point at the folder your build actually writes to, relative to the project root.
- Wrong runtime version. Set the correct language version in Build Configurations — see Supported Stacks.