Фреймворк
После прочтения общего руководства по внесению вклада учтите следующие особенности репозитория nuxt/nuxt.
Путеводитель по монорепозиторию
packages/kit: Инструментарий для создания модулей Nuxt, опубликованный как@nuxt/kit.packages/nuxt: Ядро Nuxt, опубликованное какnuxt.packages/schema: кросс-версионная типизация и настройки по умолчанию Nuxt, опубликованы как@nuxt/schema.packages/rspack: сборщик Rspack для Nuxt, публикуется как@nuxt/rspack-builder.packages/vite: Пакет Vite для Nuxt, опубликованный как@nuxt/vite-builder.packages/webpack: Пакет webpack для Nuxt 3, опубликованный как@nuxt/webpack-builder.
Настройка
Чтобы внести свой вклад в Nuxt, вам нужно установить локальное окружение.
- Сделайте форк репозитория
nuxt/nuxtв свой аккаунт на GitHub, затем клонируйте его на машину. - Установите актуальную версию Node.js (20.x).
- Включите Corepack, чтобы иметь
pnpmиyarn.Терминалcorepack enable - Запустите
pnpm install --frozen-lockfileдля установки зависимостей с помощью pnpm:Терминалpnpm install --frozen-lockfileЕсли вы добавляете зависимость, пожалуйста, используйтеpnpm add.
Файлpnpm-lock.yamlявляется источником истины для всех зависимостей Nuxt. - Подготовьте локальное окружение для разработки:
Терминал
pnpm dev:prepare - Сделайте ветку, в которой вы можете работать, и зафиксируйте свои изменения:
Терминал
git checkout -b my-new-branch
Затем проверьте изменения в песочнице playground и через тесты перед тем как открыть PR (запрос на слияние).
Песочница (playground) {#playground}
Во время работы над PR вы, вероятно, захотите проверить, правильно ли работают ваши изменения.
Вы можете изменить пример приложения в playground/ и запустить его:
pnpm dev
playground/ в ветку PR. Лучше приложите пример кода в описание запроса на слияние — так ревьюерам и другим участникам проще понять суть изменений.Тестирование
У каждой новой возможности по возможности должен быть юнит-тест. Каталог test/ ещё развивается — ориентируйтесь на уже существующие тесты.
Прежде чем создавать PR или помечать его готовым к рассмотрению, убедитесь, что все тесты пройдены:
pnpm test
Линтинг
Вы, наверное, уже заметили, что мы используем ESLint для соблюдения стандартов по написанию кода.
Перед коммитом изменений, чтобы убедиться в правильности стиля кода, выполните команду:
pnpm lint
pnpm lint --fix, чтобы исправить большинство изменений стиля. Если ошибки остались, их нужно исправить вручную.
Документация
Новая возможность, рефакторинг или смена поведения Nuxt обычно требуют правок в документации — включайте их в тот же PR. Документацию можно донести не в первом коммите, но к зрелому состоянию PR она должна быть.
Итоговый чек-лист
В форме PR есть шаблон — заполните его и отметьте пункты в чек-листах, которые к вам относятся.
Руководство по документации
Если вы заметили область, в которой мы можем улучшить документацию или сообщения об ошибках, пожалуйста, откройте PR — даже если это просто исправление опечатки!
Быстрые исправления
Если вы заметили опечатку или хотите перефразировать предложение, нажмите ссылку Редактировать эту страницу, расположенную справа в разделе Сообщество.
Внесите правки в интерфейсе GitHub и откройте запрос на слияние.
Исправления подольше
Документация находится в каталоге docs/ репозитория nuxt/nuxt и написана в формате Markdown.
Линтинг документации
Документация линтится с помощью MarkdownLint и case police для поддержания целостности документации.
pnpm lint:docs
pnpm lint:docs:fix, чтобы найти и по возможности автоматически исправить замечания линтера.Отправьте PR
Убедитесь, что название вашего PR соответствует рекомендациям Conventional Commits.
docs: обновить раздел про файл nuxt.config.ts