|
| 1 | +--- |
| 2 | +title: "2025-02-24のJS: Create React Appが非推奨に、Deno 2.2、Bun 1.2.3、ESLintのCSSサポート" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2025-02-24T13:09:04.703Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- vite |
| 9 | +- browser |
| 10 | +- WebPlatformAPI |
| 11 | +- TypeScript |
| 12 | +- pnpm |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #726 - Create React Appが非推奨となりました。 |
| 17 | + |
| 18 | +- [Sunsetting Create React App – React](https://react.dev/blog/2025/02/14/sunsetting-create-react-app) |
| 19 | + |
| 20 | +`create-react-app`は非推奨となり、Reactを使ったフレームワークやVite/Parcel/Rsbuildなどのビルドツールへの移行が推奨されています。 |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +Deno 2.2がリリースされました。 |
| 25 | + |
| 26 | +- [Deno 2.2: OpenTelemetry, Lint Plugins, node:sqlite](https://deno.com/blog/v2.2) |
| 27 | + |
| 28 | +lintのビルトインルールの追加、JavaScriptで書けるLint Plugin APIの追加、`deno task`がwildcard(`*`)指定に対応しています。 |
| 29 | +また、`deno outdated`にinteractive modeを追加、`deno compile`の改善なども含まれています。 |
| 30 | +unstableな機能としてOpenTelemetryのサポート、`WebTransport` APIのサポートなども追加されています。 |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +Bun v1.2.3がリリースされました。 |
| 35 | + |
| 36 | +- [Bun v1.2.3 | Bun Blog](https://bun.sh/blog/bun-v1.2.3) |
| 37 | + |
| 38 | +`bun ./index.html`で開発サーバが立ち上がるように、`Bun.serve`の`static`オプションを`routes`オプションに変更されています。 |
| 39 | +`bun init`でReactプロジェクトを作成できるように、`bun install --analyze`で不足してる依存を`pacakge.json`に追加できるようになっています。 |
| 40 | +また、WasmのinterpreterとしてLLIntではなくIPINTを使うのをデフォルトにして、`BUN_JSC_useWasmIPInt=0`で元に戻せるようになっています。 |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +ESLintがCSSのLintをサポートするようになりました。 |
| 45 | + |
| 46 | +- [ESLint now officially supports linting of CSS - ESLint - Pluggable JavaScript Linter](https://eslint.org/blog/2025/02/eslint-css-support/) |
| 47 | + |
| 48 | +CSSTreeを使ったCSSのパースといくつかのLintのルールが実装されています。 |
| 49 | + |
| 50 | +---- |
| 51 | + |
| 52 | +{% include inline-support.html %} |
| 53 | + |
| 54 | +---- |
| 55 | + |
| 56 | +<h1 class="site-genre">ヘッドライン</h1> |
| 57 | + |
| 58 | +---- |
| 59 | + |
| 60 | +## Announcing TypeScript 5.8 RC - TypeScript |
| 61 | +[devblogs.microsoft.com/typescript/announcing-typescript-5-8-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-rc/ "Announcing TypeScript 5.8 RC - TypeScript") |
| 62 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p> |
| 63 | + |
| 64 | +TypeScript 5.8 RCリリース。 |
| 65 | +conditional return typeの改善、`require(esm)`の対応、`--module node18`を追加。 Node.jsの`--experimental-strip-types`と合わせた設定をする`--erasableSyntaxOnly`フラグの追加、`--libReplacement`フラグの追加など |
| 66 | + |
| 67 | + |
| 68 | +---- |
| 69 | + |
| 70 | +## Release pnpm 10.4 · pnpm/pnpm |
| 71 | +[github.com/pnpm/pnpm/releases/tag/v10.4.0](https://github.com/pnpm/pnpm/releases/tag/v10.4.0 "Release pnpm 10.4 · pnpm/pnpm") |
| 72 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 73 | + |
| 74 | +pnpm v10.4.0リリース。 |
| 75 | +`pnpm approve-builds --global`の追加、`pnpm --allow-build=<pkg> add`の追加、`pnpm approve-builds`のバグ修正など |
| 76 | + |
| 77 | + |
| 78 | +---- |
| 79 | + |
| 80 | +## Sunsetting Create React App – React |
| 81 | +[react.dev/blog/2025/02/14/sunsetting-create-react-app](https://react.dev/blog/2025/02/14/sunsetting-create-react-app "Sunsetting Create React App – React") |
| 82 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">news</span></p> |
| 83 | + |
| 84 | +`create-react-app`は非推奨として、Reactを使ったフレームワークへの移行を推奨するドキュメントが公開された。 |
| 85 | + |
| 86 | + |
| 87 | +---- |
| 88 | + |
| 89 | +## vite/packages/vite/CHANGELOG.md at main · vitejs/vite |
| 90 | +[github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#610-2025-02-05](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#610-2025-02-05 "vite/packages/vite/CHANGELOG.md at main · vitejs/vite") |
| 91 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">ReleaseNote</span></p> |
| 92 | + |
| 93 | +Vite 6.1.0リリース。 |
| 94 | + |
| 95 | + |
| 96 | +---- |
| 97 | + |
| 98 | +## Release v3.0.5 · vitest-dev/vitest |
| 99 | +[github.com/vitest-dev/vitest/releases/tag/v3.0.5](https://github.com/vitest-dev/vitest/releases/tag/v3.0.5 "Release v3.0.5 · vitest-dev/vitest") |
| 100 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">security</span> <span class="jser-tag">ReleaseNote</span></p> |
| 101 | + |
| 102 | +vitest v3.0.5リリース。 |
| 103 | +Vitest UIのAPIサーバはリクエストのOriginチェックをしていなかったため、罠サイトへのアクセス時にホストマシンで任意のコード実行ができるRCEの脆弱性の修正が含まれている。 |
| 104 | + |
| 105 | + |
| 106 | +---- |
| 107 | + |
| 108 | +## Release v2.20.0 · codesandbox/sandpack |
| 109 | +[github.com/codesandbox/sandpack/releases/tag/v2.20.0](https://github.com/codesandbox/sandpack/releases/tag/v2.20.0 "Release v2.20.0 · codesandbox/sandpack") |
| 110 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">editor</span> <span class="jser-tag">ReleaseNote</span></p> |
| 111 | + |
| 112 | +sandpack 2.20.0リリース。 |
| 113 | +React 19に対応 |
| 114 | + |
| 115 | + |
| 116 | +---- |
| 117 | + |
| 118 | +## Deno 2.2: OpenTelemetry, Lint Plugins, node:sqlite |
| 119 | +[deno.com/blog/v2.2](https://deno.com/blog/v2.2 "Deno 2.2: OpenTelemetry, Lint Plugins, node:sqlite") |
| 120 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p> |
| 121 | + |
| 122 | +Deno v2.2リリース。 |
| 123 | +lintのビルトインルールの追加、JavaScriptで書けるLint Plugin APIの追加、`deno task`がwildcard(`*`)指定に対応。 |
| 124 | +`deno outdated`にinteractive modeを追加、`deno compile`の改善。 |
| 125 | +unstableな機能としてOpenTelemetryのサポート、`WebTransport` APIのサポートなど |
| 126 | + |
| 127 | + |
| 128 | +---- |
| 129 | + |
| 130 | +## Bun v1.2.3 | Bun Blog |
| 131 | +[bun.sh/blog/bun-v1.2.3](https://bun.sh/blog/bun-v1.2.3 "Bun v1.2.3 | Bun Blog") |
| 132 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 133 | + |
| 134 | +Bun v1.2.3リリース。 |
| 135 | +`bun ./index.html`で開発サーバが立ち上がるように、`Bun.serve`の`static`オプションを`routes`オプションに変更。 |
| 136 | +`bun init`でReactプロジェクトを作成できるように、`bun install --analyze`で不足してる依存を`pacakge.json`に追加。 |
| 137 | +WasmのinterpreterとしてLLIntではなくIPINTを使うのをデフォルトにして、`BUN_JSC_useWasmIPInt=0`で元に戻せるように |
| 138 | + |
| 139 | + |
| 140 | +---- |
| 141 | + |
| 142 | +## Release v2.6.0 · reduxjs/redux-toolkit |
| 143 | +[github.com/reduxjs/redux-toolkit/releases/tag/v2.6.0](https://github.com/reduxjs/redux-toolkit/releases/tag/v2.6.0 "Release v2.6.0 · reduxjs/redux-toolkit") |
| 144 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">redux</span> <span class="jser-tag">ReleaseNote</span></p> |
| 145 | + |
| 146 | +Redux Toolkit v2.6.0リリース。 |
| 147 | +Infinite Queryのサポートなど |
| 148 | + |
| 149 | + |
| 150 | +---- |
| 151 | + |
| 152 | +## ECMAScript proposal updates @ 2025-02 | ECMAScript Daily |
| 153 | +[ecmascript-daily.github.io/ecmascript/2025/02/24/ecmascript-proposal-update](https://ecmascript-daily.github.io/ecmascript/2025/02/24/ecmascript-proposal-update "ECMAScript proposal updates @ 2025-02 | ECMAScript Daily") |
| 154 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">news</span></p> |
| 155 | + |
| 156 | +2025年2月のTC39 MeetingでのECMAScript Proposalのステータス変更まとめ。 |
| 157 | +`RegExp.escape`とFloat16がStage 4となり、ECMAScript 2025に入ることが決まった |
| 158 | + |
| 159 | + |
| 160 | +---- |
| 161 | +<h1 class="site-genre">アーティクル</h1> |
| 162 | + |
| 163 | +---- |
| 164 | + |
| 165 | +## ESLint now officially supports linting of CSS - ESLint - Pluggable JavaScript Linter |
| 166 | +[eslint.org/blog/2025/02/eslint-css-support/](https://eslint.org/blog/2025/02/eslint-css-support/ "ESLint now officially supports linting of CSS - ESLint - Pluggable JavaScript Linter") |
| 167 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">css</span> <span class="jser-tag">article</span></p> |
| 168 | + |
| 169 | +ESLintがCSSのLintを正式にサポート。 |
| 170 | +`@eslint/css`プラグインでCSSのLintに対応、`tolerant`オプションで構文エラーのケースにも対応、`customSyntax`で独自の`@at-rule`などにも対応している |
| 171 | + |
| 172 | + |
| 173 | +---- |
| 174 | + |
| 175 | +## The Popover API is now Baseline Newly available | Blog | web.dev |
| 176 | +[web.dev/blog/popover-baseline?hl=en](https://web.dev/blog/popover-baseline?hl=en "The Popover API is now Baseline Newly available | Blog | web.dev") |
| 177 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">article</span></p> |
| 178 | + |
| 179 | +Popover APIがBaselineとなり多くのブラウザで利用できるようになった。 |
| 180 | + |
| 181 | + |
| 182 | +---- |
| 183 | + |
| 184 | +## Interop 2025がスタート | フロントエンドBlog | ミツエーリンクス |
| 185 | +[www.mitsue.co.jp/knowledge/blog/frontend/202502/17\_0829.html](https://www.mitsue.co.jp/knowledge/blog/frontend/202502/17_0829.html "Interop 2025がスタート | フロントエンドBlog | ミツエーリンクス") |
| 186 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">article</span> <span class="jser-tag">WebPlatformAPI</span></p> |
| 187 | + |
| 188 | +ブラウザの相互運用性向上の取り組みであるInterop 2025が発表された。 |
| 189 | + |
| 190 | +- [Announcing Interop 2025 | WebKit](https://webkit.org/blog/16458/announcing-interop-2025/ "Announcing Interop 2025 | WebKit") |
| 191 | +- [Interop 2025 Launch - Bocoup](https://www.bocoup.com/blog/interop-2025 "Interop 2025 Launch - Bocoup") |
| 192 | +- [Interop 2025: another year of web platform improvements | Blog | web.dev](https://web.dev/blog/interop-2025 "Interop 2025: another year of web platform improvements | Blog | web.dev") |
| 193 | +- [Interop 2025 | Igalia](https://www.igalia.com/2025/02/13/Interop-2025.html "Interop 2025 | Igalia") |
| 194 | +- [Microsoft Edge and Interop 2025 - Microsoft Edge Blog](https://blogs.windows.com/msedgedev/2025/02/13/microsoft-edge-and-interop-2025/ "Microsoft Edge and Interop 2025 - Microsoft Edge Blog") |
| 195 | +- [Launching Interop 2025 - Mozilla Hacks - the Web developer blog](https://hacks.mozilla.org/2025/02/interop-2025/ "Launching Interop 2025 - Mozilla Hacks - the Web developer blog") |
| 196 | + |
| 197 | +---- |
| 198 | + |
| 199 | +## Web技術の互換性を把握するためのBaselineとWeb Platform Status Dashboard |
| 200 | +[zenn.dev/sakito/articles/26cba8397c4dbe](https://zenn.dev/sakito/articles/26cba8397c4dbe "Web技術の互換性を把握するためのBaselineとWeb Platform Status Dashboard") |
| 201 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebPlatformAPI</span> <span class="jser-tag">article</span></p> |
| 202 | + |
| 203 | +BaselineとWeb Platform Status Dashboardについて |
| 204 | + |
| 205 | + |
| 206 | +---- |
| 207 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 208 | + |
| 209 | +---- |
| 210 | + |
| 211 | +## The Typescript AI framework - Mastra |
| 212 | +[mastra.ai/](https://mastra.ai/ "The Typescript AI framework - Mastra") |
| 213 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">LanguageModel</span> <span class="jser-tag">API</span> <span class="jser-tag">library</span></p> |
| 214 | + |
| 215 | +OpenAI/Anthropic/Google GeminiなどのLLM ProviderのAPIを使ったAgentやツールなどを書けるAIフレームワーク。 |
| 216 | +Gatsbyの人たちが作成している |
| 217 | + |
| 218 | + |
| 219 | +---- |
| 220 | + |
| 221 | +## le0pard/re2js: RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching |
| 222 | +[github.com/le0pard/re2js](https://github.com/le0pard/re2js "le0pard/re2js: RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching") |
| 223 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">RegExp</span> <span class="jser-tag">library</span></p> |
| 224 | + |
| 225 | +正規表現エンジンのRE2のJavaScript Port |
| 226 | + |
| 227 | + |
| 228 | +---- |
0 commit comments