Перейти к основному содержимому

package.json

Основные правила для package.json:

Сортировка полей:

{
"name": "", // Используйте нижний регистр, разделенный дефисом. Избегайте пробелов и специальных символов.
"author": "abz.agency <[email protected]>",
"version": "", // Следуйте семантическому версионированию (semver) (MAJOR.MINOR.PATCH)
"private": true, // Предотвратить случайную публикацию проекта в публичных реестрах, таких как npm.
"description": "", // Краткое и четкое описание проекта.
"scripts": {}, // Скрипты.
"dependencies": {}, // Только runtime зависимости, необходимые приложению.
"devDependencies": {}, // Инструменты и библиотеки, используемые только для разработки.
"engines": {} // Укажите версии Node.js и npm для обеспечения согласованности.
}

scripts

Здесь находятся скрипты, для управления проектом. Например, скрипты для сборки проекта, запуска сервера разработки и другие вспомагательные скрипты, учитывая разные окружения (development, stage, production).

{
"scripts": {
"start:development": "./node_modules/.bin/env-cmd -f env/.env.development ./node_modules/.bin/next start -H 127.0.0.1",
"build:development": "cross-env ./node_modules/.bin/env-cmd -f env/.env.development ./node_modules/.bin/next build",
"start:production": "./node_modules/.bin/env-cmd -f env/.env.production ./node_modules/.bin/next start -H 127.0.0.1",
"build:production": "cross-env ./node_modules/.bin/env-cmd -f env/.env.production ./node_modules/.bin/next build"
}
}

engines

{
"engines": {
"node": ">=21.7.3",
"npm": ">=10.8.3"
}
}

dependencies vs devDependencies

  • dependencies - это зависимости, необходимые для работы вашего приложения в runtime.
  • devDependencies - это инструменты и библиотеки, используемые только для разработки.

Время от времени нужно пересматривать зависимости и удалять те, которые больше не используются, и проверять что зависимости только для разработки не попали в dependencies.