Skip to content

2021-07-20のJS: Node.js 16.5.0(WHATWG Stream)、npm 7.20.0(npm pkg)、Ember 4のロードマップ #894

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jul 20, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
---
title: "2021-07-20のJS: Node.js 16.5.0(WHATWG Stream)、npm 7.20.0(`npm pkg`)、Ember 4のロードマップ"
author: "azu"
layout: post
date : 2021-07-20T02:16:58.055Z
category: JSer
tags:
- node.js
- Vue
- ECMAScript
- proposal
- CSS

---

JSer.info #549 - Node.js 16.5.0がリリースされました。

- [Node v16.5.0 (Current) | Node.js](https://nodejs.org/en/blog/release/v16.5.0/)

16.5.0では試験的に、WHATWGで仕様策定されウェブブラウザに実装されている[WHATWG Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API)が実装されました。(`stream/web`)
Node.jsでは、すでに[Node.js Stream](https://nodejs.org/api/stream.html) APIがありますが、これとは異なる実装です。

Node.js StreamとWHAWG STreamの違いについては次のドキュメントにも書かれています。

- [streams/FAQ.md at main · whatwg/streams](https://github.com/whatwg/streams/blob/main/FAQ.md#what-are-the-main-differences-between-these-streams-and-nodejs-streams)

Node.jsでWHATWG Streamを実装している理由としてはQUIC/HTTP3のサポートなどが挙げられています。

- [HTTP/3 support · Issue #38478 · nodejs/node](https://github.com/nodejs/node/issues/38478)

また、Node.js StreamとWHATWGT Streamの棲み分けや相互運用性については次のIssueで議論されています。

- [Future of streams · Issue #39093 · nodejs/node](https://github.com/nodejs/node/issues/39093)

----

npm 7.20.0がリリースされました。

- [Release v7.20.0 · npm/cli](https://github.com/npm/cli/releases/tag/v7.20.0)

npm 7.20.0では、`package.json`の任意のフィールドを読み書きできる`npm pkg`コマンドが追加されています。

- [feat: npm pkg by ruyadorno · Pull Request #3487 · npm/cli](https://github.com/npm/cli/pull/3487/files)

---

[The Road to Ember 4.0](https://blog.emberjs.com/the-road-to-ember-4-0/)という記事では、Ember 4のロードマップが公開されています。

Ember 4は2021年9月20日にリリース予定としています。
Emberではメジャーアップデートには新しい機能は含まないため、DeprecatedなAPIの削除、Ember Classicが廃止などが中心となります。

それぞれのマイグレーションガイドも公開されています。

- [Ember.js - Deprecations](https://deprecations.emberjs.com/v3.x/)
- [Introduction - Octane Upgrade Guide - Ember Guides](https://guides.emberjs.com/v3.27.0/upgrading/current-edition/)

また、Ember 4ではIEをサポートしない予定となっています。

- [Browser Support - Ember.js](https://emberjs.com/browser-support/)

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Node v16.5.0 (Current) | Node.js
[nodejs.org/en/blog/release/v16.5.0/](https://nodejs.org/en/blog/release/v16.5.0/ "Node v16.5.0 (Current) | Node.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js 16.5.0リリース。
WHATWG Stream APIを試験的にサポート。


----

## Release v1.0.0 · vuejs/composition-api
[github.com/vuejs/composition-api/releases/tag/v1.0.0](https://github.com/vuejs/composition-api/releases/tag/v1.0.0 "Release v1.0.0 · vuejs/composition-api")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Vue 2向けのComposition APIを提供する@vue/composition-api 1.0.0リリース。


----

## Release v7.20.0 · npm/cli
[github.com/npm/cli/releases/tag/v7.20.0](https://github.com/npm/cli/releases/tag/v7.20.0 "Release v7.20.0 · npm/cli")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p>

npm 7.20.0リリース。
`package.json`の値を読み書きできる`npm pkg`コマンドの追加、`npm config`に`--location`フラグの追加など


----

## Release v6.0.0 · riot/riot
[github.com/riot/riot/releases/tag/v6.0.0](https://github.com/riot/riot/releases/tag/v6.0.0 "Release v6.0.0 · riot/riot")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Riot.js 6.0.0リリース。
TypeScriptでcastがエラーとなる問題の修正、より厳密な型定義へ変更など


----

## Deno 1.12 Release Notes | Deno Blog
[deno.com/blog/v1.12](https://deno.com/blog/v1.12 "Deno 1.12 Release Notes | Deno Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p>

Deno 1.12リリース。
Web Crypto APIの改善、REPLでTypeScriptのコードとimport文のサポート、`MessagePort`と`MessageChannel`のサポート。
`deno test`に`--shuffle`と`--fail-test`の追加、`fetch`にProxyするための`client`オプションの追加。
`WeakRef`のバグ修正、Chrome DevToolsの対応改善など

- [Release v1.12.0 · denoland/deno](https://github.com/denoland/deno/releases/tag/v1.12.0 "Release v1.12.0 · denoland/deno")
- [Deno 1.12.0 がリリースされたので新機能や変更点の紹介](https://zenn.dev/magurotuna/articles/deno-release-note-1-12-0 "Deno 1.12.0 がリリースされたので新機能や変更点の紹介")

----

## ECMAScript proposal updates @ 2021-07 | ECMAScript Daily
[ecmascript-daily.github.io/ecmascript/2021/07/19/ecmascript-proposal-update](https://ecmascript-daily.github.io/ecmascript/2021/07/19/ecmascript-proposal-update "ECMAScript proposal updates @ 2021-07 | ECMAScript Daily")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">proposal</span> <span class="jser-tag">news</span></p>

2021年7月のTC39 MeetingでStageが変更されたProposalのまとめ。
Private FieldsのBrand ChecksがStage 4へ、RealmsがStage 3となった


----

## Release v4.0.0 · mongodb/node-mongodb-native
[github.com/mongodb/node-mongodb-native/releases/tag/v4.0.0](https://github.com/mongodb/node-mongodb-native/releases/tag/v4.0.0 "Release v4.0.0 · mongodb/node-mongodb-native")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">MongoDB</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

MongoDB Node.js Driver 4.0リリース。
MongoDB 5.0をサポート。
Time Series Collectionsをサポート、SecondaryでSnapshotの読み取りをサポートなど

- [Launched Today: MongoDB 5.0, Serverless Atlas, and the Evolution of our Application Data Platform | MongoDB](https://www.mongodb.com/blog/post/launched-today-mongodb-5-0-serverless-atlas-evolution-application-data-platform "Launched Today: MongoDB 5.0, Serverless Atlas, and the Evolution of our Application Data Platform | MongoDB")

----
<h1 class="site-genre">アーティクル</h1>

----

## Vue 3 Migration Build: safely upgrade your app to Vue 3 (Pt. 1) | Vue Mastery
[www.vuemastery.com/blog/vue-3-migration-build/](https://www.vuemastery.com/blog/vue-3-migration-build/ "Vue 3 Migration Build: safely upgrade your app to Vue 3 (Pt. 1) | Vue Mastery")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">article</span></p>

`@vue/compat`を使ったVue 3へのマイグレーションについての記事


----

## The Road to Ember 4.0
[blog.emberjs.com/the-road-to-ember-4-0/](https://blog.emberjs.com/the-road-to-ember-4-0/ "The Road to Ember 4.0")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Ember</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>

Ember 4.0のロードマップについて。
Ember 4は2021年9月20日にリリース予定。
Emberのメジャーアップデートには新しい機能は含まないため、DeprecatedなAPIの削除、Ember Classicが廃止となりOctaneへのアップデートを推奨。
また、IEのサポートを終了予定。


----

## The performance effects of too much lazy-loading
[web.dev/lcp-lazy-loading/](https://web.dev/lcp-lazy-loading/ "The performance effects of too much lazy-loading")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">performance</span> <span class="jser-tag">article</span></p>

HTTP Archiveのデータによる`loading=lazy`はウェブサイトの17%で使われていて、その大部分はWordPressのサイトとなっている。
WordPressのサイトはLazy LoadingをAbove the foldな画像に対しても行っていたため、Lazy Loadしない場合に比べてLCPが悪化している問題について。


----
<h1 class="site-genre">スライド、動画関係</h1>

----

## tc39\_study\_2 - Speaker Deck
[speakerdeck.com/jxck/tc39-study-2](https://speakerdeck.com/jxck/tc39-study-2 "tc39\_study\_2 - Speaker Deck")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">proposal</span> <span class="jser-tag">slide</span></p>

ECMAScript Proposal紹介の詰め合わせ的なスライド


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## mrbbot/miniflare: 🔥 Fully-local Cloudflare Workers Simulator
[github.com/mrbbot/miniflare](https://github.com/mrbbot/miniflare "mrbbot/miniflare: 🔥 Fully-local Cloudflare Workers Simulator")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">cloudflare</span> <span class="jser-tag">debug</span></p>

Cloudflare Workersのローカルで動くシミュレータツール。
ローカル開発時に`wrangler dev`の代わりとして利用できる


----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## elad2412/the-new-css-reset: The New Simple and Lighter CSS Reset
[github.com/elad2412/the-new-css-reset](https://github.com/elad2412/the-new-css-reset "elad2412/the-new-css-reset: The New Simple and Lighter CSS Reset")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">library</span></p>

`unset`や`:where`などの新しい機能を使ったCSS resetライブラリ


----

## grafana/k6: A modern load testing tool, using Go and JavaScript - https://k6.io
[github.com/grafana/k6](https://github.com/grafana/k6 "grafana/k6: A modern load testing tool, using Go and JavaScript - https://k6.io")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">golang</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">TEST</span></p>

GoとJavaScriptを使った負荷テストツール。
JavaScriptでスクリプトを書いて、負荷/性能テストができる。

- [Our exciting next step - k6 is now part of Grafana Labs!](https://k6.io/blog/joining-grafana-labs/ "Our exciting next step - k6 is now part of Grafana Labs!")

----