並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 65件

新着順 人気順

ESLintの検索結果1 - 40 件 / 65件

  • ESLint を使い倒す(おすすめルール紹介)

    前書き ESLint は JavaScript, TypeScript のための静的検証ツールです。 ESLint を活用することで、コーディング規約やベストプラクティスを機械的に強制することによりコードレビューの手間を省き、本番環境でのエラーやパフォーマンスの悪化を抑制することができます。 TypeScript を使っているプロジェクトでは、パーサーを適切に設定すれば型情報を用いたより精密な静的検証を行うこともできます。 eslint を使う際、 eslint:recommended, plugin:@typescript-eslint/eslint-recommended などの各 eslint plugin の推奨 config のみを使って済ませたり、 eslint-config-airbnb などの config のみに頼ることも多い印象ですが、 recommended conf

      ESLint を使い倒す(おすすめルール紹介)
    • ESLintのローカルルールで独自のコーディング規約を実装する

      Lightning TechTalks #2 〜フロントエンドで導入してよかったOSS〜 で発表させていただいたスライドです フラットコンフィグへの移行は最近新卒の方に一部やっていただきました 新卒エンジニアがESLintのFlat Config移行と格闘した話 - ドワンゴ教育サービス開発者ブログ ドワンゴ教育事業採用サイト

        ESLintのローカルルールで独自のコーディング規約を実装する
      • typescript-eslint v6 アップデートガイド

        typescript-eslint v6 リリース! 2023/07/10 に typescript-eslint の v6 がリリースされました。 メジャーバージョンアップということで多くの BreakingChange があるのですが、その中でもReworked Configuration Namesと呼ばれる変更は利用者に大きな影響を与えそうです。 Reworked Configuration Namesはざっくり言うと「config に書くrecommendedのようなルールセットの名前や枠組みが変わるよ」という変更です。 ルールセットの名前だけでなく、含まれるルールや分類自体に変更があるので、設定ファイルを v5 のままアップデートしてしまうと意図したルールセットと異なる設定になってしまいます。 ここでは上記の記事にある変更点を紹介しつつ、なるべく既存の設定のままアップデートする

          typescript-eslint v6 アップデートガイド
        • 【Next.js】eslint + pretteirをやめてBiomeにした話

          はじめに Next.jsなどReactのプロジェクトにはlinterとformatterが必須でeslintとpretteirを使うと思います。 しかし、導入するとなると考慮すべき点や面倒な点が結構あります。 以下は一例です。 eslintとprettierは設定が複数あり、プラグインのインストールが必要 eslint-plugin-prettierを使えば、pretteirがなくてもformatterは実現できるため、そもそもprettierいるのか問題 逆にeslintはlinterとしての役割のみにして、formatterの機能は持たせたくない そこででてくるのがBiomeです。 Biomeとは 一言でいうとeslintとprettierを一つにしたものです。 以下、公式の引用とページです。 Biome はWebプロジェクトのための高性能なツールチェーンであり、プロジェクトの健全性を

            【Next.js】eslint + pretteirをやめてBiomeにした話
          • 新卒エンジニアがESLintのFlat Config移行と格闘した話 - ドワンゴ教育サービス開発者ブログ

            ESLintのFlat Configへの移行は進んでますでしょうか?試してみたでしょうか? 今回はドワンゴの新卒エンジニアが初仕事として取り組んだ、ESLintのFlat Configへの移行に関して「その方法と嵌ったところの乗り越え方」をお伝えします。 この記事で言及すること Flat Configに書き変えるときに見る資料 ESLintのconfigをFlat Configに移行するとき、configs.recommendedなどのプリセットを用いる場合はFlatCompatを使う eslint-plugin-importを使用してると嵌る どうやって新旧configが同じになっていることを示すのか? ESLintのFlat Configを書くことになりました こんにちは。N予備校 Web フロントエンド開発チームのsokunoです。私は現在4ヶ月に渡る新卒研修を経て、この8月から今の

              新卒エンジニアがESLintのFlat Config移行と格闘した話 - ドワンゴ教育サービス開発者ブログ
            • ESLint の Suggestions から学ぶ、コードの自動修正の奥深さ - mizdra's blog

              これは、はてなエンジニアアドベントカレンダー2023 4日目の記事です。 3日目は id:mechairoi さんの「SQLiteでLinderaを使った日本語全文検索」でした。 blog.chairoi.me 今日のテーマは、JavaScript 向けの Linter 「ESLint」についてです。ESLint を使うと、JavaScript で書かれたコードを静的解析して、よくある間違いを検出したり、コーディングスタイルを統一できます。 通常、ESLint のルールによって報告された問題 (error や warn) は人が手で修正します。ただし、ルールが報告する問題の中には「fixable」な性質を持ったものがあります。こうした fixable な問題は、eslint --fix で自動修正できます。例えば、object-shorthand ルールによって報告された問題は、以下のよう

                ESLint の Suggestions から学ぶ、コードの自動修正の奥深さ - mizdra's blog
              • typescript-eslintで新しい構文をサポートする

                新しい構文がやってくる ご存知の通り、JavaScript の標準仕様である ECMAScript では毎年新しい記法や構文が提案され、採択されています。もちろん JavaScript のスーパーセットである TypeScript もその例外ではありません。 TypeScript では基本的に ECMAScript Proposal の Stage3 になった仕様から順次サポートするという方針があります。最近であれば v5.0 に入った Decorators や v5.2 で導入される using Declarations(Explicit Resource Management)などが該当します。 ここまでのことは普段 TypeScript を利用している方であれば知っている方も多いでしょう。しかし実際に TypeScript で新しい構文がサポートされた後、typescript-esl

                  typescript-eslintで新しい構文をサポートする
                • ESLintのFlat Config移行でやって良かったこと

                  ESLintのv9.0.0ではFlat Config(eslint.config.js)がデフォルトになりました。これまでの.eslintrcの形式のファイルも使えますが、ESLINT_USE_FLAT_CONFIG環境変数を設定する必要があるようです。 これを機にFlat Configで普段使っているルールを整理して書いてみることにしました。その際やって良かったことをまとめます。 作成した設定はSharable Configとして公開しています。 typescript-eslintのtseslint.configを使う Flat configはこのように配列で書きます。 export default [ { rules: { "no-unused-vars": "error", "no-undef": "error" } } ]; // @ts-check import eslint f

                    ESLintのFlat Config移行でやって良かったこと
                  • ESLintのローカルルールで独自のコーディング規約を実装する - ドワンゴ教育サービス開発者ブログ

                    この記事はドワンゴ Advent Calendar 2023 の 22 日目の記事です。 ドワンゴ教育事業Webフロントエンドチームの berlysia です。1 この記事では、オンライン学習サービスN予備校の開発を支えるコーディング規約の考え方に少し触れ、その運用を支えるESLintの活用を紹介します。 この記事の内容は、他社様主催イベントにて発表した内容の再構成です。 speakerdeck.com コーディング規約は実行可能にしたい 教育事業のWebフロントチームには、細かいコーディング規約が書かれた文書は存在しません。コーディング規約はESLintをはじめとする各種ツールによって、自動で検出・修正可能な形になっています。 文書という形でなく、各種ツールのコンフィグファイルとそのコメントとしてまとまっている、と言い換えてもよいかもしれません。ドキュメンテーションは重要な仕事ですが、そ

                      ESLintのローカルルールで独自のコーディング規約を実装する - ドワンゴ教育サービス開発者ブログ
                    • Deprecation of formatting rules - ESLint - Pluggable JavaScript Linter

                      In ESLint v8.53.0, scheduled to be released on Friday, November 3, 2023, we will formally deprecate our formatting rules. Formatting rules are those rules that simply enforce code conventions around spacing, semicolons, string formats, etc. For a variety of reasons, which are discussed in this post, this is the right decision for ESLint going forward. However, to understand how we got here, it’s h

                        Deprecation of formatting rules - ESLint - Pluggable JavaScript Linter
                      • ESLintのルールから考えるJavaScriptのundefined判定 - Qiita

                        JavaScriptのundefined判定にはいくつか記載方法がありますが、言語仕様を理解しないまま記述すると、ブラウザや開発環境によっては思わぬバグを生み出すことがあります。 この記事では、JavaScriptにおけるundefinedの判定方法を複数紹介し、ESLintのルールから適切な判定について検討してみようと思います。 ESLintとは ESLintは、JavaScriptやTypeScriptの静的コード解析ツールでです。 単純な構文エラーの検出やルールを設定することで一貫性のあるコーディングスタイルを維持しやすくなります。 JavaScriptにおけるundefinedの判定パターン JavaScriptでundefined判定をしたいとき、いくつかの書き方が考えられます。 パターンとしてはざっとこんなものでしょうか。 厳密等価演算子(===)を使用する

                          ESLintのルールから考えるJavaScriptのundefined判定 - Qiita
                        • ESLint を eslintrc から Flat Config に移行する、ハマりポイントを添えて。 - Qiita

                          ESLint の Flat Config は v9 でデフォルトとなり、 v10 で eslintrc は完全に削除されるため、徐々に移行していく方が増えてくる頃合いでしょうか。 私が移行する上でわからなかったこと、ハマったポイントなど残しておこうと思います。 これが誰かの助けになれば幸いです。 ESLint の Flat Config とは ESLint の新しい設定システムです。 今まで ESLint の設定は eslintrc に記述していましたが、Flat Config では eslint.config.js というファイルに記述していく形になります。 eslintrc で書いていたものとの違いは主に以下のものがあります。 plugin や perser の読み込み方が変わった extends が廃止された glob pattern で対象のファイルを毎に設定を書くことができるよう

                            ESLint を eslintrc から Flat Config に移行する、ハマりポイントを添えて。 - Qiita
                          • アクセシビリティを担保するためにESLintの独自ルールを作っている話 - SmartHR Tech Blog

                            こんにちは。プロダクトエンジニアのatsushimと言います。 社内ではプロダクトを開発する傍ら、アクセシビリティを高めるための改善や仕組みづくりを進めています。 この記事ではSmartHR独自のESLintのルールを作っている話をしたいと思います。 SmartHRでは アクセシビリティ(以降a11y) を考慮したアプリの開発・改善を行っており、過去記事でその様子をご確認いただけます。 SmartHR Tech Blog: アクセシビリティ の検索結果 ただ普段の開発中、a11yを意識しつつ開発を行うことは、エンジニアにかなりの負荷がかかります。 フロントエンドの経験が少なく基本的なマークアップの知識が足りていない アクセシビリティを意識してね!といわれても何をすればいいのかわからない そのため、SmartHRでは独自のESLint ルールを作成し、CIに組み込むことでa11yを担保、改善

                              アクセシビリティを担保するためにESLintの独自ルールを作っている話 - SmartHR Tech Blog
                            • ESLint の共有設定を Flat Config に対応させる - Object.create(null)

                              まえがき こんにちは, 人間 ESLint です. そんな人間 ESLint の私ですが, 私一人があらゆるコードに注意深く目を通して, さらに修正案まで提示するというのは大変です. 多くの問題は機械的に検知できるはずなので, そういった仕事を私の代わりにしてくれるメカ人間 ESLint が欲しくなってきます. そんなわけで, 4 年ほど前から ESLint の共有設定を仕込み続けています. この共有設定を作るために, 私自身も ESLint の組み込みのルールや typescript-eslint が提供するルールを何度か全て見直したりしていて, それゆえの人間 ESLint でもあります. github.com Flat Config ところで ESLint の設定ファイルは, 次のメジャーバージョンである v9 以降に新しい形式のもの (通称「Flat Config」) が標準となり

                                ESLint の共有設定を Flat Config に対応させる - Object.create(null)
                              • Biome と ESLint の lint ルールの互換性

                                Biome では、現在約 150 個程度の JavaScript・TypeScript に関する lint ルールを実装しています。 これらのルール多くは既存の ESLint 関連で実装されているルールと同じものになっているのですが、ルールの名前が異なることもあり、その対応関係がわかりにくくなっています。 そこでこの記事では、フロントエンド開発をする場合によく設定していそうな次の lint ルールについて、Biome で実装されているかどうかの対応表を紹介します。 eslint (eslint:recommended) typescript-eslint (plugin:@typescript-eslint/recommended) eslint-plugin-jsx-a11y (plugin:jsx-a11y/recommended) eslint-plugin-react (plugi

                                  Biome と ESLint の lint ルールの互換性
                                • 初めてESLintのカスタムルールを作ったらチームで使われるようになった話

                                  こんにちは、kintone 新機能開発チームに所属している 23 卒の柿崎です。 この記事では、私が初めて ESLint のカスタムルールを作って npm で公開し、普段業務で触っているコードに適用されるまでについて紹介しようと思います。 「自分でも ESLint のカスタムルール作れそう!作ってみよう!」と思ってもらえたら嬉しいです。 実際に作ったものはこちらです 👇 きっかけ kintone 新機能開発チームは kintone の領域ごとに複数のサブチームに分かれていて、その中でも私はアプリの利用に関する領域にオーナーシップを持つアプリチームにいます。 アプリチームでは現在フロントエンドのフレームワークの刷新を行っています。 kintone のアプリとは、ユーザーが作ることのできる業務システムのことで、アプリにはフィールドという概念があり、その数は 20 個ほどです。 フィールドごと

                                    初めてESLintのカスタムルールを作ったらチームで使われるようになった話
                                  • ESLint を使って JSDoc / TSDoc の記述を必須化する

                                    これはなに コードベースに対し JSDoc の記述を必須化するための ESLint 設定手順をまとめたものです。 JSDoc を始めとする Doc コメントはコードに最も近いドキュメントであり、これがあるのと無いのとではコードベースの保守性に天と地ほどの差が生まれます。そんな JSDoc ですが、OSS ならともかく(内製・受託を問わず)商業ソフトウェア開発の現場では軽視されがちです。後からコーディング規約を定めたところで開発メンバーにドキュメントを書く習慣が備わっていなければ書き漏れが頻発するのが関の山です。 コードレビューで都度指摘するにはあまりにコストがかかるため、ESLint に委ねるのが望ましいです。 前提 フレームワークは React(or Next.js)を使っている。 TypeScript を主体としている。 ビルドスクリプトや設定ファイルは JavaScript も併用し

                                      ESLint を使って JSDoc / TSDoc の記述を必須化する
                                    • ESLint v9.0.0 released - ESLint - Pluggable JavaScript Linter

                                      Highlights This is a summary of the significant changes, both breaking and non-breaking, you need to know about when upgrading from ESLint v8.x to ESLint v9.0.0. Installing Because this is a major release, you may not automatically be upgraded by npm. To ensure you are using this version, run: npm i eslint@9.0.0 --save-dev Migration Guide As there are a lot of changes, we’ve created a migration gu

                                        ESLint v9.0.0 released - ESLint - Pluggable JavaScript Linter
                                      • Introducing the ESLint Configuration Migrator - ESLint - Pluggable JavaScript Linter

                                        We’ve heard you: One of the biggest reasons ESLint users haven’t upgraded to ESLint v9.x is migrating a configuration file seems difficult and complicated. Some plugins support flat config and the ESLint v9.x rule APIs and some don’t. Sometimes you need to use FlatCompat and sometimes you need to use the compatibility utilities. While we cover as much as we can in the migration guide, it can take

                                          Introducing the ESLint Configuration Migrator - ESLint - Pluggable JavaScript Linter
                                        • Flat config rollout plans - ESLint - Pluggable JavaScript Linter

                                          It may seem hard to believe, but the RFC for ESLint’s new configuration system, nicknamed flat config, was first written in 2019. It took until 2022 (v8.21.0) for us to release an experimental, opt-in version of flat config. Since then, we’ve been making changes and improvements based on feedback from the community. The plan was always to allow the current configuration system, nicknamed eslintrc,

                                            Flat config rollout plans - ESLint - Pluggable JavaScript Linter
                                          • Introducing ESLint Config Inspector - ESLint - Pluggable JavaScript Linter

                                            As of ESLint v9,0.0, the new configuration system has reached general availability, bringing with it many benefits. Configuration files are now easier to manage and more transparent to compose. However, it can still be non-trivial to understand which rules are enabled and disabled for specific files, especially when your configuration is complex or composed from multiple sources. That’s why we are

                                              Introducing ESLint Config Inspector - ESLint - Pluggable JavaScript Linter
                                            • 【自動修正も可能】カスタムESLintルールをTypeScriptで書く(eslint-plugin-local-rules)

                                              チームで開発をする中で、特定の書き方を強制するために ESLint を使うことがあります。 どうしてもデフォルトのルールでは表現できない場合もありますが、そんなときはカスタムルールを作ることで対応できます。 今回は eslint-plugin-local-rules というプラグインを使って、リポジトリ内で完結するルールを書く方法を紹介します。 この記事の概要 ESLint のカスタムルールを作る 外部に公開 (npm publish) する必要はなく、リポジトリ内だけで完結させる ルールを TypeScript で書く 自動修正機能をつける JSX を検出する ESLintルールを作ることのメリット 具体的な方法を説明する前に、なぜ開発ルールを ESLint ルールにすることが重要なのか確認しておきます。 コードを書く人が気をつければいいんじゃない?と思うこともあるのですが、ルールを作る

                                                【自動修正も可能】カスタムESLintルールをTypeScriptで書く(eslint-plugin-local-rules)
                                              • Introducing ESLint Compatibility Utilities - ESLint - Pluggable JavaScript Linter

                                                The release of ESLint v9.0.0 brought with it the rollout of the new configuration system, but also a series of changes to the rules API. These changes are necessary in order to prepare ESLint for implementing language plugins, which will give ESLint the ability to natively lint languages other than JavaScript. As a result, plugin authors needed to update their rules to work with v9.0.0, and unfort

                                                  Introducing ESLint Compatibility Utilities - ESLint - Pluggable JavaScript Linter
                                                • Announcing typescript-eslint v7 | typescript-eslint

                                                  typescript-eslint is the tooling that enables standard JavaScript tools such as ESLint and Prettier to support TypeScript code. We've been working on infrastructure improvements that will help ensuring long-term interoperability with other tools in the ecosystem. In particular this major release tightens our dependency requirements to help set us up for ESLint v9 and includes a new package typescr

                                                    Announcing typescript-eslint v7 | typescript-eslint
                                                  • ESLint の設定から逃げない

                                                    はじめに .eslintrc ファイルを触る or 見ることはあるけど、内容はあまり理解できていない方も多いのではないでしょうか。 そこで React Native 公式の ESLint 設定である eslint-config-react-native を見ながら ESLint の設定ファイルを読めるようになろう、というのがこの記事の趣旨です。この記事を読むにあたり、React Native 特有の知識は必要ありません。 対象読者は ESLint の設定ファイルを触ったことはあるけど内容を理解できていない方です。入門記事ではないため、ESLint に全く触れたことがない方は、 Getting Started を読んでからこの記事をお読みいただくとより理解しやすいかもしれません。 とは言っても、この記事で扱う内容は決して高度なものではないため、入門者の方がお読みいただいても理解できる箇所は多

                                                      ESLint の設定から逃げない
                                                    • 【ESLint】Reactで”&&”で分岐した際、うっかり「0」を表示しないためのルール3選

                                                      のように実装することが多いと思います。 このような実装の罠として、変数がbool型ならよいのですが、たとえばnumber型かつ0が格納されている際、式の評価としては左辺の0が返されてしまい、ブラウザ上に「0」とだけ表示されたり、React Nativeでは最悪の場合クラッシュを引き起こします。 対策としてはシンプルで、かならず!!を先頭に付与すると良いです。

                                                        【ESLint】Reactで”&&”で分岐した際、うっかり「0」を表示しないためのルール3選
                                                      • 2024-02-20のJS: ES2024 RC、typescript-eslint v7、React Compiler

                                                        JSer.info #681 - 2024年6月の正式公開に向けたES2024のリリース候補が公開されました。 Release ES2024 Candidate February 2024 · tc39/ecma262 ES2024では、次のような変更が含まれる予定です。 ArrayBuffer.prototype.resize ArrayBuffer.prototype.transfer RegExp v flag Promise.withResolvers Object.groupBy/Map.groupBy Atomics.waitAsync String.prototype.isWellFormed/String.prototype.toWellFormed 毎年2月ごろに仕様へ取り込むProposalが決まり、6月ごろのGA 127th meetingで最終的な承認を得る予定です

                                                          2024-02-20のJS: ES2024 RC、typescript-eslint v7、React Compiler
                                                        • ESLintがメジャーバージョンアップしてv9.0.0に ー Flat configがデフォルトに、新たなルール導入、Node.js v19以前のサポート終了

                                                          4月6日、JavaScriptのコード品質管理ツールであるESLintは、その最新版バージョン9.0.0をリリースした。このアップデートでは、新機能の導入、バグ修正、そしていくつかの重大な変更が行われた。 4月6日、JavaScriptのコード品質管理ツールであるESLintは、その最新版バージョン9.0.0をリリースした。このアップデートでは、新機能の導入、バグ修正、そしていくつかの重大な変更が行われた。 新しいバージョンをインストールするには、以下のコマンドを実行するだけでよい。 npm i eslint@9.0.0 --save-dev 主な変更点を以下に挙げる。 Node.jsサポートの更新 主要な変更点の一つとして、Node.jsのサポートが更新された。これにより、Node.js v18.18.0未満およびv19のサポートが終了し、Node.js v20.xが現在のLTSリリース

                                                            ESLintがメジャーバージョンアップしてv9.0.0に ー Flat configがデフォルトに、新たなルール導入、Node.js v19以前のサポート終了
                                                          • [2023年]Next.js + eslint周りの設定

                                                            更新履歴 2024年3月31日 → npm scriptsについて追記しました。 動機 リンター周りの設定で理解が曖昧な箇所があったので、 クリアにして諸々の設定を見直したい と考えたからです。 リンターや、フォーマッターで他人の設定をコピペして設定している人も多いかと思います。 それだと応用が効かなかったり、古い設定をそのまま使用することになってしまいます。 方針 最小限の設定から足りないものを足していくスタイル 魔改造しない これはやっといた方がいいものだけに絞る 一個一個噛み砕いて、設定していく 成果物 こちらに成果物のリポジトリを用意しました。 記事を読むのは面倒な人はこちらからどうぞ。 commitは記事の順番にそっているので、記事の流れに沿って設定できます。 (1)Next.jsをインストール

                                                              [2023年]Next.js + eslint周りの設定
                                                            • 📈 Tracking: ESLint v9 support · Issue #18391 · eslint/eslint

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                📈 Tracking: ESLint v9 support · Issue #18391 · eslint/eslint
                                                              • 2024-04-11のJS: zx 8.0.0、ESLint 9.0.0、Flowの`component`構文

                                                                JSer.info #688 - zx 8.0.0がリリースされました。 Release 8.0.0 · google/zx パッケージサイズの削減、$.syncの追加、inputオプションの追加、AbortControllerのサポート、killメソッドの追加などが行われています。 そのほかには、$.verboseのデフォルト値をfalseに変更、ssh APIの削除などの変更も含まれています ESLint 9.0.0がリリースされました。 ESLint v9.0.0 released - ESLint - Pluggable JavaScript Linter Node.js 18.18未満のサポート終了、Flat Configをデフォルト化、ビルトインのformatterの一部をパッケージに移動、JSDocのルールを削除、eslint:recommendeddの更新などの変更が行われ

                                                                  2024-04-11のJS: zx 8.0.0、ESLint 9.0.0、Flowの`component`構文
                                                                • ESLint Stylistic

                                                                  ESLint StylisticStylistic Formatting for ESLint Formatting and Linting in one go, with fully customizable rules

                                                                    ESLint Stylistic
                                                                  • What's coming in ESLint v9.0.0 - ESLint - Pluggable JavaScript Linter

                                                                    Last month, the Technical Steering Committee (TSC) met to finalize the features for ESLint v9.0.0. This post outlines our plans for v9.0.0. You can keep up to date everything that is planned for v9.0.0 on our project board. Development plan Due to the large number of breaking changes planned for v9.0.0, we have decided to develop this release in two phases: Alpha. The alpha release will be compris

                                                                      What's coming in ESLint v9.0.0 - ESLint - Pluggable JavaScript Linter
                                                                    • 2024-06-03のJS: vitest v2.0.0-beta.5(browser mode)、Rspack v0.7、ESLint Migrator

                                                                      JSer.info #695 - Vitest v2.0.0-beta.5がリリースされました。 Release v2.0.0-beta.5 · vitest-dev/vitest --merge-reportsがカバレッジをサポート、Promiseベースのmockに対するAssertionの追加、ブラウザモードの改善などが含まれています。 VitestのBrowser Modeは、jsdomやhappy-domを置き換える形で、コンポーネントテストのための仕組みとして作られています。 開発中のVitest 2.0ではCommands APIとmodule mockingが追加されています。 次のIssueに、VitestのBrowser Modeの目的や方向性についての解説が書かれています。 Vitest Browser Mode · vitest-dev/vitest · Discus

                                                                        2024-06-03のJS: vitest v2.0.0-beta.5(browser mode)、Rspack v0.7、ESLint Migrator
                                                                      • ESLint の Legacy Config と Flat Config における Plugin 構造の違いと両対応 Plugin の構造

                                                                        概要 ESLint v9 への対応を進めていると、いくつか Flat Config に対応していない Plugin や Config に遭遇することがあります。その際に、Legacy Config のみ対応している Plugin と、Flat Config も対応している Plugin の両方の構造の違いを知っておくと、Flat Config に向けた対応をすすめる上で便利だったため、その違いを俯瞰するための資料としてまとめました。 前提 以下で例示する Plugin は、パッケージ名を eslint-plugin-example として、いくつかのカスタムルールと、カスタム Processor を持つものを想定しています。 Plugin の実装方法や API の解説はしない。 ESLint v9 では、v8 で廃止予定となった API が削除されているため、Plugin を作成したり、E

                                                                          ESLint の Legacy Config と Flat Config における Plugin 構造の違いと両対応 Plugin の構造
                                                                        • Vue3 + TypeScript + Prettier に対応した ESLint Flat Config の最小構成

                                                                          タイトルの構成を Flat Config で実現しようと思ったら、若干ハマったので雑に書きました。 TL; DR 別途必要なライブラリはインストールしてください。 import globals from "globals"; import pluginJs from "@eslint/js"; import tseslint from "typescript-eslint"; import pluginVue from "eslint-plugin-vue"; import vueParser from "vue-eslint-parser"; import eslintConfigPrettier from "eslint-config-prettier"; export default [ { languageOptions: { globals: globals.browser }

                                                                            Vue3 + TypeScript + Prettier に対応した ESLint Flat Config の最小構成
                                                                          • ESLintのルールを全部読む

                                                                            全部読んで、使うのか使わないのか、使うならどういう設定にするか、を全部考える。 airbnb-base を使いがちだったが自社のルールセット作るうえでは通ったほうが良い道なのではと思ったので、やる。 array-callback-return ArrayやArray.prototypeに生えている関数(Arrany.fromやArray.prototype.everyなど)が引数にcallbackを取る場合に、callbackで必ずreturnを書くことを強要するルール。 // だめな例 /*eslint array-callback-return: "error"*/ var indexMap = myArray.reduce(function(memo, item, index) { memo[item] = index; // returnがない }, {}); var foo =

                                                                              ESLintのルールを全部読む
                                                                            • Announcing typescript-eslint v6 | typescript-eslint

                                                                              typescript-eslint is the tooling that enables standard JavaScript tools such as ESLint and Prettier to support TypeScript code. We've been working on a set of breaking changes and general features that we're excited to get in released! 🎉 We'd previously blogged about v6 in Announcing typescript-eslint v6 Beta. This blog post contains much of the same information as that one, but updated for chang

                                                                                Announcing typescript-eslint v6 | typescript-eslint
                                                                              • Nuxt3のLinterは Nuxt ESLint で整備する (マイグレーションあり)

                                                                                はじめに こんにちは、がんがんです。 2024年4月、NuxtからNuxt ESLintというモジュールが公開されました。Nuxtユーザー待望のAll-in-one ESLintモジュールです。 本モジュールの登場によりNuxtにおけるリンターの設定方法が大きく変わりました。 本記事ではNuxt ESLintを用いたマイグレーションを中心に新しいNuxt ESLintをセットアップしていきます。 Nuxt ESLint とは Nuxt ESLintはAll-in-one ESLint integration for Nuxtと公式ドキュメントに記載がある通り、NuxtユーザーのためのAll-in-oneモジュールです。 今までのNuxtユーザーは Nuxt3でESLintを使う場合、どれがNuxt公式のルールだろう NuxtでESLint Flat Configはどうすれば良い? nuxt

                                                                                  Nuxt3のLinterは Nuxt ESLint で整備する (マイグレーションあり)
                                                                                • eslint-plugin-import-accessで「そこからそれはimportしないでください!!」を防ぐ

                                                                                  eslint-plugin-import-accessで「そこからそれはimportしないでください!!」を防ぐ この記事は 株式会社ゆめみの23卒 Advent Calendar 2023 16日目の記事です。 3行で eslint-plugin-import-accessで「ディレクトリの他の階層からimportしてほしくないメンバ」を定義できるよ! さらに defaultImportability: "package"を指定するとちょっと初見殺し感があるけどかなり強力になるよ! re-exportを使う場合はビルドパフォーマンスやバンドルサイズに影響する可能性があるから気をつけよう! eslint-plugin-import-accessとは アプリケーションなどを開発しているとき、あるモジュールの範囲内でのみ使用してほしい(=あるモジュールの中に隠蔽したい)変数や関数を定義したくな

                                                                                    eslint-plugin-import-accessで「そこからそれはimportしないでください!!」を防ぐ