JSer.info #622 - Bun 0.3.0がリリースされました。
高負荷時メモリ消費量の改善、GCでのクラッシュを修正など安定性が向上しています。
Node.js互換性として、child_process
モジュール、Error.captureStackTrace()
APIなどを追加しています。
そのほかには、console
をAsyncIterableに変更、import
してるモジュールを自動的にnpmからインストールするようになっています。
また、Next.jsライクなルーティングをファイルシステムに対して行うFileSystemRouter
APIの追加、expect()
のmatchersの追加なども行われています。
React向けのデータ取得ライブラリであるSWR 2.0がリリースされています。
破壊的な変更として、Fetcherの引数の変更、キャッシュの内部構造の変更、ビルドターゲットをES2018に変更などが行われています。
機能追加として、useSWRMutation
の追加、optimisticData
/populateCache
/revalidate
/rollbackOnError
といったOptimistic UIに関するオプションを追加、SWR DevToolsにデフォルトで対応するようになりました。
そのほかには、preload
APIの追加、状態としてisLoading
を追加、keepPreviousData
オプションの追加、React 18の対応改善なども含まれています。
TypeScript版のCoffeeScriptともいえるCivetが公開されています。
CoffeeScriptにES2015以降の対応と型注釈を追加した構文となっていて、TypeScriptへとコンパイルできる言語となっています。
$ echo "add := (a: number, b: number) => a + b;" > main.civet
$ npx @danielx/civet < main.civet # TypeScriptのコードが出力される
const add = (a: number, b: number) => a + b;
$ npx @danielx/civet --js < main.civet # JavaScriptのコードが出力される
const add = (a, b) => a + b;
また、CoffeeScriptからの移行パスも用意されていて、"civet coffeeCompat" directive prologueによって機能単位で互換性の設定ができるようになっています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Bun v0.3.0
Bun 0.3.0リリース。
高負荷時メモリ消費量の改善、GCでのクラッシュを修正など安定性の向上。
Node.js互換性として、child_process
モジュール、Error.captureStackTrace()
APIなどの追加。
console
をAsyncIterableに変更、import
してるモジュールを自動的にnpmからインストールするように。
Next.jsライクなルーティングをファイルシステムに対して行うFileSystemRouter
APIの追加、expect()
のmatchersの追加など
Ember 4.9 Released
blog.emberjs.com/ember-4-9-released/
Ember 4.9リリース。
TypeScript 4.9のサポートなど
Announcing the Tauri Mobile Alpha Release | Tauri Apps
tauri.app/blog/2022/12/09/tauri-mobile-alpha/
Tauri 2.0.0 alphaリリース。
iOS/Androidのモバイルアプリでの実行をサポートなど
Announcing SWR 2.0 – SWR
SWR 2.0リリース。
破壊的な変更として、Fetcherの引数の変更、キャッシュの内部構造の変更、ビルドターゲットをES2018に変更。
useSWRMutation
の追加、Optimistic UIに関するオプションを追加、SWR DevToolsに対応。
preload
APIの追加、状態としてisLoading
を追加、keepPreviousData
オプションの追加、React 18の対応改善など
Announcing Rome v11
rome.tools/blog/2022/12/06/rome11/
Rome v11リリース。
TypeScript 4.9のサポート、semicolons
オプションの追加、Lintルールの追加とLintのグループを追加など
Release v0.16.0 · evanw/esbuild
github.com/evanw/esbuild/releases/tag/v0.16.0
esbuild v0.16.0リリース。
破壊的な変更としてesbuild-<arch>
のパッケージを@esbuild/<arch>
へと変更、define
パラメータのバリデーションを追加。
SVGのようにファイルをbase64する必要がない場合はしないように変更、</script>
を自動エスケープするように変更、--legal-comments
のデフォルトをnone
に変更など
アーティクル
Chromium Blog: Introducing passkeys in Chrome
blog.chromium.org/2022/12/introducing-passkeys-in-chrome.html
Chrome 108でPasskeysが利用可能になった
Interaction to Next Paint (INP)
Interaction to Next Paint(INP)という操作してからの応答時間を測るパフォーマンスのメトリクスについて。
INPが200msより大きいなら改善が必要、インタラクションにはどのようなものがあるかやFirst Input Delay(FID)との違いについて。
また、ブラウザでの計測方法やラボデータについて
Building data-centric apps with a reactive relational database
riffle.systems/essays/prelude/
UIの状態をブラウザ上のDB(SQLite)に全て持たせることで、アプリ開発を簡素化する研究。
SQLiteをデータベースではなく、データストアとして利用する
Web Performance Calendar » Mobile Performance of Next.js Sites
calendar.perfplanet.com/2022/mobile-performance-of-next-js-sites/
Next.jsのショーケースに掲載されてるウェブサイトのモバイルにおけるパフォーマンスを計測した記事。
サイト、サービス、ドキュメント
socketsupply/socket: Create networked, native, cross-platform software on mobile and desktop using HTML, CSS, and JavaScript.
github.com/socketsupply/socket
HTML、CSS、JavaScriptを使ってモバイルアプリ、デスクトップアプリを作成するツールキット。
WebViewベースのアプリケーションを作成できるSDK
zenorocha/react-email: 💌 Build and send emails using React
github.com/zenorocha/react-email
メールコンテンツを作成するためのReactコンポーネントとレンダラー
ソフトウェア、ツール、ライブラリ関係
elysiajs/elysia: Fast, and friendly Bun web framework
Bun向けのウェブフレームワーク
DanielXMoore/Civet: The CoffeeScript of TypeScript
CoffeeScriptからTypeScriptへコンパイルできるCoffeeScriptコンパイラ。
CoffeeScript2と互換性のある構文とES2015以降のサポート、TypeScriptの型アノテーションのサポートを目的に作られている。
rafasofizada/pechkin: Pechkin is a modern, asynchronous, flexible and configurable Node.js library for handling file uploads (i.e. multipart/form-data requests), written in TypeScript.
github.com/rafasofizada/pechkin
multipart/form-data
などのファイルアップロードを扱うNode.jsライブラリ。