Fork me on GitHub

2023-05-19のJS: jQuery 3.7.0、Vue 3.3、Bun 0.6.0(`bun build`)

Edit on GitHub 編集履歴を見る

JSer.info #644 - jQuery 3.7.0がリリースされました。

uniqueSortメソッドの追加、単位なしのCSSプロパティのサポート、パフォーマンスの改善がされています。
また、IEではfocus/blurイベントが非同期で実行されるが、他のブラウザでは同期的に実行されるため、挙動の違いが発生していました。
この問題をIEでも同期的に実行されるfocusin/focusoutを使ってシミュレートすることで修正されています。

jQueryは5.0.0でIEのサポートを終了する予定となっています。


Vue 3.3がリリースされました

<script setup lang="ts">でのTypeScriptの型定義の改善が中心のリリースとなっています。
また、双方向バインディングを扱うdefineModel()の追加なども行われています。


Bun 0.6.0がリリースされました。

bun buildを追加しファイルをbundleとminifyできるbundler機能を追加、bun build --compileで単一実行可能ファイルを生成できるようになっています。

その他にはimport.meta.mainのサポート、bun testの改善、TypeScript 5.0のサポート、Import Attributesのサポート、Node.jsの互換性改善なども含まれています。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Release v120 · esm-dev/esm.sh

github.com/esm-dev/esm.sh/releases/tag/v120

JavaScript cdn library ReleaseNote

esm.sh v120リリース。
esm.shの処理をCloudflare Worker上でしているesm-workerパッケージを公開。
build APIがtypesオプションをサポート。


Announcing Dart 3. 100% sound null safety. Records… | by Michael Thomsen | Dart | May, 2023 | Medium

medium.com/dartlang/announcing-dart-3-53f065a10635

dart ReleaseNote

Dart 3リリース。
null safe、Record、パターンマッチ、クラスの改善。
WebAssemblyへのコンパイルに対応など


jQuery 3.7.0 Released: Staying in Order | Official jQuery Blog

blog.jquery.com/2023/05/11/jquery-3-7-0-released-staying-in-order/

jquery ReleaseNote

jQuery 3.7.0リリース。
uniqueSortメソッドの追加、単位なしのCSSプロパティのサポート、パフォーマンスの改善。

IEではfocus/blurが非同期で実行されるが、他のブラウザでは同期的に実行されるため、挙動の違いが発生していた。
IEでも同期的に実行されるfocusin/focusoutを使いシミュレートすることで修正された。


Announcing Vue 3.3 | The Vue Point

blog.vuejs.org/posts/vue-3-3

Vue TypeScript rlee

Vue 3.3リリース。
<script setup lang="ts">でのTypeScriptの型定義の改善、双方向バインディングを扱うdefineModel()の追加など


jasmine/5.0.0.md at main · jasmine/jasmine · GitHub

github.com/jasmine/jasmine/blob/main/release_notes/5.0.0.md

JavaScript testing library ReleaseNote

Jasmine 5.0.0リリース。
Node.js 12/14/16のサポート終了、テストの並列実行をサポートなど


Rome v12.1.0

rome.tools/blog/2023/05/10/rome12_1/

JavaScript Tools ReleaseNote

Rome 12.1.0リリース。
Stage 3のDecoratorsのサポート、GitなどのVCSをサポートし.gitignoreの設定などを利用できるように、ルールの追加や修正。
stdinに対するrome checkの対応、rome migrateコマンドの追加、ヘルプの改善など


Release 7.0.0-alpha.0 · lerna/lerna

github.com/lerna/lerna/releases/tag/7.0.0-alpha.0

JavaScript monorepo ReleaseNote

lerna 7.0.0-alpha.0リリース。
lerna bootstrap/add/linkコマンドを別のパッケージに分離し、本体には含めないように変更


Nuxt 3.5 · Nuxt

nuxt.com/blog/v3-5

Vue library ReleaseNote

Nuxt 3.5リリース。
Vue 3.3へアップデート、Nitropack 2.4にアップデート、JSONペイロードのシリアライズの改善。
nuxt.configファイルで環境ごとの設定を書けるように、実験的にルーティングから型定義を生成する仕組みを追加など


Release v13.0.0 · sverweij/dependency-cruiser

github.com/sverweij/dependency-cruiser/releases/tag/v13.0.0

node.js library Tools ReleaseNote

モジュールの依存関係を分析するツールであるdependency-cruiser 13.0.0リリース。
Node.js 14のサポート終了、yarn 1のPnPのサポート終了、Pure ESMのパッケージに変更。
設定ファイルをESMで書けるように、--configで設定ファイルの渡さなくても自動で設定ファイルを探索するように変更、パフォーマンスの改善。


Bun v0.6.0 | Bun Blog

bun.sh/blog/bun-v0.6.0

Bun bundler ReleaseNote

Bun 0.6.0リリース。
bun buildを追加しファイルをbundleとminifyできるbundler機能を追加、bun build --compileで単一実行可能ファイルを生成できるように。
import.meta.mainのサポート、bun testの改善、TypeScript 5.0のサポート、Import Attributesのサポート、Node.jsの互換性改善など


Astro 2.5 | Astro

astro.build/blog/astro-250/

astro ReleaseNote

Astro 2.5リリース。
Data collectionsとしてJSONやYAMLを扱える仕組みの追加、compressHTMLでHTMLを圧縮できるように、コンポーネントを並列レンダリングできるように。
実験的な仕組みとしてhybridOutputオプションを追加、Custom client directivesの追加など


Node v20.2.0 (Current) | Node.js

nodejs.org/en/blog/release/v20.2.0

node.js ReleaseNote

Node.js v20.2.0リリース。
http.createServerrejectNonStandardBodyWritesオプションを追加し、HEADリクエストにbodyがある場合にエラーとするように。
URLクラスのhasdeletevalue引数を追加など


アーティクル


Introducing Deopt Explorer - TypeScript

devblogs.microsoft.com/typescript/introducing-deopt-explorer/

TypeScript V8 performance article

TypeScriptのパフォーマンスを改善するためにインラインキャッシュをちゃんと使えるようにコードをリファクタリングしたという話。
インラインキャッシュとMonomorphic/Polymorphic/Megamorphic、Deopt Explorerを使った最適化されていない箇所の分析と修正について


Baseline

web.dev/baseline/

browser article

ブラウザによって広くサポートされている機能セットという定義を提供するBaselineについて。
ある機能セットが多くのブラウザでサポートされていてそれが使える状態になっているという状態への名前がなかったため、Baselineという名前で定義をしていく取り組み。
年に1回 Baseline を更新する予定で、サイトやライブラリがBaselineの機能を持ったブラウザをサポートするといったユースケースを想定している。


JS private class fields considered harmful – Lea Verou

lea.verou.me/2023/04/private-fields-considered-harmful/

JavaScript article

ES2022で追加されたclassのprivate fieldsは、VueのようにProxyでReactiveな仕組みを実装するものと相性が悪いという話。


サイト、サービス、ドキュメント


microsoft/deoptexplorer-vscode: A VS Code extension to visualize deoptimizations in your JavaScript and TypeScript code running in V8 (i.e., NodeJS, Edge, Chrome, etc.).

github.com/microsoft/deoptexplorer-vscode

VSCode node.js V8

V8 のトレースログをVSCode上で可視化して最適化ができていない箇所を見つける拡張。
CPUプロファイルの可視化、インラインキャッシュの状態、Deoptimizations、関数の状態などを可視化できる


書籍関係


JavaScript Primer 改訂2版 迷わないための入門書 | azu, Suguru Inatomi |本 | 通販 | Amazon

https://www.amazon.co.jp/dp/4048931105/

JavaScript Book

2023年6月9日発売
JavaScriptの入門書

この記事へ修正リクエストをする
JSer.info Slackに参加する