Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

Feat/pw2vw #6452

Closed
wants to merge 42 commits into from
Closed

Conversation

mcdmaster
Copy link
Contributor

👏 解決する issue / Resolved Issues

📝 関連する issue / Related Issues

⛏ 変更内容 / Details of Changes

  • Modify assets/monitoringItemsTableCommon.scss (割り算方法の変更を含む:一部 SASS / SCSS の割り算の記法 #6346 とカブります)
  • Modify references (quite few or none)
  • Own-coded scss changed to referreing above: components/index/CardsMonitoring/ConfirmedCasesDetails/Table.vue
  • Update SASS module and yarn.lock / packages.json accordingly

📸 スクリーンショット / Screenshots

たぶん、変化はありません。為念
スクリーンショット 2021-06-21 124433

Copy link
Collaborator

@kaizumaki kaizumaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

いやあ、実に見事です。ご対応ありがとうございます!
#6420 がマージできそうなので、このPRのpackage.jsonからはsassをremoveしてもらえるとよいかと思います!

stylelint.config.js Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@mcdmaster mcdmaster requested a review from kaizumaki June 21, 2021 13:02
@kaizumaki
Copy link
Collaborator

ご対応ありがとうございます!現在、yarn.lockがいろいろ巻き込んじゃっているみたいなので、いったんこちらで引き取らせてください。

@mcdmaster
Copy link
Contributor Author

@kaizumaki お手数を掛けます!どうか宜しくお願いいたします。
さすがに conflict を残しておくのは気持ち悪かったので、取ってしまいました

@mcdmaster
Copy link
Contributor Author

Closed since handover to #6459 is complete. Thank you!

@mcdmaster mcdmaster closed this Jun 22, 2021
@kaizumaki
Copy link
Collaborator

@mcdmaster クローズしてもらったところ、申し訳ないですが、やはりこちらのPRはうまくいっていないようです。mathの div が文字列としてそのまま出力されてしまっています。

スクリーンショット 2021-06-22 14 30 03

おそらく、webpackのloaderあたりがうまく動いていないんじゃないかと思っています。私のほうでも調べてみます。
こちらのPRは念のため再オープンしておきますね。

@kaizumaki kaizumaki reopened this Jun 22, 2021
@kaizumaki
Copy link
Collaborator

dart sassの公式のドキュメントによると、math.div はsass 1.33.0からのサポートであり、一方でVuetifyはsassのバージョンを1.32に落とさないとワーニングが止まらなくなってしまうのですよね。なので、実質sassは1.32を使わざるを得なく、よって math.div は使えない、ということのようです。試しに1.25.0からサポートされている math.pow に変えてみたら、ちゃんと動作しました。
すべてはVuetifyの対応を待ってから、というほうがよさそうです。

スクリーンショット 2021-06-22 16 41 36

@mcdmaster mcdmaster force-pushed the feat/pw2vw branch 4 times, most recently from bd9c92f to 810cd65 Compare June 26, 2021 22:02
@mcdmaster
Copy link
Contributor Author

@kaizumaki もしかしたら効率的な修正じゃないかも…と思いつつ、 assets/monitoringItemsTableCommon.scss へ大幅に手を入れてみました。スクショもつけておきますので、おおよそこんなかんじになるかと
スクリーンショット 2021-07-01 132418

@kaizumaki
Copy link
Collaborator

@mcdmaster おお、これはまたすごいですね!math.divを条件分岐する作戦ですね。
プレビューを拝見したところ、どこかがバグってしまっているようです。

  • デスクトップサイズ時
    スクリーンショット 2021-07-02 10 56 44

  • モバイルサイズ時
    スクリーンショット 2021-07-02 10 49 21

そしておそらく、math.divが使用されるためにはsassを1.33.0以上にアップデートしないといけないですよね。その判断もまたVuetifyの対応次第ということになりますが...

@mcdmaster mcdmaster force-pushed the feat/pw2vw branch 9 times, most recently from 31046cb to 92c6a12 Compare October 21, 2021 11:13
@mcdmaster mcdmaster force-pushed the feat/pw2vw branch 2 times, most recently from ae3d0a8 to 741dd42 Compare October 24, 2021 09:04
@kaizumaki
Copy link
Collaborator

@mcdmaster 引き続きフォローいただいているところすみません、 .eslintrc.cjs って必要なのでしょうか...? .cjs ってサーバーサイドのモジュールだと思うのですが、フロントでは必要なかったりしませんかね?

@mcdmaster
Copy link
Contributor Author

@kaizumaki 、各位
ダラダラと合間を縫って更新しているため、メールがたくさん飛んでいるかと存じます。
ご迷惑を掛けています。なかなか‘ eslint が通らなくってですね…。

で、ご指摘のように、クライアント主体であれば .eslintrc は要らなくなってくるのでしょう。
ただ、私自身詳しいわけではけしてないので、サーバサイドで lint をせずに済む仕組みに向けたロードマップがどうなるのか、まるでわかりません。
そんな状況下で、サーバ・クライアントの区別に依存しなくても実行できる「構文チェック」ツールとしては、lint の強みは失われていないと思います

@kaizumaki
Copy link
Collaborator

@mcdmaster すみません、私がちょっと言葉足らずでした。 .eslintrc.cjs ではなくて .eslintrc.js は必要だと思っています。

@mcdmaster
Copy link
Contributor Author

@kaizumaki 私の認識は、cjs, mjs といったファイル形式は単にスクリプトとしての Javascript からのモジュール形式への進化のようなものをレペゼン(represent)する、といものでした。
ですので、クライアント用、サーバ用、といった区別をそこでしたことは、私に限って言えばありませんね。
今回においても、.eslintrc.cjs.eslintrc.js ファイルは併存できないと思います

@mcdmaster mcdmaster force-pushed the feat/pw2vw branch 12 times, most recently from 540bbc5 to d2146f5 Compare November 20, 2021 09:28
@mcdmaster
Copy link
Contributor Author

突然ながら、こちら、取り下げます。理由は、以下によります

  • 元々は、SASS のロードマップで今後 / (フォワードスラッシュ)記号を CSS コード中の除算処理に使えなくなるとのリリースが出たため、それへの対処が必要とされたことによる
  • 現時点で、SASS のバージョンを固定化することで対処している
  • 対処内容は、アプリの側が SASS 推奨の除算記法 math.div(y, x) に未対応の場合、ビルド時に著しく大量に出力されるワーニング・ログ・メッセージの抑制である
  • SASS は、アップグレードへの注意を促すために必要だからやっているいることで、ログ出力の抑制方法は提供しないという立ち位置である
  • ビルド時は node_modules の中まで走査がされるため、特にそこにある VuetifySASS コンポーネントが軒並みワーニング対象となってしまう
  • いずれにしても、セキュリティ対応等の観点からは、現行の SASS バージョンにピン(固定化)するのでなく、アップグレードが必要になってくるだろう
  • これに合わせ、プラットフォームやコンポーネントの最新化を図るためには、可能な限り包括的、複合的にことを進めた方が効率的に思われる
  • じっさい、SASS メッセージの抑制という一見シンプルな要件への対応を試みたところ、影響範囲を考えるとかなりの手間を割くことが判明した
  • これでは「割に合わない」ため、いったん顔を洗って出直すこととする

いささか身勝手ではありますけれども、事情をご斟酌いただけますと幸いです。
なお、ごくコンパクトにまとめた、他のアプリへの影響等を一切捨象したミニ・バージョンを、Tips&Tricks と備忘の意味で公開するかもしれません。
そのときは、同じ事情で苦しんでいる海外の開発者からも参照されるよう、可能な限り英文で書いていきます

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants