One-Step Builds

Can You Make a Build in One Step?

A build turns source files written by many people into something that runs on its own: in 2000 an executable and an installer, today a folder of minified, hashed assets ready for a CDN (Build Tools and Bundlers). Spolsky asked for a single script that checks out the code from scratch, rebuilds every line, and produces every shipping artifact. When a build takes ten manual steps, somebody skips one under deadline pressure.

For a front-end project the one step is an npm 2,036 script that a new developer, the CI server and the release job all run.

package.json scripts that make the build a single commandJSON
{
  "scripts": {
    "lint": "eslint .",
    "test": "vitest run",
    "build": "vite build",
    "ci": "npm run lint && npm run test && npm run build"
  }
}

npm ci && npm run ci on a clean checkout installs the lockfile's exact versions, then lints, tests and builds, stopping at the first failure.