Cybozu Frontend Monthly #50

タイトル画像

イベント概要

サイボウズフロントエンドマンスリー は、サイボウズ社内で行っているフロントエンド情報共有会「フロントエンドウィークリー」の公開版です。

その月に気になったフロントエンドの情報を、サイボウズのフロントエンドエキスパートチームのメンバーが共有していきます。

このイベントのハッシュタグは #サイボウズフロントエンドマンスリー です。

※フロントエンドウィークリーとは

毎週火曜の 17:00 〜 18:00 で社内向けに行っているフロントエンドの気になる記事を紹介する会です。2016年3月15日から行われています。
ハッシュタグ #サイボウズフロントエンドウィークリー で実況しています。

zennのpublicationにてウィークリーのまとめも投稿していますので、ぜひこちらもご覧ください。 https://zenn.dev/p/cybozu_frontend

開催日

2024年09月24日

イベントページ

https://cybozu.connpass.com/event/329732/

配信URL

https://www.youtube.com/watch?v=wAQx_d7Mtr8

メンバー


コンテンツ

👀 Notable Articles

WebKit Features in Safari 18.0

Safari 18.0 がリリースされました。 CSS 等の追加だけでなく、各 OS ごとに様々なブラウザ固有の機能が実装されています。

CSS

HTML

JavaScript

Web API

Component testing in Storybook

Storybook でのコンポーネントテストについての記事が公開されました。

この記事では次のようなことが書かれています。

実際に Storybook では、ブラウザでコンポーネントをレンダリングし、@storybook/test-runner、Chromatic、最近だとPortable storiesといった機能が提供されています。

この他にも SafeTest、WebDriverIO、Playwright、Cypress、Vitest が同様の機能を提供しており(experimental なものが多い)、ブラウザ上でコンポーネントをテストする需要の高まりを感じます。

Announcing TypedSQL: Make your raw SQL queries type-safe with Prisma ORM

ORM であり、最近では活用しているケースも非常に多く聞くようになった Prisma が、TypeScript で SQL クエリを型安全に扱うためのライブラリ TypedSQL をリリースしました。

一般的に ORM では、それ自体の機構では表現できなかったり、あるいはクエリが非効率になってしまうなど、さまざまな理由から生の SQL クエリを必要とするケースがありますが、従来ではこれを型安全に扱うのは難しく、Prisma も例外ではありませんでした。TypedSQL では、元々 Prisma がスキーマ情報から型情報を出力する際に実行していた prisma generate--sql オプションを追加することで、*.sql ファイルも解析し、TypeScript から利用可能な型付けされたコードを生成することが可能となります。サポートされている RDBMS は MySQL および PostgreSQL の最新バージョンとのことです。

TypeScript として型安全になるのと同時に、パラメータなども関数を介して渡せることで、Prepared Statement での処理も保証されるのも安心できる要素になりそうです。

oxc でサポートされた isolatedDeclaration 環境下での.d.ts ファイル出力が速い話

TypeScript の 5.5 から入った isolatedDeclaration オプションでは export される関数やオブジェクトに対して、その型や返り値の型を明示的に指定するという制限を設けます。代わりに isolatedDeclaration オプション有効時は export される型が推論なしに決定できるので高速に .d.ts ファイルを生成することができるようになるわけです。

このオプションがリリーされて以降、tsc 以外の bundler などでも .d.ts ファイルを生成する機能が追加されてきました。今回の例でその中の一つである oxc を利用して vue の core の.d.ts ファイル生成速度を大幅に向上させたそうです。

Evan You 氏の x への post によれば tsc で 4.73s かかっていた .d.ts ファイル生成が 0.127s まで短縮されたとしています。速度にしておよそ 30 倍以上の高速化になります。

現在この実装は試験的な branch で行われており、実際に oxc-transform を利用して.d.ts ファイル出力を行う新しい script などを見ることができます。

https://github.com/vuejs/core/commit/5f91183c4245db58f9817bbcc4767d545e6caae8

🗓 Monthly Articles

📖 Framework, Library

⚡️ Services

💬 Languages

🖥 Browsers

🦆 Others

フロントエンドエキスパートチームについて

https://speakerdeck.com/cybozuinsideout/frontendexpert-team