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

ビルドや実行時のvite-plugin-checkerをなくしても良いかも? #2515

Closed
Hiroshiba opened this issue Jan 31, 2025 · 5 comments · Fixed by #2516
Closed

ビルドや実行時のvite-plugin-checkerをなくしても良いかも? #2515

Hiroshiba opened this issue Jan 31, 2025 · 5 comments · Fixed by #2516
Labels
機能向上 要議論 実行する前に議論が必要そうなもの

Comments

@Hiroshiba
Copy link
Member

内容

現在electron:serveなどで実行する際、vite-plugin-checkerを用いて型チェックとeslintチェックが同時実行されています。
eslint側が結構重いのでなんとかできないかなと思ったのですが、実はそもそもなくてもよいのかもと思ってissueを作ってみました。

ない方が良いのか、なくてもよいのか、あったほうが良いのか考えたいです。

Pros 良くなる点

開発時に試行錯誤が軽くなる

Cons 悪くなる点

lintエラーや型エラーに気づくのがPR出したあとになる。
(ローカルで静的解析しないかぎり)

実現方法

その他

@Hiroshiba Hiroshiba added 機能向上 要議論 実行する前に議論が必要そうなもの labels Jan 31, 2025
@Hiroshiba
Copy link
Member Author

Discordでの議論メモ

ヒホ — 今日 18:09
エディタのvite-plugin-checker、実はいらないのでは説が僕の中に少しある

名無し。 — 今日 18:09
serveならまだしもproductionは正直いらない説はある

ヒホ — 今日 18:09
少なくとも毎回動いてるeslintはなくても良いのでは説が。

名無し。 — 今日 18:10
tscはbuildでも必要そうだけどeslintは正直いらないかも

ヒホ — 今日 18:10
serveのときも要らないかもな〜と思ってました。
まああっても良いんだけど、重い…。

名無し。 — 今日 18:11
重いのわかる

ヒホ — 今日 18:11
tacはあった方が良いんですかね?👀
エラーに気づけるし、そこそこ軽いからとかかな

名無し。 — 今日 18:11
そういえば:acorn、eslintあたりの依存にあったんですけどpnpm i acornしないと参照できませんでした(pnpmパワー) 

ヒホ — 今日 18:12
(型チェック周りはあまりわからなくて強い意見がない)

名無し。 — 今日 18:12
どちらにせよCIが落ちるのでいいのでは?はそう

ヒホ — 今日 18:13
そうなんですよね〜〜〜 どうするのが普通なんだろ感
エラーが出た時にオーバーレイしてくれるとかは割とありだけどその機能切ってるし(実際辛さの方が勝ちそう)なぁと

名無し。 — 今日 18:14
多分 @ちゅうこ さんあたりの方が知見ありそう(巻き込む)

ヒホ — 今日 18:14
あと他のossプロジェクトとかも参考になるかも
そういえばpnpmパワーで今は使ってない依存消せたりしないかな 何個かありそうw

名無し。 — 今日 18:16
pnpm関係なさそう

ヒホ — 今日 18:19
misskeyは特に起動時チェックとかしてなそう まあ一例見るだけだと仕方ないんだけど
https://github.com/misskey-dev/misskey/blob/develop/packages/frontend/vite.config.ts
ふむ vite.config.jsを定義した最初からありそうだ ちょっとissue作ってみようかな
https://github.com/VOICEVOX/voicevox/pull/1207

@Hiroshiba
Copy link
Member Author

メンテナ&自分的には、自分での開発やPRレビューはPR作った&作られた時に気づけるので、開発の無い方が良さそうに感じます。
ビルドの際はCIが通っていなくてもビルドできてしまうので静的解析しても良いのかも・・・?

うーんどっちだろう。

@Hiroshiba
Copy link
Member Author

electron:serveをエンジン起動無しで実行したときのCPU使用率のグラフのスクショ撮ってみました。
左がcheckerあり(今のmainブランチの)、右がcheckerなし。

Image

起動するまでの時間は体感違わない。単純に重い感じ。

@Hiroshiba
Copy link
Member Author

Hiroshiba commented Jan 31, 2025

@yamachu さんにDiscordで聞いたことの要約メモ:

  • 型チェックは解決まで遠い事が多く、早期発見したい
  • 他のlintは--fixで解決するケースも多く、後からでもコストが低い

加えて比較すると型チェックのエラーは変更コードから離れたコード(見てないとこ)に発生しやすそうなので、モチベがありそう!

lintは消し、vue-tsc: trueのままにしてcheckerを走らせた場合と完全になくした場合のCPU使用率の比較こんな感じでした。
ちょびっと重くなるけど、そこまで重くはなさそう!

Image

@Hiroshiba
Copy link
Member Author

lintだけなくしてみるPR作ってみます! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
機能向上 要議論 実行する前に議論が必要そうなもの
Projects
None yet
1 participant