![見出し画像](https://assets.st-note.com/production/uploads/images/45587506/rectangle_large_type_2_374b6819635f2e5eee949a9ed3b42277.jpg?width=1200)
プログラマー探偵の事件簿: ESLintの矛盾
事件の始まり
今年始めたNuxt.jsを使ったTSNNMP FCの開発中のことである。マップの中に
のようにアイコンを表示しようとしてJavaScriptのソースコードに16進数の文字コードを入力したらESLintが「その書き方はおかしい」と指摘された。
0xF01C4ではなく小文字で0xf01cにしないさいと言っている。いつものように自動で修正してくれるコマンドを実行してみた。「あれ、エラーが消えない!!」
指摘内容は別だが16進数の書き方が悪いということのようだ。自動修正してくれるコマンドを実行してみたが、また最初の書き方に戻って、最初のエラーになる。
無限ループが発生した。数時間悩むことになる。
コーディング規則の矛盾
原因は、(Nuxt.js環境で)ESLintに標準で設定されているコーディング規則に矛盾があることがわかった。片方の規則を無効にした。
/* eslint prettier/prettier: 0 */
const iconList = [
{
text: 'デスクトップ',
icon: 'mdi-desktop-mac',
value: 'desktop',
code: 0xF01C4,
},
コメントを書けば、その後のチェックは無効になった。それで、無限ループから開放された。
助手の猫は、留守番中にご飯を食べすぎて、気分が悪いらしく、この件に関してコメントはない。
いいなと思ったら応援しよう!
![twsnmp](https://assets.st-note.com/production/uploads/images/14333815/profile_ee1accba5615957e5029db85d57fdb0a.jpg?width=600&crop=1:1,smart)