Fork me on GitHub

2022-12-13のJS: Bun 0.3.0、SWR 2.0、Civet(CoffeeScript of TypeScript)

Edit on GitHub 編集履歴を見る

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 Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Bun v0.3.0

bun.sh/blog/bun-v0.3.0

Bun ReleaseNote

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 ReleaseNote

Ember 4.9リリース。
TypeScript 4.9のサポートなど


Announcing the Tauri Mobile Alpha Release | Tauri Apps

tauri.app/blog/2022/12/09/tauri-mobile-alpha/

JavaScript Rust mobile ReleaseNote

Tauri 2.0.0 alphaリリース。
iOS/Androidのモバイルアプリでの実行をサポートなど


Announcing SWR 2.0 – SWR

swr.vercel.app/blog/swr-v2

React library ReleaseNote

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/

JavaScript Tools ReleaseNote

Rome v11リリース。
TypeScript 4.9のサポート、semicolonsオプションの追加、Lintルールの追加とLintのグループを追加など


Release v0.16.0 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.16.0

JavaScript Tools ReleaseNote

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 security article

Chrome 108でPasskeysが利用可能になった


Interaction to Next Paint (INP)

web.dev/inp/

Chrome browser performance article

Interaction to Next Paint(INP)という操作してからの応答時間を測るパフォーマンスのメトリクスについて。
INPが200msより大きいなら改善が必要、インタラクションにはどのようなものがあるかやFirst Input Delay(FID)との違いについて。
また、ブラウザでの計測方法やラボデータについて


Building data-centric apps with a reactive relational database

riffle.systems/essays/prelude/

JavaScript SQLite article

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 performance article

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 software

HTML、CSS、JavaScriptを使ってモバイルアプリ、デスクトップアプリを作成するツールキット。
WebViewベースのアプリケーションを作成できるSDK


zenorocha/react-email: 💌 Build and send emails using React

github.com/zenorocha/react-email

React mail library

メールコンテンツを作成するためのReactコンポーネントとレンダラー


ソフトウェア、ツール、ライブラリ関係


elysiajs/elysia: Fast, and friendly Bun web framework

github.com/elysiajs/elysia

Bun library JavaScript

Bun向けのウェブフレームワーク


DanielXMoore/Civet: The CoffeeScript of TypeScript

github.com/DanielXMoore/Civet

CoffeeScript TypeScript Tools program

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

node.js library

multipart/form-dataなどのファイルアップロードを扱うNode.jsライブラリ。


この記事へ修正リクエストをする
JSer.info Slackに参加する