Фреймворк

Некоторые специфические моменты, касающиеся вклада в репозиторий фреймворка.

После прочтения общего руководства по внесению вклада, вот некоторые специфические моменты, которые следует учитывать при внесении вклада в репозиторий 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, вам нужно установить локальное окружение.

  1. Нужно форкнуть nuxt/nuxt репозиторий на ваш собственный GitHub аккаунт, затем склонировать на свое устройство.
  2. Обеспечьте использование последней версии Node.js (20.x)
  3. Включите Corepack, чтобы иметь pnpm и yarn.
    Terminal
    corepack enable
    
  4. Запустите pnpm install --frozen-lockfile для установки зависимостей с помощью pnpm:
    Terminal
    pnpm install --frozen-lockfile
    
    Если вы добавляете зависимость, пожалуйста, используйте pnpm add.
    Файл pnpm-lock.yaml является источником истины для всех зависимостей Nuxt.
  5. Активируйте пассивную dev-систему:
    Terminal
    pnpm dev:prepare
    
  6. Сделайте ветку, в которой вы можете работать, и зафиксируйте свои изменения:
    Terminal
    git checkout -b my-new-branch
    

Затем протестируйте свои изменения внутри playground и протестируйте перед отправкой PR.

Playground

Во время работы над PR вы, вероятно, захотите проверить, правильно ли работают ваши изменения.

Вы можете изменить пример приложения в playground/ и запустить его:

Terminal
pnpm dev
Пожалуйста, убедитесь, что вы не коммитите его в свою ветку. Было бы полезно добавить пример кода в описание PR. Это поможет рецензентам и другим пользователям Nuxt понять суть созданной вами функции.

Тестирование

Каждая новая функция должна иметь соответствующий юнит-тест (если это возможно). Директория test/ в этом репозитории в настоящее время находится в стадии разработки, но постарайтесь создать новый тест по примеру того, что уже есть.

Прежде чем создавать PR или помечать его как готовый к рассмотрению, убедитесь, что все тесты пройдены:

Terminal
pnpm test

Линтинг

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

Перед коммитом изменений, чтобы убедиться в правильности стиля кода, выполните команду:

Terminal
pnpm lint
Вы можете использовать pnpm lint --fix, чтобы исправить большинство изменений стиля.
Если ошибки остались, их нужно исправить вручную.

Документация

Если вы добавляете новую функцию, рефакторите или изменяете поведение Nuxt каким-либо другим способом, вы, вероятно, захотите задокументировать изменения. Пожалуйста, включайте все изменения в документации в тот же PR. Вы не обязаны писать документацию при первом коммите (но, пожалуйста, сделайте это, как только ваш PR станет достаточно зрелым).

Обязательно внесите изменения в соответствии с руководством по стилю документации.

Итоговый чек-лист

При подаче заявки на PR есть простой шаблон, который необходимо заполнить. Пожалуйста, отметьте все подходящие "ответы" в контрольных списках.

Руководство по документации

Если вы заметили область, в которой мы можем улучшить документацию или сообщения об ошибках, пожалуйста, откройте PR - даже если это просто исправление опечатки!

Обязательно внесите изменения в соответствии с руководством по стилю документации.

Быстрые исправления

Если вы заметили опечатку или хотите перефразировать предложение, нажмите на ссылку Редактировать эту страницу, расположенную справа в разделе Сообщество.

Внесите изменения прямо в интерфейсе GitHub и откройте Pull Request.

Исправления подольше

Документация находится в директории docs/ репозитория nuxt/nuxt и написана в формате markdown.

Чтобы просмотреть документы локально, следуйте инструкциям в репозитории nuxt/nuxt.com.
Мы рекомендуем вам установить расширение MDC для VS Code.

Линтинг документации

Документация линтится с помощью MarkdownLint и case police для поддержания целостности документации.

Terminal
pnpm lint:docs
Вы также можете запустить pnpm lint:docs:fix, чтобы выделить и устранить любые проблемы, связанные с линтингом.

Откройте PR

Пожалуйста, убедитесь, что название вашего PR соответствует рекомендациям conventional commits.

Пример названия одного из PR
docs: update the section about the nuxt.config.ts file