Skip to content

v1.4.0 — Railway support

Choose a tag to compare

@Alok-Fusion Alok-Fusion released this 23 Aug 15:34
· 2 commits to main since this release

What's new

Railway deployment check — predeploy-check now supports Railway
alongside Render and Vercel. The new check catches five confirmed
real-world Railway failure patterns:

Hardcoded port — detects app.listen(3000) without a process.env.PORT
fallback. Railway injects the port at runtime, so hardcoded values cause
apps that build and run fine locally to silently fail in production.

Invalid builder — flags unsupported values in railway.toml or
railway.json. Only nixpacks, dockerfile, heroku, and railpack
are valid. Any other value causes a silent build failure.

Missing Nixpacks build plan — warns when there's no package.json,
requirements.txt, or nixpacks.toml, meaning Nixpacks cannot detect
the project type and will refuse to build.

Monorepo without explicit routing — warns when multiple subdirectories
each contain a package.json and no watchPaths is configured, since
Nixpacks won't know which app to deploy.

Missing start command — flags when neither package.json nor any
Railway config file provides a start command.

The Railway check skips automatically on non-Railway projects — it only
runs when railway.toml, railway.json, or nixpacks.toml is detected,
so Render/Vercel-only users see no change.

Testing

Added 18 new tests for the Railway check (100 total across the full suite).

Config

railway is now a valid check ID in predeploy.config.js:

module.exports = {
  checks: { 'railway': false } // disable if needed
};

Full Changelog: https://github.com/Alok-Fusion/predeploy_check/commits/v1.4.0