foundation

npm scripts

Используйте package scripts для repeatable dev, test, build, validation, environment и lifecycle workflows.

Скрипты в package.json — контракт разработки, тестов, сборки и запуска; повторяемые команды без знания деталей toolchain.

					{
  "scripts": {
    "dev": "node --watch src/server.js",
    "build": "tsc -p tsconfig.build.json",
    "start": "node dist/server.js",
    "test": "vitest run",
    "lint": "eslint .",
    "prestart": "npm run build"
  }
}
				

`npm run` добавляет `node_modules/.bin` в PATH — локальные CLI без глобальной установки. Хуки `pre*`/`post*` связывают шаги, но могут удивить CI.

Кроссплатформенность: небольшие Node-обёртки или `cross-env`, не shell-синтаксис только для Unix.

На интервью: структура скриптов для CI и локальной разработки; `prepare` для git hooks; `npm test` как единая точка верификации.

Типовые ошибки: бизнес-логика в bash one-liner; скрипты с глобальным побочным эффектом; нет ветки поведения при `CI=true`.

Компромисс — между простотой, производительностью, безопасностью и эксплуатацией: назовите, что оптимизировали и какую цену приняли.

Чеклист:

  • Одна очевидная команда на задачу.
  • Toolchain в devDependencies.
  • Идемпотентность для CI.
  • Документируйте ожидаемые env vars.