LoginSignup
0
1

More than 1 year has passed since last update.

ESLintのShareable ConfigでJavaScript用とは別にTypeScript用のパッケージを提供する場合のパターン

Last updated at Posted at 2022-10-02

ESLintShareable Configで、JavaScript用とは別にTypeScript用のパッケージを提供する場合のパターンについて調べました。

経緯

自分が管理しているJavaScript/TypeScriptのリポジトリにおいて、中身がほとんど同じESLintの設定ファイルがいくつか存在します。
これではメンテナビリティ的によろしくないので、共通化できそうな部分をShareable Configとして公開することを検討中です。
その際、JavaScript用とTypeScript用のパッケージをそれぞれ提供することで、リポジトリごとに使用するパッケージを選択できるようにしたいと思います。
そこで、世のShareable Configではどのような手法がとられているのか調べてみることにしました。

調査方法

npmjs.comで以下のクエリで検索し、参考になりそうなパッケージをピックアップしました。

eslint-config-adidas-typescript

  • dependencieseslint-config-adidas-es9が含まれる
  • ユーザー自身でeslint-config-adidas-es9をインストールする必要はない

eslint-config-salesforce-typescript

  • 依存にeslint-config-salesforceは含まれない
  • eslint-config-salesforceとは完全に独立しているので、インストールする必要はない

eslint-config-standard-with-typescript

  • dependencieseslint-config-standardが含まれる
  • ユーザー自身でeslint-config-standardをインストールする必要はない

eslint-config-twilio-ts

  • dependencieseslint-config-twilioが含まれる
  • ユーザー自身でeslint-config-twilioをインストールする必要はない

eslint-config-wantedly-typescript

  • 依存にeslint-config-wantedlyは含まれない
  • eslint-config-wantedlyとは完全に独立しているので、インストールする必要はない

まとめ

TypeScript用パッケージから見たJavaScript用パッケージとの依存関係は、以下の通りです。

TypeScript用パッケージ JavaScript用パッケージ 依存関係
eslint-config-adidas-typescript eslint-config-adidas-es9 dependencies
eslint-config-salesforce-typescript eslint-config-salesforce -
eslint-config-standard-with-typescript eslint-config-standard dependencies
eslint-config-twilio-ts eslint-config-twilio dependencies
eslint-config-wantedly-typescript eslint-config-wantedly -

所感

パッケージ名のサフィックスは-tsのほうが短くてよさそうなものですが、-typescriptとしているものが多いのが意外でした。
TypeScript用パッケージの依存にJavaScript用パッケージを含めるかどうかは悩みどころですが、そのあたりは先にJavaScript用パッケージをつくってから決めてもいいかもしれません。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1