概要
ls-lintはディレクトリとファイル名のリンターです。
これを導入すればファイル、ディレクトリの命名についての議論をプルリク上でしなくて済み、より高度な議論に専念できると思います。
1. 背景 🖼️
業務でファイル、ディレクトリ名の命名規則について議論がありました。
そのルールを決められるlintのようなものがあるか気になっていた所、ls-lintを知りました。
以下の記事でls-lintを知りました。
今回実際に使って調査してみます。
このリポジトリで検証しました!
2. ls-lintを使ってみる 💪
An extremely fast directory and filename linter - Bring some structure to your project filesystem
ディレクトリとファイル名のリンターと書かれています。
install 🚧
npm i @ls-lint/ls-lint
設定ファイルの作成 ⚙️
src配下のtsファイルの命名について指定する例です。
ls:
src:
.ts: snake_case | camelCase
コマンドを叩く 🚨
検証するディレクトリ構成図は以下です。
.
├── Top.ts
├── node_modules
├── package-lock.json
├── package.json
└── src
└── Sample.ts
以下をターミナルで叩きます。
npx ls-lint
src/Sample.ts
がcamelCaseでもsnakecaseでもないのでエラーになることを確認します。
~/Desktop/github.com/yamatai12/ls-lint-tutorial(main) $ npx ls-lint
2024/06/30 00:47:30 src/Sample.ts failed for rules: snakecase|camelcase
エラーになりました。
また、src
配下で命名規則を指定しているので、srcと同じ階層にあるTop.ts
はエラーになりません。
設定ファイルの他のオプション ⚙️
正規表現で指定が可能
ls:
.ts: regex:^_*
チェックを回避できる
検証するディレクトリ構成図は以下です。
├── Src
│ └── Sample.ts
├── node_modules
├── package-lock.json
└── package.json
ls:
.dir: camelCase
igonre:
- node_modules
- .git
.dir
というのはディレクトリを指しています。
.git
とnode_modules
とその配下のディレクトリはチェックされず、Src
のみがエラーになることを確認します。
~/Desktop/github.com/yamatai12/ls-lint-tutorial(main) $ npx ls-lint
2024/06/30 00:59:41 Src failed for rules: camelcase
Src
のみがエラーになりました。
他の用途、記法が以下のdocumentに記載されています!
3. 最後に
- 命名規則をドキュメントで管理していてそこを毎回確認したり、また風化して忘れ去られることもあります。しかし、ls-lintはプロジェクト内にある為、ドキュメントよりも近い位置にあります
- これを導入すればファイル、ディレクトリの命名についての議論をプルリク上でしなくて済み、より高度な議論に専念できると思います
- 小さな改善ではありますがこのような積み重ねがよりプロダクトの価値を高められると思うので引き続き調査したいです!
本記事を読んで頂き、ありがとうございました。
いいねいただけると記事執筆の励みになりますので、参考になったと思われた方は是非よろしくお願い致します🙏