Fork me on GitHub

2020-11-10のJS: Socket.IO 3.0.0、core-js 3.7.0、SvelteKit

Edit on GitHub 編集履歴を見る

JSer.info #513 - Socket.IO 3.0.0がリリースされています。

Socket.IO 3 Release | Socket.IOのリリース記事では、
現在ではWebSocketsのfallbackとしてのSocket.IOの機能はそこまで重要ではありませんが、auto-reconnectionような機能などには引き続き価値があるという話が書かれています。

2.xから3.0.0への変更点やマイグレーションについては次のページにまとめられています。

Engine.IO 4へのアップデートも含まれています。
破壊的な変更として、maxHttpBufferSizeが100MBから1MBに変更、CORSの設定方法の変更、Cookieをデフォルトでは使わないように、APIの変更などが含まれています。
また、コードベースをTypeScriptで書き直し、onAny/offAnyの追加、socket.io-msgpack-parserを同梱されるといった変更も含まれています。


polyfillライブラリであるcore-js 3.7.0がリリースされています。

しばらくの間、仕様変更の追従などのアップデートは止まっていましたが、作者が復帰したためメンテナンスが再開されています。

3.7.xではECMAScript/Proposalの仕様に準拠した変更、Node.jsでのqueueMicroTaskの実行順序の問題を修正、一部環境でのバグを修正などが含まれています。


What's the deal with SvelteKit?という記事では、Svelte Summit 2020で発表があったSvelteKitについて書かれています。

Svelte上に作られているNext.jsライクなSapperがSvelte自体に統合されSvelteKitとなる予定について書かれています。
RollupとSnowpackを使ったモジュール単位のビルド方式となり、Adaptorによって各種プラットフォームに対応した形でアプリを生成できる用になる予定となっています。
現時点では開発中であるためリポジトリはオープンになっていませんが、今後公開する予定とのことです。


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

JSer.info Sponsors

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


ヘッドライン


Announcing TypeScript 4.1 RC | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-1-rc/

TypeScript ReleaseNote

TypeScript 4.1 RCリリース。
Template Literal Types、Mapped TypesでKeyのRemappingをサポート、再帰的なConditional Typesのサポート。 インデックスアクセス時にundefinedとなる可能性を考慮するnoUncheckedIndexedAccessオプションの追加。
baseUrlなしでpathsオプションが利用可能に、checkJsは暗黙的にallowJsを有効化するように、新しいJSXの変換に対応。
破棄的な変更としてPromiseresolveの引数がオプショナルではなくなるなど


Release 3.7.0 - 2020.11.06 · zloirock/core-js

github.com/zloirock/core-js/releases/tag/v3.7.0

JavaScript polyfill library ReleaseNote

core-js 3.7.0リリース。
ECMAScript/Proposalの仕様に準拠した変更、Node.jsでのqueueMicroTaskの実行順序の問題を修正、一部環境でのバグを修正など


Node v15.1.0 (Current) | Node.js

nodejs.org/en/blog/release/v15.1.0/

node.js ReleaseNote

Node v15.1.0リリース。
診断ツール向けのdiagnostics_channelモジュールを実験的に追加、spawnイベントの追加。
dnsモジュールにsetLocalAddressの追加v8モジュールにtakeCoveragestopCoverageの追加など


Release 3.0.0 · socketio/socket.io-client

github.com/socketio/socket.io-client/releases/tag/3.0.0

WebSocket library ReleaseNote

Socket.IO 3.0リリース。
maxHttpBufferSizeが100MBから1MBに変更、CORSの設定方法の変更、Cookieをデフォルトでは使わないように、APIの変更など。
またコードベースをTypeScriptで書き直し、onAny/offAnyの追加、socket.io-msgpack-parserを同梱など


アーティクル


Tracing TypeScript Compiler. はじめに | by Yosuke Kurami | Oct, 2020 | Medium

quramy.medium.com/tracing-typescript-compiler-4dcb96ab54e1

TypeScript performance article

TypeScriptのコンパイルパフォーマンスの調査方法について。
4.1で追加される--generateTraceを使ったプロファイルデータの読み方について


What's the deal with SvelteKit?

svelte.dev/blog/whats-the-deal-with-sveltekit

Svelte article

Svelte上に作られているNext.jsライクなSapperがSvelte自体に統合されSvelteKitとなる予定について。
RollupとSnowpackを使ったモジュール単位のビルド方式となり、Adaptorによって各種プラットフォームに対応した形でアプリを生成できる用になる予定との話。


Building a type checked url router from scratch

ja.nsommer.dk/articles/type-checked-url-router.html

TypeScript article

TypeScript 4.1で実装されるTemplate Typeを使って、文字列でのルーティングに対して型をつける方法を見ていく記事


Top problems I got switching to Vue 3 – Ghiura Alexandru

ghalex.com/2020/11/03/top-problems-i-got-switching-from-vue-2-to-3/

Vue article

Vue 2からVue 3への移行でのハマりどころについての記事。
v-modelのデフォルトプロパティ名の変更、フィルターの廃止、Vue.useを使っている外部コンポーネントがある問題について


Code-splitting and minimal edge latency: the perfect match | Fastly

www.fastly.com/blog/code-splitting-and-minimal-edge-latency-the-perfect-match

React performance article

create-react-appで作られたエディタアプリのパフォーマンス改善について。
コードエディタにmonaco-editorを使いメインのJSが大きくなっているため、chunkに分離する話。
またchunkのようなscriptに対してはprefetchpreloadは逆効果になる場合もある問題やread-onlyの場合でもmonaco-editorを読み込んでいる問題について。
read-onlyの場合はPrismJSを使ってシンタックスハイライトだけのコンポーネントにすることでサイズを小さくする話


ソフトウェア、ツール、ライブラリ関係


krzkaczor/ts-essentials: All basic TypeScript types in one place 🤙

github.com/krzkaczor/ts-essentials

TypeScript library

TypeScriptの型ユーティリティライブラリ。


sql-js/sql.js: A javascript library to run SQLite on the web.

github.com/sql-js/sql.js/

SQLite WebAssembly library JavaScript

SQLiteをWebAssemblyにコンパイルしてJavaScriptで動かすライブラリ。
既存のsqliteファイルをimport/exportできる。


mattpocock/sextant: A development tool to chart application flows, then implement them in code

github.com/mattpocock/sextant

JavaScript Tools graphic GraphQL

シーケンス図のGUIエディタでデータフローとGraphQLのPayloadを入力し、対応するTypeScriptの型を生成するツール。


gajus/http-terminator: Gracefully terminates HTTP(S) server.

github.com/gajus/http-terminator

node.js library server

expressなどのNode.jsのhttp.Serverの実装に対してgraceful shutdownを行うライブラリ


書籍関係


Distributed Systems with Node.js - Thomas Hunter II

thomashunter.name/distributed-systems-with-nodejs

node.js book performance server

2020年11月4日発売
Node.jsアプリケーションでの分散システムについて。
Node.jsで書いたアプリケーションのでのobservable, scalable, resilientについて書かれている


Lets start TypeScript ~Vue3 + Express で TypeScript 入門してみよう~

zenn.dev/is_ryo/books/10ef5a30196e16110bc1

Vue TypeScript PostgreSQL node.js express tutorial

Express + PostgresSQL + Vue + TypeScriptでTodoアプリを作るチュートリアル


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