Deploy a Astro app that uses pnpm
EasyHost picks pnpm when it finds pnpm-lock.yaml. There is nothing to configure, and these are the exact commands it runs for Astro.
What EasyHost runs
| Step | Command |
|---|---|
| Lockfile | pnpm-lock.yaml |
| Install | corepack enable pnpm && pnpm install --frozen-lockfile |
| Build | astro build, through your package build script |
| Start | node ./dist/server/entry.mjs, set as the start command |
Scripts run with pnpm run <script>. Dev dependencies are available during the build, and the app runs with NODE_ENV=production.
Deploy
Install @astrojs/node in standalone mode and use on-demand rendering where you need a server.
npx ezhst projects create my-project --link npx ezhst apps create my-app npx ezhst link --project <project-slug> --app <app-slug> npx astro add node npx ezhst build set --start "node ./dist/server/entry.mjs" npx ezhst env import .env npx ezhst deploy
Things to watch with pnpm
Corepack uses the version in the packageManager field when you set one. A stale lockfile fails --frozen-lockfile.
Commit pnpm-lock.yaml. Without any lockfile, EasyHost falls back to npm install. To replace the install step, run ezhst build set --install "<command>".
Next steps
See the Astro hub for every Astro guide, or free Astro hosting for what is included.
Frequently asked questions
How do I change the pnpm install command?
Run ezhst build set --install "<command>", then ezhst redeploy. Pass an empty string to return to auto-detection.
Start for free
Install the skill, choose Global or Local, then tell your agent to deploy. No credit card, no config files.
npx ezhst skill install