package.json — это манифест проекта Node.js, содержащий метаданные, необходимые для управления зависимостями, сборки и запуска приложения.
Основные поля и их роль:
name: Название проекта.version: Текущая версия проекта.description: Краткое описание проекта.keywords: Массив ключевых слов для описания проекта.homepage: URL домашней страницы проекта.bugs: Объект с информацией о баг-трекере.license: Тип лицензии проекта.author: Информация об авторе проекта.contributors: Список контрибьюторов.files: Массив файлов, включаемых при публикации пакета.main: Точка входа в приложение (основной файл).browser: Точка входа для клиентской части (если применимо).bin: Команды, которые должны быть доступны глобально при установке пакета.man: Пути к файлам man-страниц.directories: Объект с путями к директориям проекта (например, lib, bin, man, doc).repository: Объект с информацией о репозитории исходного кода.scripts: Объект, содержащий скрипты, которые можно выполнять с помощью npm.config: Объект для настроек, специфичных для скриптов.dependencies: Объект, содержащий зависимости, необходимые для работы проекта в продакшене.devDependencies: Объект, содержащий зависимости, необходимые только для разработки и тестирования.peerDependencies: Зависимости, от которых пользователь пакета тоже должен зависеть.bundledDependencies: Массив имен зависимостей, которые должны быть упакованы с пакетом.optionalDependencies: Зависимости, которые могут быть установлены, но их отсутствие не приведет к ошибке установки.engines: Объект, указывающий версии Node.js и npm, поддерживаемые проектом.os: Массив операционных систем, на которых работает проект.cpu: Массив архитектур CPU, на которых работает проект.preferGlobal: Булево значение, указывающее, должен ли пакет устанавливаться глобально.private: Булево значение, указывающее, является ли пакет приватным и не должен ли быть опубликован в npm.publishConfig: Настройки для публикации пакета в npm.json
package.json играет ключевую роль в управлении зависимостями (установка, обновление, удаление), определении скриптов для автоматизации задач (запуск, тестирование, сборка), предоставлении метаданных о проекте для npm и других инструментов, а также в обеспечении воспроизводимости сборки проекта.