メインコンテンツにスキップ

ローカル開発

typescript-eslintの開発にご興味をお持ちいただきありがとうございます! ❤️‍🔥

一般的なコントリビューションの流れについては、コントリビューティングIssueをご覧ください。

セットアップ

GitHubからリポジトリをフォークし、Yarnをインストールした後

git clone https://github.com/<your-name-here>/typescript-eslint
cd typescript-eslint
yarn

ルートのpackage.jsonにあるpackageManagerフィールドを確認することで、使用しているyarnのバージョンを確認できます。

インストール後スクリプトは、(yarn build)を使用してリポジトリをローカルに完全にビルドします。これで開発の準備が整いました! 🚀

ビルド

ルートでyarn buildを実行するとすべてのパッケージをビルドできます。また、任意のパッケージで実行すると、そのパッケージのみをビルドできます。

パッケージは一般的に互いのビルド出力に依存しているため、ローカルの変更をコンシューマーに反映するには、依存関係をyarn buildする必要があります。たとえば、scope-manager内で変更を行い、それをeslint-pluginで使用したい場合は、ルートまたはpackages/scope-manager内でyarn buildを実行する必要があります。

変更の検証

以下のチェックはすべてプルリクエストで自動的に実行されます。ローカルでも実行できます。

プルリクエストの詳細については、コントリビューティング > プルリクエストをご覧ください。

フォーマット

コードの自動フォーマットにはPrettierを使用しています。Gitのpre-commitフックは、コミットされたすべての変更に適用されます。または、任意のパッケージまたはルートでyarn formatを実行することもできます。

リンティング

すべてのコード変更はESLintに合格する必要があります。任意のパッケージまたはルートでyarn lintを実行できます。

プルーフリーディング

変更は、ドキュメントと命名に関する2つのリンターに合格する必要があります。コマンドはルートから実行できます。

  • yarn check-spelling: CSpell、すべてのコード用
  • yarn lint-markdown: Markdownlint、Markdownドキュメント用

テスト

すべてのコード変更は、可能であれば理想的にはユニットテストする必要があります。任意のパッケージでyarn testを実行してテストを実行できます。

VS Code起動タスクタスクが提供されており、ビジュアルデバッグテストが可能です。

型チェック

すべてのコードはTypeScriptの型チェックに合格する必要があります。任意のパッケージまたはルートでyarn typecheckを実行してtscを実行できます。

yarn typecheck -wを実行して、ウォッチモードでtscを起動します。

ルール開発

このリポジトリの一部は、ルールファイルから読み取るスクリプトを手動で実行することによって生成されます。ルールを変更した場合は、以下のいずれかまたは両方を実行する必要がある場合があります。

  • ルートからyarn generate-configsを実行する: 共有設定を再生成する
  • packages/eslint-pluginからyarn test docs -uを実行する: ルールドキュメントとオプションに基づいてスナップショットを再生成する

ウェブサイト開発

インタラクティブなドキュメントウェブサイトはDocusaurusを使用して構築されています。ルートまたはpackages/websiteからyarn startを実行すると、localhost:3000でローカル開発サーバーが起動します。

websiteパッケージは、他のパッケージがビルドされていることに依存しています。 yarn startの前に、ルートからyarn buildを実行することをお勧めします。