Фреймворк
После прочтения общего руководства по внесению вклада, вот некоторые специфические моменты, которые следует учитывать при внесении вклада в репозиторий nuxt/nuxt
.
Путеводитель по монорепозиторию
packages/kit
: Инструментарий для создания модулей Nuxt, опубликованный как@nuxt/kit
.packages/nuxt
: Ядро Nuxt, опубликованное какnuxt
.packages/schema
: Кросс-версионные типизация и настройки по умолчанию Nuxt, опубликованы как@nuxt/schema
.packages/test-utils
: Тестовые утилиты для Nuxt, опубликованы как@nuxt/test-utils
.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
.Terminalcorepack enable
- Запустите
pnpm install --frozen-lockfile
для установки зависимостей с помощью pnpm:Terminalpnpm install --frozen-lockfile
Если вы добавляете зависимость, пожалуйста, используйтеpnpm add
.
Файлpnpm-lock.yaml
является источником истины для всех зависимостей Nuxt. - Активируйте пассивную dev-систему:
Terminal
pnpm dev:prepare
- Сделайте ветку, в которой вы можете работать, и зафиксируйте свои изменения:
Terminal
git checkout -b my-new-branch
Затем протестируйте свои изменения внутри playground и протестируйте перед отправкой PR.
Playground
Во время работы над PR вы, вероятно, захотите проверить, правильно ли работают ваши изменения.
Вы можете изменить пример приложения в playground/
и запустить его:
pnpm dev
Тестирование
Каждая новая функция должна иметь соответствующий юнит-тест (если это возможно). Директория test/
в этом репозитории в настоящее время находится в стадии разработки, но постарайтесь создать новый тест по примеру того, что уже есть.
Прежде чем создавать PR или помечать его как готовый к рассмотрению, убедитесь, что все тесты пройдены:
pnpm test
Линтинг
Вы, наверное, уже заметили, что мы используем ESLint для соблюдения стандартов по написанию кода.
Перед коммитом изменений, чтобы убедиться в правильности стиля кода, выполните команду:
pnpm lint
pnpm lint --fix
, чтобы исправить большинство изменений стиля. Если ошибки остались, их нужно исправить вручную.
Документация
Если вы добавляете новую функцию, рефакторите или изменяете поведение Nuxt каким-либо другим способом, вы, вероятно, захотите задокументировать изменения. Пожалуйста, включайте все изменения в документации в тот же PR. Вы не обязаны писать документацию при первом коммите (но, пожалуйста, сделайте это, как только ваш PR станет достаточно зрелым).
Итоговый чек-лист
При подаче заявки на PR есть простой шаблон, который необходимо заполнить. Пожалуйста, отметьте все подходящие "ответы" в контрольных списках.
Руководство по документации
Если вы заметили область, в которой мы можем улучшить документацию или сообщения об ошибках, пожалуйста, откройте PR - даже если это просто исправление опечатки!
Быстрые исправления
Если вы заметили опечатку или хотите перефразировать предложение, нажмите на ссылку Редактировать эту страницу, расположенную справа в разделе Сообщество.
Внесите изменения прямо в интерфейсе 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