Fork me on GitHub

2024-01-28のJS: Firefox 122、Deno 1.40、Safari 17.4 Beta

Edit on GitHub 編集履歴を見る

JSer.info #678 - Firefox 122.0がリリースされました。

<select>の子要素として<hr>を許可するように、CSSのoffset-positionoffset-pathプロパティをデフォルトで有効化されています。
ArrayBuffer.prototype.transfer()の実装、XSSの対策としてSVGの<use>にData URLを利用できないように変更されています。
また、実験的な機能としてDeclarative shadow DOM、Popover API、Clipboard API、Intl.Segmenterが実装されています。


Deno 1.40がリリースされました。

Temporal APIのサポート、import.meta.filename/import.meta.dirnameのサポートが追加されています。
import.meta.filename/import.meta.dirnameは、Node.jsとBunでもサポートされています。

そのほかには、windowDeno.run()Deno.serveHttp()Deno.metrics()などの古いAPIを非推奨化が行われています。


Safari 17.4 Betaがリリースされました。

CSSでは、@scopeのサポート、Block Containersでのalign-contentをサポートなどが追加されています。
HTMLでは、<select>の中での<hr>のサポート。<input type=checkbox switch>のサポートなどが追加されています。
JSでは、Promise.withResolversArrayBuffer.prototype.transferObject.groupByのサポートなどが追加されています。
また、iOSでVP8/VP9/WebMをサポート、Full Screen APIをサポートなどが追加されています。

このリリースとは直接関係はないですが、AppleはEUではWebKit以外のブラウザエンジンを利用できると発表をしています。
かなり色々な制限があるため、実際に利用できるかは不明ですが、iOS上で別のブラウザエンジンを利用できるようになる可能性があります。

関連する話題として、MozillaがAppleやGoogleなどのOSプラットフォーム側が制限している内容をまとめたサイトを公開しています。


JSer.infoをサポートするには

JSer.info Sponsors

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


ヘッドライン


Release v2.0.0 · volarjs/volar.js

github.com/volarjs/volar.js/releases/tag/v2.0.0

TypeScript library ReleaseNote

volar v2.0.0リリース。
コアをTypeScriptに依存しない形へと変更、@volar/cdnを非推奨化など


Firefox 122.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/122.0/releasenotes/

Firefox ReleaseNote

Firefox 122リリース。
<select>の子要素として<hr>を許可するように、CSSのoffset-positionoffset-pathプロパティをデフォルトで有効化。
ArrayBuffer.prototype.transfer()の実装、SVGの<use>にData URLを利用できないように変更。
実験的な機能としてDeclarative shadow DOM、Popover API、Clipboard API、Intl.Segmenterの実装など


Release v5.90.0 · webpack/webpack

github.com/webpack/webpack/releases/tag/v5.90.0

webpack ReleaseNote

webpack v5.90.0リリース。
node.{__filename,__dirname}node-moduleオプションの追加、バグ修正など


Deno 1.40: Temporal API

deno.com/blog/v1.40

deno ReleaseNote

Deno v1.40リリース。
Temporal APIのサポート、import.meta.filename/import.meta.dirnameのサポート、deno.jsonimportsの指定方法を改善。
windowDeno.run()Deno.serveHttp()Deno.metrics()などの古いAPIを非推奨化など


Safari 17.4 Beta Release Notes | Apple Developer Documentation

developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes

safari ReleaseNote

Safari 17.4 Betaリリース。
CSSでは、@scopeのサポート、Block Containersでのalign-contentをサポート。
HTMLでは、<select>の中での<hr>のサポート。<input type=checkbox switch>のサポート。
JSでは、Promise.withResolversArrayBuffer.prototype.transferObject.groupByのサポート。
iOSでVP8/VP9/WebMをサポート、Full Screen APIをサポート。


Release v0.20.0 · evanw/esbuild

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

esbuild ReleaseNote

esbuild v0.20.0リリース。
Deno 1.40に対応、node_modulesのパッケージないから探索するファイルの拡張子の優先順位を変更など


QuickJS Javascript Engine

bellard.org/quickjs/

JavaScript ReleaseNote

QuickJSのES2023サポート。

  • ES2022のTop-Level await
  • ES2023のChange Array by copy、Array.prototype.{findLast, findLastIndex}
  • ES2024のObject.groupByPromise.withResolvers

Announcing AdonisJS v6

adonisjs.com/blog/adonisjs-v6-announcement

JavaScript nodejs ReleaseNote server

AdonisJS v6リリース。
ESMへの移行、Vite integrationのサポート。
VineJSというバリデーションライブラリの作成、テストフレームワークやテンプレートエンジンなどのコアをパッケージとして切り出して利用できるようになるなど


スライド、動画関係


Next.js App Router Caching: Explained! - YouTube

www.youtube.com/watch?v=VBlSe8tvg4U

Next.js video JavaScript

Next.js App Routerでのキャッシュがどのように動くかについての動画。
Pages RouterとApp Routerのデフォルトのキャッシュの挙動の違い、noCache()/cache()でのキャッシュするかの制御、revalidateTag()での再検証。
useOptimistic()やJavaScriptがない時の動作についてなど


サイト、サービス、ドキュメント


The AHA Stack | AHA

ahastack.dev/

JavaScript HTML document

Astro x Htmx x Alpine.jsのAHA Stackについてのサイト


Platform Tilt - Mozilla

mozilla.github.io/platform-tilt/

browser Mozilla apple google Microsoft document

iOS/Android/Windowsなどのプラットフォーム上でのブラウザの格差に繋がる制約などについてまとめたサイト


Introduction

bentocache.dev/docs/introduction

nodejs JavaScript library

AdonisJSから切り出されたキャッシュライブラリ。
DriverでRedisなどのバックエンドプロバイダーの指定、Multi Tierによるキャッシュサイズに応じた多層化、Cache stampedeの対策などを実装している


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


chrisguttandin/worker-timers: A replacement for setInterval() and setTimeout() which works in unfocused windows.

github.com/chrisguttandin/worker-timers

browser webworker JavaScript library

ブラウザはタブがアクティブではない場合、intervalとtimeoutの最小値を強制的に変更する。
Web Workerではこの制限がないことを利用して、制限のないsetTimeoutsetIntervalを提供するライブラリ


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