JSer.info #742 - Nuxt 4.0がリリースされました。
新しいプロジェクト構造としてapp/
ディレクトリがデフォルトになり、useAsyncData
とuseFetch
が同じキーでキャッシュを共有するようになりました。また、TypeScriptの設定ファイルをapp
/server
/node
/shared
用にそれぞれ作成し、CLIの改善なども含まれています。
マイグレーションガイドも公開されています。
Next.js 15.4がリリースされました。
Turbopackが全てのIntegration Testを通るようになっていて、次のメジャーアップデートであるNext.js 16でStableとなる予定です。
また、Next.js 16に向けた新機能がexperimentalフラグで利用できるようになり、今後のアップデートに向けた準備が進められています。
import type { NextConfig } from 'next';
const nextConfig: NextConfig = {
experimental: {
// Forward browser logs to the terminal for easier debugging
browserDebugInfoInTerminal: true,
// Enable new caching and pre-rendering behavior
dynamicIO: true, // will be renamed to cacheComponents in Next.js 16
// Activate new client-side router improvements
clientSegmentCache: true,
// Explore route composition and segment overrides via DevTools
devtoolSegmentExplorer: true,
// Enable support for `global-not-found`, which allows you to more easily define a global 404 page.
globalNotFound: true,
// Enable persistent caching for the turbopack dev server and build.
turbopackPersistentCaching: true,
},
};
export default nextConfig;
npmパッケージのメンテナーを狙ったフィッシングキャンペーンが増加し、著名なパッケージにマルウェアが混入する事例が発生しています。
具体的には、次のパッケージの特定のバージョンにマルウェアが含まれています。
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- is: 3.3.1
それぞれnpmからは削除されるなどの対応は進んでいますが、該当するバージョンを利用していた場合は対応が必要です。
今回のケースでは npnjs[.]com
というドメインでフィッシングサイトが作られ、メールでパッケージのメンテナーに対してログインを促す内容を送ることで、認証情報を盗むという手法が使われていたようです。
- Active Supply Chain Attack: npm Phishing Campaign Leads to P...
- npm Phishing Email Targets Developers with Typosquatted Doma...
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v3.0.1 · ueberdosis/tiptap
github.com/ueberdosis/tiptap/releases/tag/v3.0.1
tiptap v3.0.1リリース。
tsupへの移行でUMDビルドサポート廃止、型定義の改善。
MarkViews追加、editor.unmount()
メソッドの追加、SSRモードでのエディタ利用サポート。
Tippy.jsからFloating UIへの移行、React 19対応、@tiptap/extensions
に拡張機能をまとめるなど
Announcing Nuxt 4.0 · Nuxt Blog
Nuxt v4リリース。
新しいプロジェクト構造としてapp/
ディレクトリがデフォルトに。
useAsyncData
とuseFetch
が同じキーでキャッシュを共有するように、useFetch
などがデフォルトでshallow equalに変更。
TypeScriptの設定ファイルをapp
/server
/node
/shared
用にそれぞれ作成するように、CLIの改善など
Release v0.25.7 · evanw/esbuild
github.com/evanw/esbuild/releases/tag/v0.25.7
esbuild v0.25.7リリース。
import defer
とimport source
をサポート、--abs-paths=
flagを追加、特定の条件における文字列定数のinline化のサポート。
Next.js 15.4 | Next.js
Next.js 15.4リリース。
Turbopackが全てのIntegration Testを通るように、Next.js 16に向け機能をexperimentalフラグで利用できるように。
Active Supply Chain Attack: npm Phishing Campaign Leads to P...
socket.dev/blog/npm-phishing-campaign-leads-to-prettier-tooling-packages-compromise
npmパッケージを狙ったフィッシングキャンペーンが増加しているという話。
次のnpmパッケージにマルウェアが含まれるため、該当するバージョンを利用している場合は対応が必要となる。
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- is: 3.3.1
関連:
アーティクル
vitestではbeforeEachを使わない
blog.koh.dev/2025-07-11-vitest-beforeeach/
beforeEach + letではなく、test.extends
を使ったTest Contextを使うことで、実際にアクセスするテストケースだけで準備をする方法について
The world’s longest React hooks migration | by Chris Krogh | Jul, 2025 | The Craft
craft.faire.com/the-worlds-longest-react-hooks-migration-8f357cdcdbe9
React Class Component + MobxからReact Hooksへの移行について。
GritQLを使ったマイグレーション、手動での移行とレビューについてなど
The History of React Through Code | Playful Programming
playfulprogramming.com/posts/react-history-through-code
ReactのAPIの変遷やアーキテクチャについて。
JSX/VDOM、Class Component、Hooks。Fiber、Suspense/use
、React Server Componentについて
Parsing 1 Billion Rows in Bun/Typescript Under 10 Seconds
www.taekim.dev/writing/parsing-1b-rows-in-bun
Bunで10億行のファイルを効率的に読み取る方法についての話
スライド、動画関係
Vanilagy/mediabunny: Pure TypeScript media toolkit for reading, writing, and converting video and audio files, directly in the browser.
github.com/Vanilagy/mediabunny
WebCodecs APIを使ったメディアの読み書きや変換を行うライブラリ。
WebCodecs APIを使ったメディアデータのEncode/Decodeを行い、そのデータをコンテナに読み書きするMuxerの処理を行う
ソフトウェア、ツール、ライブラリ関係
ArnaudBarre/tsl: An extension of tsc for type-aware linting
TypeScriptプラグインとしてtypescript-eslintのような型情報を使ったLintを実装している。
型チェックと同時にTypeScriptのASTを使ったLintができる