|
| 1 | +--- |
| 2 | +title: "2025-07-04のJS: ECMAScript 2025、Rspack 1.4、Deno 2.4、Bundle Sizeの改善" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2025-07-04T01:25:12.237Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- React |
| 9 | +- css |
| 10 | +- rspack |
| 11 | +- Chrome |
| 12 | +- ECMAScript |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #740 - - [Ecma International approves new standards - Ecma International](https://ecma-international.org/news/ecma-international-approves-new-standards-11/) |
| 17 | +- [Release ES2025 · tc39/ecma262](https://github.com/tc39/ecma262/releases/tag/es2025) |
| 18 | +- [Announcing Rspack 1.4 - Rspack](https://rspack.rs/blog/announcing-1-4) |
| 19 | +- [Deno 2.4: deno bundle is back | Deno](https://deno.com/blog/v2.4) |
| 20 | +- [How We Reduced CKEditor’s Bundle Size by 40% | CKEditor](https://ckeditor.com/blog/how-we-reduced-ckeditor-bundle-size/) |
| 21 | + |
| 22 | + |
| 23 | +---- |
| 24 | + |
| 25 | +{% include inline-support.html %} |
| 26 | + |
| 27 | +---- |
| 28 | + |
| 29 | +<h1 class="site-genre">ヘッドライン</h1> |
| 30 | + |
| 31 | +---- |
| 32 | + |
| 33 | +## Announcing Rspack 1.4 - Rspack |
| 34 | +[rspack.rs/blog/announcing-1-4](https://rspack.rs/blog/announcing-1-4 "Announcing Rspack 1.4 - Rspack") |
| 35 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">rspack</span> <span class="jser-tag">ReleaseNote</span></p> |
| 36 | + |
| 37 | +Rspack 1.4リリース。 |
| 38 | +Wasmを利用してブラウザ環境での実行サポート、bundle sizeの改善。 |
| 39 | +デフォルトでIncremental buildを有効化。 |
| 40 | +実験的なCssChunkingPluginの追加、MultiCompilerでlazy compilationをサポート、`useInputFileSystem`オプションをサポート。 |
| 41 | +Perfettoベースのパフォーマンス分析ツール、Zod v4への更新など |
| 42 | + |
| 43 | + |
| 44 | +---- |
| 45 | + |
| 46 | +## Chrome 139 beta | Blog | Chrome for Developers |
| 47 | +[developer.chrome.com/blog/chrome-139-beta?hl=en](https://developer.chrome.com/blog/chrome-139-beta?hl=en "Chrome 139 beta | Blog | Chrome for Developers") |
| 48 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">ReleaseNote</span></p> |
| 49 | + |
| 50 | +Chrome 139 betaリリース。 |
| 51 | +CSSでは、`var()`/`attr()`の短絡評価のサポート、`caret-animation`/`corner-shape`/CSS Custom Functionsのサポート。 |
| 52 | +WHATWGの仕様に合わせて`+json`のJSON MIME typをサポート。 |
| 53 | +Origin trialsでPrompt API、WebGPU Compatibility modeの追加。 |
| 54 | +macOS 11サポート終了、ISO-2022-JPの自動検出の削除など |
| 55 | + |
| 56 | +- [Intent to Ship: Spec-compliant JSON MIME type detection](https://groups.google.com/a/chromium.org/g/blink-dev/c/-lZFLXH7_Y8/m/ZzgLXc91AQAJ "Intent to Ship: Spec-compliant JSON MIME type detection") |
| 57 | + |
| 58 | +---- |
| 59 | + |
| 60 | +## Ecma International approves new standards - Ecma International |
| 61 | +[ecma-international.org/news/ecma-international-approves-new-standards-11/](https://ecma-international.org/news/ecma-international-approves-new-standards-11/ "Ecma International approves new standards - Ecma International") |
| 62 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">news</span></p> |
| 63 | + |
| 64 | +ECMAScript 2025がEcmaのGAで承認され正式にリリースされた。 |
| 65 | + |
| 66 | +- [Release ES2025 · tc39/ecma262](https://github.com/tc39/ecma262/releases/tag/es2025 "Release ES2025 · tc39/ecma262") |
| 67 | + |
| 68 | +---- |
| 69 | + |
| 70 | +## Release 0.14.0 | StyleX |
| 71 | +[stylexjs.com/blog/v0.14.0](https://stylexjs.com/blog/v0.14.0 "Release 0.14.0 | StyleX") |
| 72 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">css</span> <span class="jser-tag">library</span></p> |
| 73 | + |
| 74 | +StyleX v0.14.0リリース。 |
| 75 | +`viewTransitionClass` APIを追加、lintに`validImports`オプションを追加。 |
| 76 | +破壊的な変更としてスタイルをマージするときの戦略を設定する`styleResolution`オプションのデフォルト値を`application-order`から`property-specificity`に変更 |
| 77 | + |
| 78 | + |
| 79 | +---- |
| 80 | + |
| 81 | +## Electron 37.0.0 | Electron |
| 82 | +[www.electronjs.org/blog/electron-37-0](https://www.electronjs.org/blog/electron-37-0 "Electron 37.0.0 | Electron") |
| 83 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p> |
| 84 | + |
| 85 | +Electron 37.0リリース。 |
| 86 | +Chromium 138.0.7204.35/Node 22.16.0/V8 13.8にアップデート。 |
| 87 | +`window.open`で`innerWidth`と`innerHeight`オプションをサポート、Node.jsの`--experimental-network-inspection`をサポート。 |
| 88 | +unhandled rejection動作変更、WebUSB/WebSerial APIのblocklistサポートなど。 |
| 89 | + |
| 90 | + |
| 91 | +---- |
| 92 | + |
| 93 | +## Deno 2.4: deno bundle is back | Deno |
| 94 | +[deno.com/blog/v2.4](https://deno.com/blog/v2.4 "Deno 2.4: deno bundle is back | Deno") |
| 95 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p> |
| 96 | + |
| 97 | +Deno v2.4リリース。 |
| 98 | +`deno bundle`コマンドの復活/テキストの`byte`インポート機能/OpenTelemetryの安定化。 |
| 99 | +`--preload`フラグの追加/`deno update`コマンドの追加/`DENO_COMPAT`環境変数の追加、package.jsonのconditional exportsをサポートなど |
| 100 | + |
| 101 | + |
| 102 | +---- |
| 103 | + |
| 104 | +## Release v3.0.0 · recharts/recharts |
| 105 | +[github.com/recharts/recharts/releases/tag/v3.0.0](https://github.com/recharts/recharts/releases/tag/v3.0.0 "Release v3.0.0 · recharts/recharts") |
| 106 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">graphic</span> <span class="jser-tag">library</span></p> |
| 107 | + |
| 108 | +Recharts 3リリース。 |
| 109 | +Custom componentsのサポート、デフォルトで`accessibilityLayera11y`を有効に変更など |
| 110 | + |
| 111 | +- [3.0 migration guide · recharts/recharts Wiki](https://github.com/recharts/recharts/wiki/3.0-migration-guide#breaking-code-changes "3.0 migration guide · recharts/recharts Wiki") |
| 112 | + |
| 113 | +---- |
| 114 | + |
| 115 | +## dahlia/logtape: Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions |
| 116 | +[github.com/dahlia/logtape?tab=readme-ov-file](https://github.com/dahlia/logtape?tab=readme-ov-file "dahlia/logtape: Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions") |
| 117 | +<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> <span class="jser-tag">ReleaseNote</span></p> |
| 118 | + |
| 119 | +ロガーライブラリ。 |
| 120 | +ライブラリとアプリケーションの利用を想定していて、Node.js/Deno/Browserなどで動作し、構造化ログをサポートしている。 |
| 121 | +また、pinoやwinstonなどの別のロガーとのIntegrationを行うAdapterを提供している |
| 122 | + |
| 123 | + |
| 124 | +---- |
| 125 | +<h1 class="site-genre">アーティクル</h1> |
| 126 | + |
| 127 | +---- |
| 128 | + |
| 129 | +## CSS conditionals with the new if() function | Blog | Chrome for Developers |
| 130 | +[developer.chrome.com/blog/if-article?hl=en](https://developer.chrome.com/blog/if-article?hl=en "CSS conditionals with the new if() function | Blog | Chrome for Developers") |
| 131 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css</span> <span class="jser-tag">article</span></p> |
| 132 | + |
| 133 | +CSSの`if()`関数について。 |
| 134 | +プロパティの値に対して`if()`と`style()`/`media()`/`suports()`を使った条件分岐を書く方法について |
| 135 | + |
| 136 | + |
| 137 | +---- |
| 138 | + |
| 139 | +## How We Reduced CKEditor’s Bundle Size by 40% | CKEditor |
| 140 | +[ckeditor.com/blog/how-we-reduced-ckeditor-bundle-size/](https://ckeditor.com/blog/how-we-reduced-ckeditor-bundle-size/ "How We Reduced CKEditor’s Bundle Size by 40% | CKEditor") |
| 141 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">bundler</span> <span class="jser-tag">article</span></p> |
| 142 | + |
| 143 | +CKEditor 5のbundle size最適化について。 |
| 144 | +バージョンずれの対策としてre-exportでパッケージをまとめたパッケージを公開していたがtree-shakinが効かずにbundleサイズの問題が起きた。 |
| 145 | +`/* #__PURE__ */`コメントの活用、ES2022へのtarget変更、`sideEffects`フラグの設定などを行うtree shakingの問題を解決していった話。 |
| 146 | +また、Sondaを使ったbundle分析について |
| 147 | + |
| 148 | +- [Sonda](https://sonda.dev/ "Sonda") |
| 149 | + |
| 150 | +---- |
| 151 | + |
| 152 | +## \`useOptimistic\` to Make Your App Feel Instant | Epic React by Kent C. Dodds |
| 153 | +[www.epicreact.dev/use-optimistic-to-make-your-app-feel-instant-zvyuv](https://www.epicreact.dev/use-optimistic-to-make-your-app-feel-instant-zvyuv "\`useOptimistic\` to Make Your App Feel Instant | Epic React by Kent C. Dodds") |
| 154 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p> |
| 155 | + |
| 156 | +Reactの`useOptimistic` hooksの使い方や`setState`との違いについて |
| 157 | + |
| 158 | + |
| 159 | +---- |
| 160 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 161 | + |
| 162 | +---- |
| 163 | + |
| 164 | +## photostructure/tz-lookup: JavaScript Library for Timezone Lookup by Location |
| 165 | +[github.com/photostructure/tz-lookup](https://github.com/photostructure/tz-lookup "photostructure/tz-lookup: JavaScript Library for Timezone Lookup by Location") |
| 166 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p> |
| 167 | + |
| 168 | +緯度経度から地名を検索するライブラリ |
| 169 | + |
| 170 | + |
| 171 | +---- |
0 commit comments