フレームワーク
一般的な貢献ガイドを読んだら、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
: Nuxt用のViteバンドラーで、@nuxt/vite-builder
として公開されています。packages/webpack
: Nuxt 3用のwebpackバンドラーで、@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とテストで変更をテストします。
Playground
プルリクエストに取り組んでいる間、変更が正しく機能しているかを確認したいでしょう。
playground/
にあるサンプルアプリを修正して、実行できます。
pnpm dev
テスト
すべての新機能には、(可能な場合は)対応する単体テストが必要です。このリポジトリのtest/
ディレクトリは現在開発中ですが、すでに存在する例に従って新しいテストを作成するように最善を尽くしてください。
PRを作成するか、レビューの準備ができているとマークする前に、次のコマンドを実行してすべてのテストが成功していることを確認してください。
pnpm test
リンティング
すでに気づいているかもしれませんが、コーディング標準を強制するためにESLintを使用しています。
変更をコミットする前に、コードスタイルが正しいことを確認するために、次を実行します。
pnpm lint
pnpm lint --fix
を使用して、ほとんどのスタイルの変更を修正できます。それでもエラーが残っている場合は、手動で修正する必要があります。
ドキュメント
新しい機能を追加したり、Nuxtの動作をリファクタリングまたは変更する場合は、変更をドキュメント化することをお勧めします。同じPRにドキュメントへの変更を含めてください。最初のコミットでドキュメントを作成する必要はありません(ただし、プルリクエストが十分に成熟したらすぐに作成してください)。
最終チェックリスト
PRを送信するときは、入力する必要がある簡単なテンプレートがあります。チェックリストの適切な「回答」をすべてチェックしてください。
ドキュメントガイド
ドキュメントやエラーメッセージを改善できる箇所を見つけた場合は、たとえそれがタイプミスを修正するだけでも、PRを開いてください。
クイック編集
タイプミスを見つけたり、文を言い換えたい場合は、コミュニティセクションの右側にあるこのページを編集リンクをクリックできます。
GitHubインターフェイスで直接変更を加えて、プルリクエストを開きます。
より長い編集
ドキュメントコンテンツは、nuxt/nuxtリポジトリのdocs/
ディレクトリ内にあり、マークダウンで記述されています。
ドキュメントのリンティング
ドキュメントは、MarkdownLintとcase policeを使用してリンティングされ、ドキュメントの一貫性を保ちます。
pnpm lint:docs
pnpm lint:docs:fix
を実行して、リンティングの問題をハイライトして解決することもできます。PRを開く
PRタイトルがconventional commitsガイドラインに従っていることを確認してください。
docs: update the section about the nuxt.config.ts file