You are browsing Nuxt 2 docs. Go to Nuxt 3 docs, or learn more about Nuxt 2 Long Term Support.
Nuxt へどんな貢献も大歓迎です!
Nuxt へどんな貢献も大歓迎です!
プロジェクトに貢献するには、問題が発生したときに詳細なレポートを送信するのが良い方法です: バグレポート
その際には、必ずバグを再現できるように、再現用のリポジトリや CodeSandBox を用意してください。バグの再現性が高ければ高いほど、早く修正に取り掛かることができます。
誤字脱字の修正だけでも構いませんので、プルリクエストをお待ちしております!
ですが、重要な改善は、既存の機能要求 またはバグレポート に関連付ける必要があります。
npm install
または yarn install
を実行します。
npm と yarn の両方で、依存関係のインストールを失敗することが確認されています。この問題を解決するには、サンプルアプリの
node_modules
ディレクトリを削除して再度インストールするか、不足している依存関係をローカルにインストールしてください。
依存モジュールを追加する場合は、
yarn add
を使用してください。yarn.lock
ファイルは、すべての Nuxt の依存関係の正しい源です。
テストを実行する前に、すべての依存するパッケージが満たされていることを確認し、すべてのパッケージをビルドします:
yarn
yarn build
バグ修正や新機能を含む優れたプルリクエストには、しばしばテストが含まれます。優れたテストを書くために、私たちのテスト構造を説明しましょう:
フィクスチャ (tests/fixtures
の配下にあります) には、いくつかの Nuxt アプリケーションが含まれています。ビルド時間をできるだけ短くするために、テストごとに独自の Nuxt アプリケーションをビルドすることはありません。その代わり、フィクスチャは実際のユニットテストを実行する前にビルドされます (yarn test:fixture
)。
プルリクエストを提出する際には、変更内容が適切に反映されるよう、必ず変えるまたは新しいフィクスチャの追加を行ってください(該当する場合)
また、フィクスチャを変更した後は、jest test/fixtures/my-fixture/my-fixture.test.js
で対応するテストを実行して、フィクスチャを再構築することを忘れないでください!
単体テストは tests/unit
にあり、フィクスチャのビルド後に実行されます。テストごとに新しい Nuxt サーバーが使用されるので、共有された状態(ビルドステップの初期状態を除く)は存在しません。
ユニットテストを追加した後は、それらを直接実行することができます:
jest test/unit/test.js
また、単体テストスイート全体を実行することもできます:
yarn test:unit
繰り返しになりますが、以前のフィクスチャを作り直さなければならないかもしれませんのでご了承ください!
プルリクエストを作成している間に、フィクスチャが正しくセットアップされているかどうかを確認したり、現在の変更点をデバッグしたりすることがあるでしょう。
そのためには、Nuxt スクリプト自体を使って、たとえばフィクスチャやサンプルアプリを起動することができます:
yarn nuxt examples/your-app
yarn nuxt test/fixtures/your-fixture-app
npm link
も同様に機能しますが、これにはいくつかの問題があることが知られています。そのため、サンプルの実行にはyarn nuxt
を直接呼び出すことをお勧めします。
大きな機能に取り組んでいる場合は、examples/
にサンプルアプリを設定してください。これは変更点を理解するのに大いに役立ちますし、Nuxt ユーザーがあなたの作った機能を深く理解するのにも役立ちます。
すでにお気づきかもしれませんが、私たちは ESLint を使ってコードスタイルの標準化を徹底しています。変更をコミットする前に yarn lint
を実行して、コードスタイルが正しいかどうかを確認してください。正しくない場合は、yarn lint --fix
または npm run lint -- --fix
(タイポではありません!) を使用して、ほとんどのスタイル変更を修正することができます。それでもエラーが残っている場合は、手動で修正する必要があります。
新しい機能を追加したり、リファクタリングを行ったり、Nuxt の動作を変更したりする場合、その変更を文書化したいと思うでしょう。その際は、docs リポジトリにプルリクエストしてください。すぐにドキュメントを書く必要はありません(ただし、プルリクエストが十分に成熟したらすぐに書いてください)。
プルリクエストを提出する際には、簡単なテンプレートが用意されていますので、それに沿って記入してください。チェックリストの適切な "回答 (anwers)" にすべてチェックを入れてください。
getPort()
を検索すると、テスト中に新しい Nuxt プロセスを起動するために使用されていることがわかります。macOS では動作しないことがあり、テストのために手動でポートを設定する必要があるかもしれません。
また、よくある問題として、フィクスチャテストの実行時に Nuxt プロセスがメモリ内でハングアップすることがあります。ゴーストプロセスが発生すると、後続のテストが動作しなくなることがよくあります。この問題が発生していると思われる場合は、ps aux | grep -i node
を実行して、ハングアップしているテストプロセスを調べてください。