Skip to content

Commit

Permalink
2024-01-28のJS: Firefox 122、Deno 1.40、Safari 17.4 Beta (#1159)
Browse files Browse the repository at this point in the history
* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update 678 draft

* Update _i18n/ja/_posts/2024/2024-01-28-firefox-122-deno-1.40-safari-17.4-beta.md

* Delete _i18n/ja/_posts/2024/2024-01-28-678draft.md

* Update _i18n/ja/_posts/2024/2024-01-28-firefox-122-deno-1.40-safari-17.4-beta.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
azu and github-actions[bot] authored Jan 28, 2024
1 parent e017215 commit c93af0e
Showing 1 changed file with 217 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
---
title: "2024-01-28のJS: Firefox 122、Deno 1.40、Safari 17.4 Beta"
author: "azu"
layout: post
date: 2024-01-28T06:24:28.239Z
category: JSer
tags:
- document
- browser
- nodejs
- TypeScript
- Firefox

---

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

- [Firefox 122.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/122.0/releasenotes/)
- [Firefox 122 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/122)

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

----

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

- [Deno 1.40: Temporal API](https://deno.com/blog/v1.40)

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

- [Node.js — Node v20.11.0 (LTS)](https://nodejs.org/en/blog/release/v20.11.0)
- [Bun v1.0.23 | Bun Blog](https://bun.sh/blog/bun-v1.0.23#import-meta-dirname-and-import-meta-filename-support)

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

----

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

- [Safari 17.4 Beta Release Notes | Apple Developer Documentation](https://developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes)

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

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

- [Apple announces changes to iOS, Safari, and the App Store in the European Union - Apple](https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/)
- [Using alternative browser engines in the European Union - Support - Apple Developer](https://developer.apple.com/support/alternative-browser-engines)

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

- [Platform Tilt - Mozilla](https://mozilla.github.io/platform-tilt/)

----

{% include inline-support.html %}

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Release v2.0.0 · volarjs/volar.js
[github.com/volarjs/volar.js/releases/tag/v2.0.0](https://github.com/volarjs/volar.js/releases/tag/v2.0.0 "Release v2.0.0 · volarjs/volar.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

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/](https://www.mozilla.org/en-US/firefox/122.0/releasenotes/ "Firefox 122.0, See All New Features, Updates and Fixes")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Firefox 122 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/122 "Firefox 122 for developers - Mozilla | MDN")

----

## Release v5.90.0 · webpack/webpack
[github.com/webpack/webpack/releases/tag/v5.90.0](https://github.com/webpack/webpack/releases/tag/v5.90.0 "Release v5.90.0 · webpack/webpack")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webpack</span> <span class="jser-tag">ReleaseNote</span></p>

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


----

## Deno 1.40: Temporal API
[deno.com/blog/v1.40](https://deno.com/blog/v1.40 "Deno 1.40: Temporal API")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p>

Deno v1.40リリース。
Temporal APIのサポート、`import.meta.filename`/`import.meta.dirname`のサポート、`deno.json``imports`の指定方法を改善。
`window``Deno.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](https://developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes "Safari 17.4 Beta Release Notes | Apple Developer Documentation")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>

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


----

## Release v0.20.0 · evanw/esbuild
[github.com/evanw/esbuild/releases/tag/v0.20.0](https://github.com/evanw/esbuild/releases/tag/v0.20.0 "Release v0.20.0 · evanw/esbuild")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">esbuild</span> <span class="jser-tag">ReleaseNote</span></p>

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


----

## QuickJS Javascript Engine
[bellard.org/quickjs/](https://bellard.org/quickjs/ "QuickJS Javascript Engine")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">ReleaseNote</span></p>

QuickJSのES2023サポート。

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


----

## Announcing AdonisJS v6
[adonisjs.com/blog/adonisjs-v6-announcement](https://adonisjs.com/blog/adonisjs-v6-announcement "Announcing AdonisJS v6")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">server</span></p>

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


----
<h1 class="site-genre">スライド、動画関係</h1>

----

## Next.js App Router Caching: Explained! - YouTube
[www.youtube.com/watch?v&#x3D;VBlSe8tvg4U](https://www.youtube.com/watch?v=VBlSe8tvg4U "Next.js App Router Caching: Explained! - YouTube")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">video</span> <span class="jser-tag">JavaScript</span></p>

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


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## The AHA Stack | AHA
[ahastack.dev/](https://ahastack.dev/ "The AHA Stack | AHA")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">HTML</span> <span class="jser-tag">document</span></p>

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


----

## Platform Tilt - Mozilla
[mozilla.github.io/platform-tilt/](https://mozilla.github.io/platform-tilt/ "Platform Tilt - Mozilla")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">Mozilla</span> <span class="jser-tag">apple</span> <span class="jser-tag">google</span> <span class="jser-tag">Microsoft</span> <span class="jser-tag">document</span></p>

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


----

## Introduction
[bentocache.dev/docs/introduction](https://bentocache.dev/docs/introduction "Introduction")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>

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


----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## chrisguttandin/worker-timers: A replacement for setInterval() and setTimeout() which works in unfocused windows.
[github.com/chrisguttandin/worker-timers](https://github.com/chrisguttandin/worker-timers "chrisguttandin/worker-timers: A replacement for setInterval() and setTimeout() which works in unfocused windows.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">webworker</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>

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


----

0 comments on commit c93af0e

Please sign in to comment.