タグ

ブックマーク / zenn.dev/cybozu_frontend (10)

  • Biome の 2024年のロードマップの公開と v1.5.0 のリリース

    このドキュメントは、次の Biome のブログの日語訳になります。 細かい内容については、ぜひ原文の方を読んでもらえると嬉しいです。 ロードマップ 2024 コアコントリビューターとメンテナーが 2024 年にフォーカスしようとしていることを共有できることはとても嬉しいです。一方で、Biome はコミュニティ主導のプロジェクトであるため、取り上げている全てのアイデアのリリースを約束することはできません。 もしいくつかのアイデアに共感し、それらの開発を加速させたいと思った際には、次のような方法でサポートすることができます。 プロジェクトとコミュニティに参加する。アイデアを実装するためのサポートをすることができます。 スポンサーになる。Biome をお使いの会社では、スポンサーになることができます。Biome は CI の時間を削減し、費用を節約できるほど速いです。パフォーマンスは、プロジェ

    Biome の 2024年のロードマップの公開と v1.5.0 のリリース
  • Reactのさまざまなデータフェッチ方法を比較して理解して正しく使用する - SSR + App Router Cache編

    Reactのさまざまなデータフェッチ方法を比較して理解して正しく使用する」シリーズの3記事目、最終記事です🌟 今回は「 Next.js Pages Router(SSR)でのデータフェッチとApp Routerでのデータフェッチ」について理解を深めていきます。 また、最後の全体の結果で「Reactのさまざまなデータフェッチ」シリーズの総括をしていきます。 イントロ+useEffectを用いたデータフェッチ SWR・TanStack Queryを用いたデータフェッチ Pages Router(SSR)でのデータフェッチ+App Routerでのデータフェッチ+まとめ ← 👀この記事 Repository 以下は今シリーズで用いたリポジトリです。 🔽クライアントサイドフェッチの調査に用いたリポジトリ:React+Vite(useEffect, SWR・TanStack Query)

    Reactのさまざまなデータフェッチ方法を比較して理解して正しく使用する - SSR + App Router Cache編
  • Biome と ESLint の lint ルールの互換性

    Biome では、現在約 150 個程度の JavaScriptTypeScript に関する 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 ルールの互換性
  • :user-valid & :user-invalid擬似クラスが来た! - What's new in Browsers!

    What's new in Browsers!は、サイボウズのフロントエンドエンジニアがブラウザの最新情報から気になるトピックを紹介するシリーズです。 今回はChrome 119の更新内容から気になるトピックとして、:user-valid擬似クラスと:user-invalid擬似クラスを紹介します。 ユーザーの操作後に検証が行えるようになった :user-validと:user-invalidはどちらもフォームなどの入力要素の検証の状態に対してスタイルの指定などが行える疑似クラスになります。 検証の状態とは、例えば<input type="email" required />な要素では入力されていない場合やemailとして許容されない文字列が入力がされている場合はinvalidな状態になり、emailとして許容される文字列が入力されている場合にはvalidな状態となります。 :validと

    :user-valid & :user-invalid擬似クラスが来た! - What's new in Browsers!
  • PlaywrightのVSCode拡張を使って効率的にテストを書く

    この記事では、PlaywrightVSCode 拡張を使って GUI 操作のみでテストの記録や実行する方法について紹介します。 PlaywrightVSCode 拡張とは? PlaywrightVSCode 拡張は、Playwright の作成元である Microsoft が公式に提供している拡張機能で、VSCode 内で直接ブラウザテストの記録や実行を支援するための便利なツールです。 GUI 操作を中心に、テストの記録や実行を手軽に行うことが可能となります。 VSCode 拡張のインストールは、以下のリンクから行うことができます。 VSCode 拡張を活用してテストを書く 記事では、シンプルな ToDo アプリを例にテストの作成方法を説明します。Playwright のインストール方法は、公式ドキュメントをご参照ください。その後、VSCodePlaywright

    PlaywrightのVSCode拡張を使って効率的にテストを書く
  • 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で新しい構文をサポートする
  • Panda CSS - Chakra UI の Zero Runtime CSS フレームワーク

    🐼 パンダが来た / Panda CSS Chakra UI から、新しい CSS フレームワークである Panda CSS がリリースされました。 2023 年 3 月に公開された Chakra UI の今後のロードマップに関するブログ内でもすでに言及されていましたが、今回それが正式にリリースされた形となります。 Panda CSS の特徴 リポジトリ内 README からの抜粋となりますが、次のような特徴があります。 ⚡️ Write style objects or style props, extract them at build time → Style 用のオブジェクトや Props を定義してビルドで抽出 ✨ Modern CSS output — cascade layers @layer, css variables and more → Cascade Layers

    Panda CSS - Chakra UI の Zero Runtime CSS フレームワーク
  • React cache() で Next.js の Per-request Caching が実現できるのはなぜか

    Next.js App Router では、リクエスト単位で処理をキャッシュする機構が存在し、ドキュメント上にも Per-request Caching として説明があります。 ひとつは、fetch() による Automatic fetch() Request Deduping で、単一リクエスト内で同一の fetch()リクエストが存在した場合、重複を排除し、最低限の実行としてくれます。これには特に設定などは必要なく、一定条件(GET かどうか、など)を満たしていれば自動的に最適化されます。 詳細は ↓ をご覧ください。 そしてもう一つ、React が提供する cache() 関数を実行することでも同様にリクエスト単位でのキャッシュが実現できます。 これは Automatic fetch() Request Deduping では対処できないケースで活躍し、DB からの直接のデータ取得

    React cache() で Next.js の Per-request Caching が実現できるのはなぜか
  • Origin Private File Systemを使ってブラウザ上でファイルを高速に操作しよう

    3 行まとめ Origin Private File System という名の通り、Origin に紐づくプライベートなファイルシステムが扱える API Firefox 111 で実装されたことで、主要ブラウザでほとんどの機能が使える[1] Origin Private File System は FileSystem Access API よりもファイル操作のパフォーマンスが良い Origin Private File System とは Origin と紐づき、ユーザには非公開なブラウザ上で扱えるファイルシステムです。 なぜ Origin Private File System を使うのか Origin Private File System を使わずとも Blob と URL.createObjectURL() を組み合わせて a 要素をクリックすることでファイルをダウンロードしたり

    Origin Private File Systemを使ってブラウザ上でファイルを高速に操作しよう
  • Rome の core contributor になった

    ちょっと時間が経ってしまったのですが Rome の core contributor になったので、なるまでの振り返りと現在の Rome の状況について少し書きたいと思います。 Rome とは Rome は、増え続けている JavaScript の開発に必要なツールチェーンを統一し、開発者体験を改善しようということで始まった OSS です。現在は、JS (JSX)・TS・JSON に対する formatterlinter を提供しています。 Babel の生みの親である Sebastian McKenzie さんが 2017 年頃からプライベートで開発を始め、2020 年頃からは OSS として開発が進められています。2021 年の 7 月ごろまでは、3rd party の npm パッケージを極力利用せずに TypeScript で実装されていました。[1] 2021 年の 7 月

    Rome の core contributor になった
  • 1