|
| 1 | +--- |
| 2 | +title: "2025-03-25のJS: Node.js v20.19.0、Valibot v1、CSS Relative Colors" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2025-03-24T15:53:13.161Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- Vue |
| 9 | +- nodejs |
| 10 | +- css |
| 11 | +- Tools |
| 12 | +- React |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #729 - Node.js v20.19.0(LTS)がリリースされました。 |
| 17 | + |
| 18 | +- [Node.js — Node v20.19.0 (LTS)](https://nodejs.org/en/blog/release/v20.19.0) |
| 19 | + |
| 20 | +このリリースでは、Node.js 20.xに`require(esm)`機能がバックポートされ、ES ModulesをCommonJSから直接インポートできるようになりました。 |
| 21 | +また、あいまいなJavaScriptファイルをCommonJSとES Modulesのどちらとして扱うかを自動的に判定する`--experimental-detect-module`フラグがデフォルトで有効化されるようになりました。 |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +バリデーションライブラリのValibot v1.0がリリースされました。 |
| 26 | + |
| 27 | +- [Valibot v1 - The 1 kB schema library | Valibot](https://valibot.dev/blog/valibot-v1-the-1-kb-schema-library/) |
| 28 | + |
| 29 | +Valibotは、ZodやArkTypeなどと同じようにスキーマを定義してバリデーションを行うライブラリです。 |
| 30 | +ValibotはTree Shakingによって利用していないビルダー関数を削除できるような作りになっているため、bundleに含まれるファイルサイズを小さく保てるのが特徴です。 |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +CSSの相対カラーについてのインタラクティブなガイドが公開されました。 |
| 35 | + |
| 36 | +- [CSS Relative Colors](https://ishadeed.com/article/css-relative-colors/) |
| 37 | + |
| 38 | +この記事では、`color-function(from origin channel1 channel2 channel3 / alpha)`の構文、`color-mix()`などのカラー関数の使い方や実用例を豊富なインタラクティブなデモを通して解説しています。 |
| 39 | + |
| 40 | +---- |
| 41 | + |
| 42 | +{% include inline-support.html %} |
| 43 | + |
| 44 | +---- |
| 45 | + |
| 46 | +<h1 class="site-genre">ヘッドライン</h1> |
| 47 | + |
| 48 | +---- |
| 49 | + |
| 50 | +## Node.js — Node v20.19.0 (LTS) |
| 51 | +[nodejs.org/en/blog/release/v20.19.0](https://nodejs.org/en/blog/release/v20.19.0 "Node.js — Node v20.19.0 (LTS)") |
| 52 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 53 | + |
| 54 | +Node.js v20.19.0リリース。 |
| 55 | +Node.js 20.xに`require(esm)`をバックポート、`--experimental-detect-module`をデフォルトで有効に変更など |
| 56 | + |
| 57 | + |
| 58 | +---- |
| 59 | + |
| 60 | +## Node.js — Node v23.10.0 (Current) |
| 61 | +[nodejs.org/en/blog/release/v23.10.0](https://nodejs.org/en/blog/release/v23.10.0 "Node.js — Node v23.10.0 (Current)") |
| 62 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 63 | + |
| 64 | +Node.js v23.10.0リリース。 |
| 65 | +`--experimental-config-file`フラグを追加し`node.config.json`ファイルにNode.js Optionの設定をかけるように |
| 66 | + |
| 67 | + |
| 68 | +---- |
| 69 | + |
| 70 | +## Oxc Minifier Alpha | The JavaScript Oxidation Compiler |
| 71 | +[oxc.rs/blog/2025-03-13-minifier-alpha](https://oxc.rs/blog/2025-03-13-minifier-alpha "Oxc Minifier Alpha | The JavaScript Oxidation Compiler") |
| 72 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p> |
| 73 | + |
| 74 | +Oxc Minifier Alphaリリース。 |
| 75 | +OxcベースのminifierでRolldownにも組み込まれている |
| 76 | + |
| 77 | + |
| 78 | +---- |
| 79 | + |
| 80 | +## Oxlint Beta | The JavaScript Oxidation Compiler |
| 81 | +[oxc.rs/blog/2025-03-15-oxlint-beta.html](https://oxc.rs/blog/2025-03-15-oxlint-beta.html "Oxlint Beta | The JavaScript Oxidation Compiler") |
| 82 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p> |
| 83 | + |
| 84 | +Oxlint Betaリリース |
| 85 | +`eslint-plugin-oxlint`を使ったESLintとの併用について、`.oxlintc.json`ファイルの解決方法の変更。 |
| 86 | +`.vue`ファイルなどの`<script>`に対するLintのサポートなど |
| 87 | + |
| 88 | + |
| 89 | +---- |
| 90 | + |
| 91 | +## Nuxt UI v3 · Nuxt Blog |
| 92 | +[nuxt.com/blog/nuxt-ui-v3](https://nuxt.com/blog/nuxt-ui-v3 "Nuxt UI v3 · Nuxt Blog") |
| 93 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">UI</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 94 | + |
| 95 | +Nuxt UI v3リリース。 |
| 96 | +HeadlesUIからReka UIへの移行、Tailwind CSS v4へアップデート、型安全なテーマ設定など |
| 97 | + |
| 98 | +- [Reka UI - Unstyled, fully accessible UI library | Reka UI](https://reka-ui.com/ "Reka UI - Unstyled, fully accessible UI library | Reka UI") |
| 99 | + |
| 100 | +---- |
| 101 | + |
| 102 | +## Release Notes for Safari Technology Preview 215 | WebKit |
| 103 | +[webkit.org/blog/16523/release-notes-for-safari-technology-preview-215/](https://webkit.org/blog/16523/release-notes-for-safari-technology-preview-215/ "Release Notes for Safari Technology Preview 215 | WebKit") |
| 104 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p> |
| 105 | + |
| 106 | +Safari Technology Preview 215リリース。 |
| 107 | +Scroll Driven Animation、`text-wrap-style: pretty`のサポート、Anchor Positioningのサポート。 |
| 108 | +Trusted Typesのサポートなど |
| 109 | + |
| 110 | + |
| 111 | +---- |
| 112 | + |
| 113 | +## Valibot v1 - The 1 kB schema library | Valibot |
| 114 | +[valibot.dev/blog/valibot-v1-the-1-kb-schema-library/](https://valibot.dev/blog/valibot-v1-the-1-kb-schema-library/ "Valibot v1 - The 1 kB schema library | Valibot") |
| 115 | +<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> |
| 116 | + |
| 117 | +バリデーションライブラリのValibot v1.リリース。 |
| 118 | + |
| 119 | + |
| 120 | +---- |
| 121 | + |
| 122 | +## Should Corepack stay in the Node.js distribution? by github-actions\[bot\] · Pull Request #1697 · nodejs/TSC |
| 123 | +[github.com/nodejs/TSC/pull/1697#issuecomment-2737093616](https://github.com/nodejs/TSC/pull/1697#issuecomment-2737093616 "Should Corepack stay in the Node.js distribution? by github-actions\[bot\] · Pull Request #1697 · nodejs/TSC") |
| 124 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">news</span></p> |
| 125 | + |
| 126 | +corepackはNode.js 25+からは同梱されなくなる。 |
| 127 | +Node.js 24にはexperimentalなものとして含まれるが、Node.js 24がEOLとなった後のcorepackのメンテナンスはどうなるかは不明 |
| 128 | + |
| 129 | + |
| 130 | +---- |
| 131 | + |
| 132 | +## Authorization Bypass in Next.js Middleware · CVE-2025-29927 · GitHub Advisory Database |
| 133 | +[github.com/advisories/GHSA-f82v-jwr5-mffw](https://github.com/advisories/GHSA-f82v-jwr5-mffw "Authorization Bypass in Next.js Middleware · CVE-2025-29927 · GitHub Advisory Database") |
| 134 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">security</span> <span class="jser-tag">ReleaseNote</span></p> |
| 135 | + |
| 136 | +Next.jsのセキュリティ修正として 15.2.3 と 14.2.25がリリースされた。 |
| 137 | +特定のHTTPヘッダをつけると、middlewareが完全にバイパスされてしまう脆弱性が修正されている |
| 138 | + |
| 139 | +- [Next.js and the corrupt middleware: the authorizing artifact - zhero\_web\_security](https://zhero-web-sec.github.io/research-and-things/nextjs-and-the-corrupt-middleware "Next.js and the corrupt middleware: the authorizing artifact - zhero\_web\_security") |
| 140 | +- [Release v15.2.3 · vercel/next.js](https://github.com/vercel/next.js/releases/tag/v15.2.3 "Release v15.2.3 · vercel/next.js") |
| 141 | + |
| 142 | +---- |
| 143 | + |
| 144 | +## Introducing Motion for Vue - Motion Blog |
| 145 | +[motion.dev/blog/introducing-motion-for-vue](https://motion.dev/blog/introducing-motion-for-vue "Introducing Motion for Vue - Motion Blog") |
| 146 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">animation</span></p> |
| 147 | + |
| 148 | +MotionのVueサポートがリリースされた |
| 149 | + |
| 150 | + |
| 151 | +---- |
| 152 | + |
| 153 | +## Thank you - Open Collective |
| 154 | +[opencollective.com/styled-components/updates/thank-you](https://opencollective.com/styled-components/updates/thank-you "Thank you - Open Collective") |
| 155 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">news</span> <span class="jser-tag">React</span> <span class="jser-tag">css</span> <span class="jser-tag">library</span></p> |
| 156 | + |
| 157 | +styled-componentsはメンテナンスモードとなり、新しい機能を入れるといった機能開発は行わなくなる予定 |
| 158 | + |
| 159 | +- [styled-components](https://styled-components.com/ "styled-components") |
| 160 | + |
| 161 | +---- |
| 162 | + |
| 163 | +## Release v4.0.0-alpha.0 · apollographql/apollo-client |
| 164 | +[github.com/apollographql/apollo-client/releases/tag/v4.0.0-alpha.0](https://github.com/apollographql/apollo-client/releases/tag/v4.0.0-alpha.0 "Release v4.0.0-alpha.0 · apollographql/apollo-client") |
| 165 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">GraphQL</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 166 | + |
| 167 | +Apollo Client v4.0.0-alpha.0リリース。 |
| 168 | +`asyncMap`/`isApolloError`/`addTypename`オプションの削除。 |
| 169 | +React 16のサポート終了、非推奨だったメソッドやオプションの削除、`ApolloError`の各種エラーは排他的なエラーであることを明確にするように変更。 |
| 170 | +Observableの実装を`rxjs`に変更、パッケージのビルドターゲットの変更など |
| 171 | + |
| 172 | + |
| 173 | +---- |
| 174 | +<h1 class="site-genre">アーティクル</h1> |
| 175 | + |
| 176 | +---- |
| 177 | + |
| 178 | +## Webフロントエンドでのリアクティビティからalien-signalsを知ろう |
| 179 | +[zenn.dev/comm\_vue\_nuxt/articles/about-alien-signals](https://zenn.dev/comm_vue_nuxt/articles/about-alien-signals "Webフロントエンドでのリアクティビティからalien-signalsを知ろう") |
| 180 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">article</span></p> |
| 181 | + |
| 182 | +ReactiveのPush/Pull型について。 |
| 183 | +Vue 3.6で利用されているalien-signalsについて |
| 184 | + |
| 185 | + |
| 186 | +---- |
| 187 | + |
| 188 | +## CSS Relative Colors |
| 189 | +[ishadeed.com/article/css-relative-colors/](https://ishadeed.com/article/css-relative-colors/ "CSS Relative Colors") |
| 190 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css</span> <span class="jser-tag">article</span></p> |
| 191 | + |
| 192 | +CSSの相対カラーについてのインタラクティブなガイド |
| 193 | + |
| 194 | + |
| 195 | +---- |
| 196 | + |
| 197 | +## Functions in CSS?! | CSS-Tricks |
| 198 | +[css-tricks.com/functions-in-css/](https://css-tricks.com/functions-in-css/ "Functions in CSS?! | CSS-Tricks") |
| 199 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css</span> <span class="jser-tag">article</span></p> |
| 200 | + |
| 201 | +CSSの関数定義である`@function` について |
| 202 | + |
| 203 | + |
| 204 | +---- |
| 205 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 206 | + |
| 207 | +---- |
| 208 | + |
| 209 | +## inokawa/virtua: A zero-config, fast and small (~3kB) virtual list (and grid) component for React, Vue, Solid and Svelte. |
| 210 | +[github.com/inokawa/virtua](https://github.com/inokawa/virtua "inokawa/virtua: A zero-config, fast and small (~3kB) virtual list (and grid) component for React, Vue, Solid and Svelte.") |
| 211 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Vue</span> <span class="jser-tag">Solid</span> <span class="jser-tag">Svelte</span> <span class="jser-tag">library</span></p> |
| 212 | + |
| 213 | +表示してる範囲だけを描画するVirtual Listライブラリ。React/Vue/Solid/Svelteをサポートしている。 |
| 214 | + |
| 215 | + |
| 216 | +---- |
0 commit comments