Skip to content

Commit 48e9ebd

Browse files
2023-10-31のJS: Next.js 14、MSW 2、Node.js 21.1.0 (#1132)
* Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update 667 draft * Update _i18n/ja/_posts/2023/2023-10-31-next.js-14-msw-2-node.js-21.1.0.md * Delete _i18n/ja/_posts/2023/2023-10-31-667draft.md * Update _i18n/ja/_posts/2023/2023-10-31-next.js-14-msw-2-node.js-21.1.0.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent b79b5ea commit 48e9ebd

File tree

1 file changed

+228
-0
lines changed

1 file changed

+228
-0
lines changed
Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
---
2+
title: "2023-10-31のJS: Next.js 14、MSW 2、Node.js 21.1.0"
3+
author: "azu"
4+
layout: post
5+
date: 2023-10-31T13:19:42.271Z
6+
category: JSer
7+
tags:
8+
- Next.js
9+
- nodejs
10+
- vite
11+
- parcel
12+
- webpack
13+
14+
---
15+
16+
JSer.info #667 - Next.js 14がリリースされました。
17+
18+
- [Next.js 14 | Next.js](https://nextjs.org/blog/next-14)
19+
- [Release v14.0.0 · vercel/next.js](https://github.com/vercel/next.js/releases/tag/v14.0.0)
20+
21+
Node.js 16のサポート終了、`next export`コマンドを非推奨化、`next/image``domains`オプションを非推奨化などの変更が含まれています。
22+
また、Server ActionのStable化、Metadata APIの改善が含まれています。
23+
実験的な機能として`<Suspense>`を使ったPartial Prerenderingのサポートが追加されています。
24+
25+
今回のリリースに合わせて、Next.jsのチュートリアルも新しくものが公開されています。
26+
27+
- [Next.js by Vercel - The React Framework | Next.js by Vercel - The React Framework](https://nextjs.org/learn)
28+
29+
----
30+
31+
HTTPリクエストのモックライブラリであるMSW 2.0がリリースされています。
32+
33+
- [Introducing MSW 2.0 - Mock Service Worker](https://mswjs.io/blog/introducing-msw-2.0)
34+
- [Release v2.0.0 · mswjs/msw](https://github.com/mswjs/msw/releases/tag/v2.0.0)
35+
36+
Node.js 16のサポート終了、APIのシグネチャーの変更、ブラウザ向けのAPIを`msw/browser`へ移動などの破壊的な変更が含まれています。
37+
APIの変更範囲は多いですが、マイグレーションガイドも合わせて公開されています。
38+
39+
- [1.x → 2.x - Mock Service Worker](https://mswjs.io/docs/migrations/1.x-to-2.x)
40+
41+
また、`ReadableStream`/`FormData`のモックをサポートなども追加されています。
42+
43+
----
44+
45+
Node.js 21.1.0がリリースされました。
46+
47+
- [Node v21.1.0 (Current) | Node.js](https://nodejs.org/en/blog/release/v21.1.0)
48+
49+
Ambiguous fileがESMかを判定する`--experimental-detect-module`フラグの追加されています。
50+
詳しくは、次の記事で解説しています。
51+
52+
- [Deep Dive: Node.jsのESMデフォルト化への道 - JSer.info](https://jser.info/2023/10/18/node.js-roadmap-esm-by-default/)
53+
54+
また、`vm.Script`のバグの修正が修正されています。
55+
この問題はNode.js 16.11.0+以降で起きていて、主にJestでメモリが確保され続けるためクラッシュする問題が発生してました。
56+
57+
- [[Bug]: Memory consumption issues on Node JS 16.11.0+ · Issue #11956 · jestjs/jest](https://github.com/jestjs/jest/issues/11956)
58+
59+
60+
----
61+
62+
{% include inline-support.html %}
63+
64+
----
65+
66+
<h1 class="site-genre">ヘッドライン</h1>
67+
68+
----
69+
70+
## Next.js 14 | Next.js
71+
[nextjs.org/blog/next-14](https://nextjs.org/blog/next-14 "Next.js 14 | Next.js")
72+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">ReleaseNote</span></p>
73+
74+
Next.js 14リリース。
75+
Node.js 16のサポート終了、`next export`コマンドを非推奨化、`next/image``domains`オプションを非推奨化。
76+
Server ActionのStable化、Metadata APIの改善。
77+
実験的な機能として`<Suspense>`を使ったPartial Prerenderingのサポートなど
78+
79+
- [Release v14.0.0 · vercel/next.js](https://github.com/vercel/next.js/releases/tag/v14.0.0 "Release v14.0.0 · vercel/next.js")
80+
81+
----
82+
83+
## Astro 3.4: Page Partials | Astro
84+
[astro.build/blog/astro-340/](https://astro.build/blog/astro-340/ "Astro 3.4: Page Partials | Astro")
85+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">astro</span> <span class="jser-tag">ReleaseNote</span></p>
86+
87+
Astro 3.4リリース。
88+
page componentをpartial pageとして利用できる`partial`オプションをサポート、画像最適化のパフォーマンス改善。
89+
実験的な機能としてDev Overlayを追加など
90+
91+
- [Release [email protected] · withastro/astro](https://github.com/withastro/astro/releases/tag/astro%403.4.0 "Release [email protected] · withastro/astro")
92+
93+
----
94+
95+
## Release Release v1.6.0 · axios/axios
96+
[github.com/axios/axios/releases/tag/v1.6.0](https://github.com/axios/axios/releases/tag/v1.6.0 "Release Release v1.6.0 · axios/axios")
97+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">HTTP</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">security</span></p>
98+
99+
axios v1.6.0リリース。
100+
`X-XSRF-TOKEN`というCookieが設定されている時に、`withCredentials`オプションが有効だと、別オリジンに対するリクエストにも`X-XSRF-TOKEN`の値が送信される脆弱性の修正
101+
102+
103+
----
104+
105+
## Release v8.10.0 · pnpm/pnpm
106+
[github.com/pnpm/pnpm/releases/tag/v8.10.0](https://github.com/pnpm/pnpm/releases/tag/v8.10.0 "Release v8.10.0 · pnpm/pnpm")
107+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p>
108+
109+
pnpm v8.10.0リリース。
110+
`supportedArchitectures`で複数のアーキテクチャを指定できるように。
111+
ホスト環境とDocker環境に両方のアーキテクチャのバイナリをインストール際などに利用できる。
112+
113+
114+
----
115+
116+
## Introducing MSW 2.0 - Mock Service Worker
117+
[mswjs.io/blog/introducing-msw-2.0](https://mswjs.io/blog/introducing-msw-2.0 "Introducing MSW 2.0 - Mock Service Worker")
118+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">testing</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
119+
120+
MSW 2.0リリース。
121+
Node.js 16のサポート終了、APIのシグネチャーの変更、ブラウザ向けのAPIを`msw/browser`へ移動。
122+
`ReadableStream`/`FormData`のモックをサポートなど
123+
124+
- [Release v2.0.0 · mswjs/msw](https://github.com/mswjs/msw/releases/tag/v2.0.0 "Release v2.0.0 · mswjs/msw")
125+
- [1.x → 2.x - Mock Service Worker](https://mswjs.io/docs/migrations/1.x-to-2.x "1.x → 2.x - Mock Service Worker")
126+
127+
----
128+
129+
## Node v21.1.0 (Current) | Node.js
130+
[nodejs.org/en/blog/release/v21.1.0](https://nodejs.org/en/blog/release/v21.1.0 "Node v21.1.0 (Current) | Node.js")
131+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>
132+
133+
Node.js v21.1.0リリース。
134+
Ambiguous fileがESMかを判定する`--experimental-detect-module`フラグの追加、Jestでのメモリリークの原因となっていた`vm.Script`のバグの修正など
135+
136+
- [Deep Dive: Node.jsのESMデフォルト化への道 - JSer.info](https://jser.info/2023/10/18/node.js-roadmap-esm-by-default/ "Deep Dive: Node.jsのESMデフォルト化への道 - JSer.info")
137+
- [\[Bug\]: Memory consumption issues on Node JS 16.11.0+ · Issue #11956 · jestjs/jest](https://github.com/jestjs/jest/issues/11956 "\[Bug\]: Memory consumption issues on Node JS 16.11.0+ · Issue #11956 · jestjs/jest")
138+
139+
----
140+
141+
## Release v30.0.0-alpha.1 · jestjs/jest
142+
[github.com/jestjs/jest/releases/tag/v30.0.0-alpha.1](https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.1 "Release v30.0.0-alpha.1 · jestjs/jest")
143+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">jest</span> <span class="jser-tag">ReleaseNote</span></p>
144+
145+
Jest v30.0.0-alpha.1リリース。
146+
`mts`/`cts`をデフォルトでサポート、fake timerの改善、SnapshotでError Causeをサポート、Prettier 3のサポートなど
147+
148+
149+
----
150+
<h1 class="site-genre">アーティクル</h1>
151+
152+
----
153+
154+
## JavaScriptビルドツールの整理 各ツールの機能と依存関係
155+
[zenn.dev/nakaakist/articles/86457bf2908379](https://zenn.dev/nakaakist/articles/86457bf2908379 "JavaScriptビルドツールの整理 各ツールの機能と依存関係")
156+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">parcel</span> <span class="jser-tag">webpack</span> <span class="jser-tag">rspack</span> <span class="jser-tag">Next.js</span> <span class="jser-tag">bundler</span> <span class="jser-tag">article</span></p>
157+
158+
Vite/Parcel/webpack/Rspack/Turbopack/Next.js/Rollup/esbuild/SWC/Bun/Babel/Terser の特徴と依存関係について。
159+
160+
161+
----
162+
163+
## Deprecation of formatting rules - ESLint - Pluggable JavaScript Linter
164+
[eslint.org/blog/2023/10/deprecating-formatting-rules/](https://eslint.org/blog/2023/10/deprecating-formatting-rules/ "Deprecation of formatting rules - ESLint - Pluggable JavaScript Linter")
165+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p>
166+
167+
ESLint v8.53.0でスタイル系のルール(スペースやセミコロンなどを扱うルール)は、非推奨となる。
168+
マイグレーション先としてスタイル系のルールをメンテナンスするESLint StylisticやPrettierなどのツールの利用を推奨している。
169+
170+
- [ESLint Stylistic | ESLint Stylistic](https://eslint.style/ "ESLint Stylistic | ESLint Stylistic")
171+
172+
----
173+
174+
## Announcing WinterJS
175+
[wasmer.io/posts/announcing-winterjs-service-workers](https://wasmer.io/posts/announcing-winterjs-service-workers "Announcing WinterJS")
176+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">WebAssembly</span> <span class="jser-tag">ServiceWorker</span> <span class="jser-tag">article</span></p>
177+
178+
WinterCG仕様に準拠したJavaScript Runtime。
179+
SpiderMonkeyをRuntimeとして使い、Service Workers APIを実装している。
180+
WasmerのWASIX準拠にしている。
181+
182+
- [wasmerio/winterjs: Winter is coming... ❄️](https://github.com/wasmerio/winterjs "wasmerio/winterjs: Winter is coming... ❄️")
183+
184+
----
185+
186+
## サードパーティ Cookie の廃止に向けた準備 - Chrome for Developers
187+
[developer.chrome.com/ja/blog/cookie-countdown-2023oct/](https://developer.chrome.com/ja/blog/cookie-countdown-2023oct/ "サードパーティ Cookie の廃止に向けた準備 - Chrome for Developers")
188+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">article</span></p>
189+
190+
Chromeの3rd party Cookieの廃止と代替Proposalについて
191+
192+
193+
----
194+
<h1 class="site-genre">スライド、動画関係</h1>
195+
196+
----
197+
198+
## JavaScript JIT compiler - YouTube
199+
[www.youtube.com/playlist?list&#x3D;PLMOpZvQB55bcTsXzRcBjHJJb52OGWwNjr](https://www.youtube.com/playlist?list=PLMOpZvQB55bcTsXzRcBjHJJb52OGWwNjr "JavaScript JIT compiler - YouTube")
200+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">C++</span> <span class="jser-tag">video</span></p>
201+
202+
LadybirdのJavaScriptエンジンであるLibJSにJITを実装していく動画シリーズ。
203+
204+
- [serenity/Userland/Libraries/LibJS at master · SerenityOS/serenity](https://github.com/SerenityOS/serenity/tree/master/Userland/Libraries/LibJS "serenity/Userland/Libraries/LibJS at master · SerenityOS/serenity")
205+
206+
----
207+
208+
## Vue Fes Japan 2023 資料 X ポストまとめ
209+
[zenn.dev/punkshiraishi/scraps/bf3829dc79466b](https://zenn.dev/punkshiraishi/scraps/bf3829dc79466b "Vue Fes Japan 2023 資料 X ポストまとめ")
210+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">Conference</span> <span class="jser-tag">slide</span></p>
211+
212+
Vue Fes Japan 2023のスライドまとめ
213+
214+
- [Vue Fes Japan 2023](https://vuefes.jp/2023/ "Vue Fes Japan 2023")
215+
216+
----
217+
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>
218+
219+
----
220+
221+
## joshmarinacci/node-pureimage: Pure JS implementation of the HTML Canvas 2D drawing API
222+
[github.com/joshmarinacci/node-pureimage](https://github.com/joshmarinacci/node-pureimage "joshmarinacci/node-pureimage: Pure JS implementation of the HTML Canvas 2D drawing API")
223+
<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>
224+
225+
Pure JavaScriptなNode.js向けCanvas APIの実装ライブラリ。
226+
227+
228+
----

0 commit comments

Comments
 (0)