Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024-09-23のJS: date-fns v.4.0.0(timezone)、Deno 2.0 RC、Safari 18.0 #1225

Merged
merged 20 commits into from
Sep 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
---
title: "2024-09-23のJS: date-fns v.4.0.0(timezone)、Deno 2.0 RC、Safari 18.0"
author: "azu"
layout: post
date: 2024-09-23T03:06:53.334Z
category: JSer
tags:
- nodejs
- TypeScript
- server
- esbuild
- Tools

---

JSer.info #708 - date-fns v4.0.0がリリースされました。

- [Release v4.0.0 · date-fns/date-fns](https://github.com/date-fns/date-fns/releases/tag/v4.0.0)
- [v4.0 is out with first-class time zones support!](https://blog.date-fns.org/v40-with-time-zone-support/)

date-fns v4.0.0ではTimeZoneをサポート、ESMとCJSのdual packageに変更などが行われています。
TimeZoneのサポートは今までは[date-fns-tz](https://www.npmjs.com/package/date-fns-tz)という外部のパッケージで提供されていましたが、v4.0.0からは[@date-fns/tz](https://github.com/date-fns/tz)というIntlをベースにした新しいパッケージが提供されるようになりました。

---

Denno 2.0 RCがリリースされました。

- [Deno 2.0 Release Candidate](https://deno.com/blog/v2.0-release-candidate)

Deno 2.0 RCではさまざまな破壊的な変更が行われているため、マイグレーションガイドも公開されています。

- [Deno 1.x to 2.x Migration Guide](https://docs.deno.com/runtime/reference/migrate_deprecations/)

グローバルな`window`を削除/`process`を追加、`deno add`で`jsr:`と`npm:`の識別子を指定して追加できるように、パーミッションの指定に関する挙動の変更が行われています。
また、WebGPU/`Deno.dlopen()`/`Deno.createHttpClient()`がStableに、非推奨なAPIやコマンドの削除なども行われています。

---

Safari 18.0がリリースされました。

- [WebKit Features in Safari 18.0 | WebKit](https://webkit.org/blog/15865/webkit-features-in-safari-18-0/)

破壊的な変更として、AppCacheのサポートを削除、標準化されていない`-webkit` prefixの擬似クラスのサポートを廃止、`picture`要素ではJPEG2000のサポートを削除されています。

機能追加としては、次のような変更が含まれています。

- CSSでは、View Transitions、Style Queries、`content-visibility`、`@starting-style`と`display: none`の組み合わせをサポート
- HTMLでは、`picture`要素でHEICをサポート、`writingsuggestions`属性のサポート、`<input switch>`のサポート
- JavaScriptでは、正規表現の`v`フラグをサポート、`URL.parse()`のサポート


----

{% include inline-support.html %}

----

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

----

## Release v4.0.0 · date-fns/date-fns
[github.com/date-fns/date-fns/releases/tag/v4.0.0](https://github.com/date-fns/date-fns/releases/tag/v4.0.0 "Release v4.0.0 · date-fns/date-fns")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

date-fns v4.0.0リリース。
TimeZoneをサポート、ESMとCJSのdual packageに変更など

- [v4.0 is out with first-class time zones support!](https://blog.date-fns.org/v40-with-time-zone-support/ "v4.0 is out with first-class time zones support!")

----

## Node.js — Node v22.9.0 (Current)
[nodejs.org/en/blog/release/v22.9.0](https://nodejs.org/en/blog/release/v22.9.0 "Node.js — Node v22.9.0 (Current)")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js v22.9.0リリース。
`node:util`に`getCallSite`を追加、V8 Maglevを無効化など


----

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

fastify v5.0.0リリース。
Node.js 20未満のサポート終了、非推奨のAPIを削除など

- [Fastify v5 is HERE! - YouTube](https://www.youtube.com/watch?v=M57Vi8NnxUM "Fastify v5 is HERE! - YouTube")
- [V5 Migration Guide | Fastify](https://fastify.dev/docs/latest/Guides/Migration-Guide-V5/ "V5 Migration Guide | Fastify")

----

## Release v0.24.0 · evanw/esbuild
[github.com/evanw/esbuild/releases/tag/v0.24.0](https://github.com/evanw/esbuild/releases/tag/v0.24.0 "Release v0.24.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.24.0リリース。
macOS 10.15のサポート終了、tsconfig.jsonの`useDefineForClassFields`の扱いを修正など


----

## Release 4.0.0 · paulmillr/chokidar
[github.com/paulmillr/chokidar/releases/tag/4.0.0](https://github.com/paulmillr/chokidar/releases/tag/4.0.0 "Release 4.0.0 · paulmillr/chokidar")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

chokidar 4.0.0リリース。
globサポートの削除、fseventsを削除、TypeScriptでの書き直し、Node.js 14未満のサポートを削除など


----

## Astro 5.0 Beta Release | Astro
[astro.build/blog/astro-5-beta/](https://astro.build/blog/astro-5-beta/ "Astro 5.0 Beta Release | Astro")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">astro</span> <span class="jser-tag">ReleaseNote</span></p>

Astro 5.0 betaリリース。
Content LayerとServer IslandsがStableに、`astro:env`の追加など

- [Astro v5.0-beta | Docs](https://5-0-0-beta.docs.astro.build/en/guides/upgrade-to/v5/ "Astro v5.0-beta | Docs")

----

## Release v4.6.0 · honojs/hono
[github.com/honojs/hono/releases/tag/v4.6.0](https://github.com/honojs/hono/releases/tag/v4.6.0 "Release v4.6.0 · honojs/hono")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Hono</span> <span class="jser-tag">ReleaseNote</span></p>

Hono v4.6.0リリース。
asyncLocalStorageを使った`hono/context-storage`を追加など


----

## WebKit Features in Safari 18.0 | WebKit
[webkit.org/blog/15865/webkit-features-in-safari-18-0/](https://webkit.org/blog/15865/webkit-features-in-safari-18-0/ "WebKit Features in Safari 18.0 | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>

Safari 18.0の変更点について。
CSSでは、View Transitions、Style Queries、`content-visibility`、`@starting-style`と`display: none`の組み合わせをサポート。
HTMLでは、`picture`要素でHEICをサポート、`writingsuggestions`属性のサポート、`<input switch>`のサポート。
JavaScriptでは、正規表現の`v`フラグをサポート、`URL.parse()`のサポート。
AppCacheのサポートを削除、標準化されていない`-webkit` prefixの擬似クラスのサポートを廃止、`picture`要素ではJPEG2000のサポートを削除など


----

## Deno 2.0 Release Candidate
[deno.com/blog/v2.0-release-candidate](https://deno.com/blog/v2.0-release-candidate "Deno 2.0 Release Candidate")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p>

Deno v2.0 RCリリース。
グローバルな`window`を削除/`process`を追加、`deno add`で`jsr:`と`npm:`の識別子を指定して追加できるように、パーミッションの指定に関する挙動の変更。
WebGPU/`Deno.dlopen()`/`Deno.createHttpClient()`がStableに、非推奨なAPIやコマンドの削除。
`deno run`でCommonJSを実行可能に、Top Level awaitを含まないESMを`require()`で読み込めるように、Node.jsとの互換性を改善。
`deno test --doc`でDocTestをサポート、TypeScript 5.6へアップデートなど


----
<h1 class="site-genre">アーティクル</h1>

----

## Introducing TanStack Router – Frontend Masters Boost
[frontendmasters.com/blog/introducing-tanstack-router/](https://frontendmasters.com/blog/introducing-tanstack-router/ "Introducing TanStack Router – Frontend Masters Boost")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">article</span> <span class="jser-tag">JavaScript</span></p>

TanStack Routerの基本的な使い方について


----

## Request for developer feedback: customizable select  |  Blog  |  Chrome for Developers
[developer.chrome.com/blog/rfc-customizable-select](https://developer.chrome.com/blog/rfc-customizable-select "Request for developer feedback: customizable select  |  Blog  |  Chrome for Developers")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">HTML</span> <span class="jser-tag">article</span></p>

Chrome Canary 130で実験的な機能として利用できるselect要素のカスタマイズについて。
CSSの`::picker(select)`でselect要素の見た目を変更できる。


----

## Don&#039;t Sleep on AbortController - kettanaito.com
[kettanaito.com/blog/dont-sleep-on-abort-controller](https://kettanaito.com/blog/dont-sleep-on-abort-controller "Don&#039;t Sleep on AbortController - kettanaito.com")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>

`AbortController`の使い方について。
イベントリスナーの解除、Fetchのキャンセル、`AbortSignal.timeout`/`AbortSignal.any`について。
また汎用的なキャンセルの実装についてなど


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

----

## bloomberg/ts-blank-space: A small, fast, pure JavaScript type-stripper that uses the official TypeScript parser.
[github.com/bloomberg/ts-blank-space](https://github.com/bloomberg/ts-blank-space "bloomberg/ts-blank-space: A small, fast, pure JavaScript type-stripper that uses the official TypeScript parser.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span></p>

TypeScriptのコードから型だけを取り除いてJavaScriptとして実行するツール。
元のコードの位置をそのまま保つことでSource Mapを不要な変換を行っている


----

## line/ts-remove-unused: Remove unused code from your TypeScript project
[github.com/line/ts-remove-unused](https://github.com/line/ts-remove-unused "line/ts-remove-unused: Remove unused code from your TypeScript project")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">Tools</span></p>

TypeScriptのコードの利用されてない変数やexportを削除するツール


----

## Nova.js - A collection of dependency-free React hooks
[novajs.co/](https://novajs.co/ "Nova.js - A collection of dependency-free React hooks")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span></p>

React Hooksのコレクションライブラリ。
それぞれのHookがコピーペーストして使えるようにHooks同士の依存がないように作られている


----