Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESLint・Stylelint(Linter)とprettier(Formatter)の役割と実行方法について再考する #1389

Open
4 tasks
KentaHizume opened this issue Jun 27, 2024 · 2 comments
Labels
target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある
Milestone

Comments

@KentaHizume
Copy link
Contributor

KentaHizume commented Jun 27, 2024

概要

stylelint、eslintと、prettierでルールが衝突するのを解決するためにプラグインを入れておく必要があったが、
アップデートによりうまく分業がなされたため、もうプラグインを入れる必要がないという記述があるので、
内容を確認のうえ、実際の設定およびドキュメントに記載の設定方法を見直す。

http://127.0.0.1:8000/guidebooks/how-to-develop/vue-js/static-verification-and-format/

https://github.com/prettier/stylelint-prettier?tab=readme-ov-file#disabling-rules-that-may-conflict-with-prettier
https://zenn.dev/mayobimu/articles/f88ba1903b9e65
https://e-joint.jp/blog/2127

詳細

create-vueのテンプレートでは、
下記のようにeslintの実行とprettierの実行を別のコマンドに分離しており、
eslintの設定で、コードフォーマットのルールを無効にしている。

"lint": "eslint . --fix",
"format": "prettier --write src/"
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
  skipFormatting,

Maia/MarisではStylelintを組み込んでおり、eslint&prettierと直列実行しているので、これも分離する。

"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore && stylelint **/*.{vue,css} --fix",

一方で、開発/CI時にはコミット前に忘れずにLinterとFormatterを実行すべきなので、
1コマンドで実行できるnpmスクリプトは登録しておきたい。

対応の結果として、下記のようなスクリプト構成になる想定。
別途CI用には自動修正しない設定のタスクが必要。

"lint":"run-s eslint stylelint format" 
"eslint": "eslint"
"stylelint": "stylelint"
"format": "prettier"

完了条件

  • ESLint、StyleLint、prettierでそれぞれ別々に実行できること
  • 開発環境では1コマンドでこれらの処理を直列に実行できること
  • CIワークフローで、ESLint、Prettier、Stylelintによるチェックが行われていること
  • ガイドの静的コード分析とフォーマットに変更が反映されていること
@KentaHizume KentaHizume added ドキュメント改善 target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある labels Jun 27, 2024
@KentaHizume KentaHizume added this to the v0.10 milestone Jun 27, 2024
@KentaHizume
Copy link
Contributor Author

stylelint v15に更新した際のissue

@KentaHizume KentaHizume changed the title stylelint-prettierとeslint-config-prettierの使用を見直す Stylelint、ESLint(Code-quality rules)と、prettier(Formatting rules)の役割と実行方法について再考する Jun 28, 2024
@KentaHizume KentaHizume modified the milestones: v0.10, v1.0 Aug 28, 2024
@KentaHizume
Copy link
Contributor Author

大方針としてcreate-vueに追従することを考えると、
create-vueの初期設定がどうなっているかを確認したほうがよさそう。
ESLint9系への対応時に変わっているかを確認する。

@KentaHizume KentaHizume changed the title Stylelint、ESLint(Code-quality rules)と、prettier(Formatting rules)の役割と実行方法について再考する ESLint(Code-quality rules)と、Stylelint、prettier(Formatting rules)の役割と実行方法について再考する Oct 29, 2024
@KentaHizume KentaHizume changed the title ESLint(Code-quality rules)と、Stylelint、prettier(Formatting rules)の役割と実行方法について再考する ESLint、Stylelint、(Linter)と、prettier(Formatter)の役割と実行方法について再考する Oct 29, 2024
@KentaHizume KentaHizume changed the title ESLint、Stylelint、(Linter)と、prettier(Formatter)の役割と実行方法について再考する ESLint・Stylelint(Linter)とprettier(Formatter)の役割と実行方法について再考する Oct 29, 2024
@KentaHizume KentaHizume modified the milestones: v1.0.0, v1.1.0 Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある
Projects
None yet
Development

No branches or pull requests

2 participants