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

StylelintとPrettierの設定を見直しガイドを修正する #483

Closed
2 tasks
1nu1taichi opened this issue Jul 27, 2023 · 3 comments · Fixed by #720
Closed
2 tasks

StylelintとPrettierの設定を見直しガイドを修正する #483

1nu1taichi opened this issue Jul 27, 2023 · 3 comments · Fixed by #720
Assignees
Labels
target: Dressca サンプルアプリケーションDresscaに関係がある
Milestone

Comments

@1nu1taichi
Copy link
Contributor

1nu1taichi commented Jul 27, 2023

概要

FBによりStylelintとPrettierの推奨構成に変更があったことが判明
最適な設定を検証し、ガイドを修正する必要がある

詳細 / 機能詳細(オプション)

stylelintのインストール時に、Prettierとの競合ルールのかみ合わせをよくするためのstylelint-config-prettierというライブラリが非推奨となった。

経緯

これまでPrettierはESlintやStylelintの処理の中で動かすことが推奨されていたが、lintはコード品質、Prettierはフォーマット品質に対して責務を持つという方針のもと別々で実行されることが推奨されるようになった。
そのため競合していたルールが採用されなくなったため、それをうまくやるconfigライブラリが不要となり非推奨となった。
今後stylelint-prettierなどlintの中でPrettierを動かすライブラリも非推奨になる可能性があるため、静的コード分析周りの構成を見直す必要がある。

対応について

Dressca については Stylelint のバージョンアップに合わせ、stylelint-config-prettier を削除し、 stylelint-config-standard, stylelint-prettier をバージョンアップする。
非推奨となるルールなどはこれで削除される。

完了条件

  • documents\contents\guidebooks\how-to-develop\vue-js\static-verification-and-format.md の stylelint周りの記述が修正されている
  • Dressca を新しい構成にマイグレーションする
@1nu1taichi 1nu1taichi self-assigned this Dec 25, 2023
@1nu1taichi 1nu1taichi added ドキュメント改善 target: Dressca サンプルアプリケーションDresscaに関係がある labels Dec 25, 2023
@1nu1taichi 1nu1taichi added this to the v0.7 milestone Dec 25, 2023
@1nu1taichi
Copy link
Contributor Author

1nu1taichi commented Jan 4, 2024

Stylelint の設定ファイル .stylelintrc

v16 から ESModule化推奨のため CommonJS 形式が非推奨となった。
Dressca では CommonJS 形式となっており、 ESModule 対応が必要である。
設定ファイルの形式は ESM, CJS のほかに JSON 形式があり、モジュール関連の変更に左右されない JSON 形式にするのがよいのではないか
V16 への移行 : https://stylelint.io/migration-guide/to-16
設定ファイル : https://stylelint.io/user-guide/configure

Prettier 設定ファイル : https://prettier.io/docs/en/configuration.html
こちらも JSON 形式、YAML 形式、ESM 形式、CJS 形式が選択できる
create-vue のデフォルトは JSON

ESLint 設定ファイル : https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file-formats
JSON 形式、YAML 形式、CJS 形式 (ESM未対応)
設定ファイルが複数ある時、優先順位は .js > .cjs > .yaml > .yml > .json > package.json

@1nu1taichi
Copy link
Contributor Author

Prettier v3 について

prettier の更新によって eslint 周りの更新も必要となった。
eslint ^8.5.0 → ^8.8.0
@vue/eslint-config-prettier ^7.0.0 → ^9.0.0

@1nu1taichi
Copy link
Contributor Author

1nu1taichi commented Jan 5, 2024

ESLint について

create vue で生成される設定ファイル .eslintrc.cjs に一部変更あり
eslint でもフォーマットに関するチェックは eslint 上では動かさず個別で prettier に任せることになった

'@vue/eslint-config-prettier',
↓
'@vue/eslint-config-prettier/skip-formatting',

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target: Dressca サンプルアプリケーションDresscaに関係がある
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant