Fork me on GitHub

2022-06-21のJS: Internet Explorer 11のサポート終了、Vue 2.7 Beta、社内のReactコンポーネントのメンテナンス

Edit on GitHub 編集履歴を見る

JSer.info #597 - エンタープライズやWindows Serverなどの特定のOSを除いて、Internet Explorer 11のサポートが2022年6月15日で終了されました。

サポート終了となったOSでIEのアプリケーションを開くと、MSEdgeにリダイレクトされるようになっていきます。
また、MSEdgeのIEモード(下位互換モード)は、2029 年までサポートされる予定となっています。


Vue 2系の最終マイナーバージョンとなるVue 2.7のbeta版がリリースされました。

Vue 3からのバックポートとしてdefineComponent()h()useSlot()useAttrs()useCssModules()のサポートが追加されています。
またESMビルドにはnamed exportとして提供されることについてや、Vue 3との動作の違いについてなども書かれています。

Vue 2.7の正式リリースは、6月末を予定していて、リリースされてから18ヶ月後の2023年末にサポートが終了される予定となっています。


Notes on maintaining an internal React component library | Gabe's blogという記事では、社内でのReactコンポーネントライブラリを作成する場合について書かれています。

どのようにコンポーネントを設計すれば、正しく使われるコンポーネントが作れるのかについて書かれています。
間違った使われ方をしないような設計やメジャーアップデート時にcodemodでのマイグレーション、ビジュアルリグレッションテストなどについて書かれています。

また、PublicなStorybookを検索できるコンポーネント百科事典がStorybookによって公開されています。
これもあわせてみてみると良いかもしれません。


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

JSer.info Sponsors

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


ヘッドライン


Release v0.14.44 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.14.44

JavaScript bundler Tools ReleaseNote

esbuild 0.14.44リリース。
copy loaderのサポート、package.jsonで定義したself-referencesのサポート。
tsconfig.jsonalwaysStrictがある場合に"use strcit"を追加するようになるなど


Deno 1.23 Release Notes

deno.com/blog/v1.23

deno ReleaseNote

Deno 1.23.0リリース。
deno runなどでデフォルトでタイプチェックをしないように変更、Deno.sleepSyncを削除、deno task--cwdフラグをサポート。
deno taskがcat/xargs/redirectをサポート、CompressionStreamとDecompressionStreamが"deflate-raw"をサポート。
TypeScript 4.7をサポートなど


Release v2.0.0 · redwoodjs/redwood

github.com/redwoodjs/redwood/releases/tag/v2.0.0

node.js JavaScript library ReleaseNote

Redwood 2.0.0リリース。
import/orderのLintルールの変更、独自のインフラにデプロイする場合の設定の変更、useRequireAuthの挙動を変更など


Release 2.0.0-beta.4 · vercel/swr

github.com/vercel/swr/releases/tag/2.0.0-beta.4

React JavaScript library ReleaseNote

SWR 2.0.0-beta.4リリース。
preload関数の追加、SWRConfigで設定をoverrideできるようになるなど


Release Inferno v8.0.0 · infernojs/inferno

github.com/infernojs/inferno/releases/tag/v8.0.0

JavaScript library ReleaseNote

Inferno v8.0.0リリース。
componentDidAppearcomponentWillDisappearの追加、href=javascript:に警告を表示するように。
破棄的な変更としてIEのサポート終了、inferno-componentパッケージの削除、inferno-devtoolsパッケージの削除など


Release Version 20.0.0 · jsdom/jsdom

github.com/jsdom/jsdom/releases/tag/20.0.0

JavaScript DOM library ReleaseNote

jsdom 20.0.0リリース。
Node.js 14未満のサポート終了、crypto.getRandomValues()の実装、addEventListenersignalオプションのサポートなど


Release v0.14.46 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.14.46

JavaScript bundler ReleaseNote

esbuild v0.14.46リリース。
構文ごとに機能のサポートを無効化するかを指定できるように、TypeScript 4.7のサポート、--defineがoptional chianingをサポートなど


Release v1.0.0 · sindresorhus/ow

github.com/sindresorhus/ow/releases/tag/v1.0.0

JavaScript TypeScript library ReleaseNote

関数でスキーマを定義してバリデーションするow 1.0.0リリース。
Node.js 12のサポート終了、TypeScript 4.7が必須に、Pure ESM化など。


Internet Explorer 11 has retired and is officially out of support—what you need to know | Windows Experience Blog

blogs.windows.com/windowsexperience/2022/06/15/internet-explorer-11-has-retired-and-is-officially-out-of-support-what-you-need-to-know/

IE news

Internet Explorerが2022年6月15日をもってサポートを終了となった。
今後はIEを開くとMSEdgeへリダイレクトされるようになる。


Vue 2.7 is Now in Beta! | The Vue Point

blog.vuejs.org/posts/vue-2-7-beta.html

Vue ReleaseNote

Vue 2.7 Betaリリース。
Vue 3からのバックポートとしてdefineComponent()h()useSlot()useAttrs()useCssModules()のサポート。
またESMビルドにはnamed exportとして提供されることについてや、Vue 3との動作の違いについてなど


アーティクル


Notes on maintaining an internal React component library | Gabe's blog

www.gabe.pizza/notes-on-component-libraries/

React article

社内でReactコンポーネントライブラリを作るときのプラクティスについての記事。
間違った状態を受け入れる型を避ける、子となるコンポーネント自体にmarginを持たせない、コンポーネントのwidthは幅全体を占めるようにする。
コンポーネントのPropsとしてclassNamestyleは公開しないようにする、ElementのPropsを継承しないようにする。
相互依存するコンポーネントにはReact Contextを使う、一緒に利用するコンポーネントはオブジェクトとしてまとめてexportする。
メジャーアップデートと共にcodemodを提供する、開発者がどのように使ってるかを分析、ビジュアルリグレッションテストを設定するなど


Using web streams on Node.js

2ality.com/2022/06/web-streams-nodejs.html

node.js stream article

Node.jsでのWeb Streamについての記事。
基本的な使い方、Asynchronous Iterationとの組み合わせ、Streamへの変換、ReadableStream/WritableStream/TranformStream。
Streamのbackpressure、バイナリを扱うByte Stream、node:streamが公開するヘルパー関数についてなど


Lerna 5.1 — New website, new guides, new Lerna example repo, distributed caching support and speed! | by Juri Strumpflohner | Jun, 2022 | Nrwl

blog.nrwl.io/lerna-5-1-new-website-new-guides-new-lerna-example-repo-distributed-caching-support-and-speed-64d66410bec7

JavaScript Tools monorepo article

Lerna 5.1について。
Nxコマンドと連携できる仕組みの追加、ドキュメントサイトの刷新など。
また今後のロードマップについて


AbortController is your friend

whistlr.info/2022/abortcontroller-is-your-friend/

JavaScript article

AbortControllerについての記事。
AbortControllerとAbortSignalの使い方について。
addEventListnerとの組み合わせ、複雑な処理の停止、React Hooksでの利用、AbortSignalのヘルパー処理についてなど


スライド、動画関係


JSConf Budapest 2022 - YouTube

www.youtube.com/playlist?list=PL37ZVnwpeshGuMZrOZzEo8QLBjjpbtBGm#budapest2022

JavaScript Conference video

JSConf Budapest 2022の動画一覧


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


A build system for the JavaScript ecosystem | moon

moonrepo.dev/

monorepo Tools

Rustで書かれたJavaScriptなmonorepo向けのプロジェクト管理ツール。
パッケージの依存グラフに基づいたタスクの実行、
キャッシュ、リモートキャッシュ、インクリメンタルビルドなどの機能を提供する


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


taozhi8833998/node-sql-parser: Parse simple SQL statements into an abstract syntax tree (AST) with the visited tableList and convert it back to SQL

github.com/taozhi8833998/node-sql-parser

JavaScript SQL library

SQLパーサ/ジェネレータライブラリ。
BigQuery、DB2、Hive、MariaDB、MySQL、PostgresQL、SQLiteなどのSQLに対応している


coder-mike/microvium: A compact, embeddable scripting engine for applications and microcontrollers for executing programs written in a subset of the JavaScript language.

github.com/coder-mike/microvium

JavaScript Tools library

組み込み向けのJavaScriptエンジン。
64kBのメモリ制限やJavaScriptの機能も制限されているが、小さなメモリフットプリントで動かすのを目的としている


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