Фреймворк
После общего гайда по контрибуции — несколько конкретных моментов про контрибуцию в репозиторий 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, публикуется как@nuxt/webpack-builder.
Настройка
Чтобы контрибьютить в Nuxt, нужна локальная среда.
- Сделайте fork репозитория
nuxt/nuxtи склонируйте его локально. - Убедитесь, что используется актуальная Node.js.
- Включите Corepack для
pnpmиyarn:Terminalcorepack enable - Установите зависимости:
pnpm install --frozen-lockfileTerminalpnpm install --frozen-lockfileПри добавлении зависимости используйтеpnpm add.
Файлpnpm-lock.yaml— источник истины для всех зависимостей Nuxt. - Активируйте систему пассивной разработки:
Terminal
pnpm dev:prepare - Создайте ветку и закоммитьте изменения:
Terminal
git checkout -b my-new-branch
Затем проверьте изменения в playground и тестах перед отправкой PR.
Playground
При работе над PR удобно проверять изменения на примере приложения.
Можно править пример в playground/ и запускать:
pnpm dev
Тесты
У каждой новой фичи по возможности должен быть юнит-тест. Директория test/ в репозитории в процессе развития; по возможности добавляйте тесты по аналогии с существующими.
Перед созданием PR или пометкой «ready to review» убедитесь, что все тесты проходят:
pnpm test
Линтинг
Мы используем ESLint для единого стиля кода.
Перед коммитом проверьте стиль:
pnpm lint
pnpm lint --fix для автоматического исправления большинства замечаний. Оставшиеся ошибки нужно исправить вручную.
Документация
При добавлении фичи, рефакторинге или изменении поведения Nuxt стоит обновить документацию. Включайте правки docs в тот же PR (не обязательно в первом коммите, но до созревания PR).
Чек-лист перед отправкой
При отправке PR нужно заполнить шаблон и отметить подходящие пункты в чек-листах.
Гайд по документации
Если заметили, что можно улучшить документацию или сообщения об ошибках — откройте PR, даже если это только опечатка!
Быстрые правки
При опечатке или желании переформулировать фразу можно нажать Edit this page в боковой панели справа в разделе Community.
Внесите правку прямо в интерфейсе GitHub и откройте Pull Request.
Объёмные правки
Контент документации лежит в директории docs/ репозитория nuxt/nuxt и написан в markdown.
Линтинг документации
Документация линтится с помощью MarkdownLint и case police для единообразия.
pnpm lint:docs
pnpm lint:docs:fix для подсветки и исправления замечаний линтера.Открытие PR
Заголовок PR должен соответствовать conventional commits.
docs: update the section about the nuxt.config.ts file