Skip to content
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

2020-11-03のJS: Node v14.15.0 (LTS)、Deno 1.5.0、Next.js 10 #801

Merged
merged 13 commits into from
Nov 3, 2020
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
---
title: "2020-11-03のJS: Node v14.15.0 (LTS)、Deno 1.5.0、Next.js 10"
author: "azu"
layout: post
date : 2020-11-03T03:01:42.286Z
category: JSer
tags:
- Node.js
- Deno
- Next.js

---

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

- [Node v14.15.0 (LTS) | Node.js](https://nodejs.org/ja/blog/release/v14.15.0/)

Node.js 14.15.0は、Node.js 14のLTS(Long Term Support)の開始となるバージョンです。Node.js 14は2023年4月までメンテナンスされる予定となっています。

- [nodejs/Release: Node.js Release Working Group](https://github.com/nodejs/Release)

Node.js 14の破壊的な変更については、14.0.0リリース時の記事を参照するとよさそうです。

- [Node v14.0.0 (Current) | Node.js](https://nodejs.org/en/blog/release/v14.0.0/)
- [Node.js version 14 available now. This blog was written by Michael Dawson… | by Node.js | Medium](https://nodejs.medium.com/node-js-version-14-available-now-8170d384567e)
- [2020-04-28のJS: Node.js 14.0.0、Got 11.0.0、Cost of JavaScript Frameworks - JSer.info](https://jser.info/2020/04/28/node.js-14.0.0-got-11.0.0-cost-of-javascript-frameworks/)

----

Deno 1.5.0がリリースされました。

- [Release v1.5.0 · denoland/deno](https://github.com/denoland/deno/releases/tag/v1.5.0)
- [Deno 1.5 Release Notes](https://deno.land/posts/v1.5)

破壊的な変更としてTypeScriptの[`isolatedModules`](https://www.typescriptlang.org/tsconfig#isolatedModules)がデフォルトで有効化されています。
これはTypeScript独自の`const enum`や`namespaces`などの機能を利用できなくする設定で、[Babel](https://babeljs.io/docs/en/babel-preset-typescript)のように型だけを取り除く場合の挙動をTypeScriptと一致させるための制限するオプションです。

これに加えて`deno bundle --no-check`をサポートし、型チェックしない場合は[swc](https://github.com/swc-project/swc)を使うことで高速化しています。

その他には、`alert`/`confirm`/`promp`のサポート、REPLの改善、`Deno.fsync()`と`Deno.fdatasync()`がStableとなるといった変更も含まれています。

----

Next.js 10がリリースされました。


- [Blog - Next.js 10 | Next.js](https://nextjs.org/blog/next-10)

画像の最適化とImage CDNからの読み込みに対応する`next/image`の追加、i18n Routingの対応が追加されています。

また、React 17の対応、Fast Refreshの対応改善、Dynamic Routing時に`next/link`に対して`as`が多くのケースで不要となるといった改善がされています。、

その他には、Next.jsのアップデートに合わせたコードのマイグレーションをするツールを`@next/codemod`パッケージとして公開しています。

- [Advanced Features: Codemods | Next.js](https://nextjs.org/docs/advanced-features/codemods)


----

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

----

## Node v14.15.0 (LTS) | Node.js
[nodejs.org/ja/blog/release/v14.15.0/](https://nodejs.org/ja/blog/release/v14.15.0/ "Node v14.15.0 (LTS) | 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 14.15.0リリース。
Node.js 14のLTS(Long Term Support)となるバージョン。
Node.js 14は2023年4月までサポートされる

- [nodejs/Release: Node.js Release Working Group](https://github.com/nodejs/Release "nodejs/Release: Node.js Release Working Group")

----

## Release v1.5.0 · denoland/deno
[github.com/denoland/deno/releases/tag/v1.5.0](https://github.com/denoland/deno/releases/tag/v1.5.0 "Release v1.5.0 · denoland/deno")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p>

Deno 1.5.0リリース。
破壊的な変更として`isolatedModules`がデフォルトで有効化されている。
`deno bundle --no-check`のサポート、型チェックしない場合はswcを使うことで高速化、`alert`/`confirm`/`promp`のサポートなど

- [swc](https://github.com/swc-project/swc "swc")
- [TypeScript compiler in Rust · Issue #5432 · denoland/deno](https://github.com/denoland/deno/issues/5432#issuecomment-716890189 "TypeScript compiler in Rust · Issue #5432 · denoland/deno")
- [Deno 1.5 Release Notes](https://deno.land/posts/v1.5 "Deno 1.5 Release Notes")

----

## Blog - Next.js 10 | Next.js
[nextjs.org/blog/next-10](https://nextjs.org/blog/next-10 "Blog - Next.js 10 | Next.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">ReleaseNote</span></p>

Next.js 10リリース。
画像の最適化とImage CDNからの読み込みに対応する`next/image`の追加、i18n Routingの対応。
React 17の対応、Fast Refreshの対応改善、Dynamic Routing時に`next/link`に対して`as`が多くのケースで不要に、`@next/codemod`コマンドの追加など

- [next/image | Next.js](https://nextjs.org/docs/api-reference/next/image "next/image | Next.js")
- [Advanced Features: Internationalized Routing | Next.js](https://nextjs.org/docs/advanced-features/i18n-routing "Advanced Features: Internationalized Routing | Next.js")

----

## JavaScript Standard Style
[standardjs.com/changelog.html#1600---2020-10-28](https://standardjs.com/changelog.html#1600---2020-10-28 "JavaScript Standard Style")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">ReleaseNote</span></p>

Standard JS 16.0.0リリース。
globやフォルダ指定の挙動をESLintと合わせるように、`extensions`オプションのサポート、React/JSXに関するルールの追加など


----

## Release v4.4.0 · slevithan/xregexp
[github.com/slevithan/xregexp/releases/tag/v4.4.0](https://github.com/slevithan/xregexp/releases/tag/v4.4.0 "Release v4.4.0 · slevithan/xregexp")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">RegExp</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

xRegExp v4.4.0 リリース。
Unicode 13.0.0にアップデート、TypeScriptに対応、IE11 + core-js 3.6.0+での無限ループの修正


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

----

## pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ
[moznion.hatenadiary.com/entry/2020/10/05/121259](https://moznion.hatenadiary.com/entry/2020/10/05/121259 "pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">performance</span> <span class="jser-tag">Tools</span> <span class="jser-tag">article</span></p>

pprof-nodejsを使ってNode.jsアプリケーションのプロファイルを取得してpprofツールで見る方法について

- [google/pprof-nodejs: pprof support for Node.js](https://github.com/google/pprof-nodejs "google/pprof-nodejs: pprof support for Node.js")

----

## JSエコシステムぶらり探訪(4): npmとコマンドライン - Qiita
[qiita.com/qnighy/items/faddc72389f6c94421e1](https://qiita.com/qnighy/items/faddc72389f6c94421e1 "JSエコシステムぶらり探訪(4): npmとコマンドライン - Qiita")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">yarn</span> <span class="jser-tag">article</span></p>

`npx`/`npm exec`/`yarn exec`の動作、npmとyarnのライフサイクルスクリプトの実行順序、`npm link`/`yarn link`の挙動についてなど


----

## JavaScript's Memory Management Explained
[felixgerschau.com/javascript-memory-management/](https://felixgerschau.com/javascript-memory-management/ "JavaScript's Memory Management Explained")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">performance</span> <span class="jser-tag">article</span></p>

JavaScriptでのメモリ管理について


----

## MDN Web Docs evolves! Lowdown on the upcoming new platform - Mozilla Hacks - the Web developer blog
[hacks.mozilla.org/2020/10/mdn-web-docs-evolves-lowdown-on-the-upcoming-new-platform/](https://hacks.mozilla.org/2020/10/mdn-web-docs-evolves-lowdown-on-the-upcoming-new-platform/ "MDN Web Docs evolves! Lowdown on the upcoming new platform - Mozilla Hacks - the Web developer blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">mdn</span> <span class="jser-tag">article</span> <span class="jser-tag">translate</span></p>

MDNの今後について。
アーキテクチャやワークフローをWikiベースからGitHubベースに変更。
初期リリースでは既存のローカライズ済みの記事はアーカイブとなりPRでの変更はできない、今後は主要なページと言語においての機械翻訳やコミュニティでの手動翻訳の対応を検討しているという話。


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

----

## dbohdan/classless-css: A list of classless CSS themes/frameworks with screenshots
[github.com/dbohdan/classless-css](https://github.com/dbohdan/classless-css "dbohdan/classless-css: A list of classless CSS themes/frameworks with screenshots")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">library</span> <span class="jser-tag">links</span></p>

クラスをつけないでHTML要素自体にスタイルをあてるCSSテーマ/フレームワークのまとめ


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

----

## mongodb-js/boxednode: 📦 boxednode – Ship a JS file with Node.js in a box
[github.com/mongodb-js/boxednode](https://github.com/mongodb-js/boxednode "mongodb-js/boxednode: 📦 boxednode – Ship a JS file with Node.js in a box")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">library</span> <span class="jser-tag">Tools</span></p>

Node.jsアプリケーションをシングルバイナリ化するツール


----

## aidenybai/lucia: 🟪 Tiny library for tiny web apps.
[github.com/aidenybai/lucia](https://github.com/aidenybai/lucia "aidenybai/lucia: 🟪 Tiny library for tiny web apps.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">DOM</span> <span class="jser-tag">UI</span> <span class="jser-tag">library</span></p>

VueやAlpine.jsのようにDOMにテンプレートを書いてデータバインディングするViewライブラリ


----

## jlfwong/speedscope: 🔬 A fast, interactive web-based viewer for performance profiles.
[github.com/jlfwong/speedscope](https://github.com/jlfwong/speedscope "jlfwong/speedscope: 🔬 A fast, interactive web-based viewer for performance profiles.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">performance</span></p>

flamegraphビューアー。
ブラウザの開発者ツールのプロファイル、Ruby/Python/Goなどのプロファイルの読み込みに対応している


----
<h1 class="site-genre">書籍関係</h1>

----

## "SurviveJS - Webpack" - Further webpack 5 updates
[survivejs.com/blog/webpack-book-webpack-5-updates/](https://survivejs.com/blog/webpack-book-webpack-5-updates/ "\"SurviveJS - Webpack\" - Further webpack 5 updates")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webpack</span> <span class="jser-tag">book</span></p>

webpackについて電子書籍であるSurviveJSがwebpack5に対応した


----

## O'Reilly Japan - ハンズオンNode.js
[www.oreilly.co.jp/books/9784873119236/](https://www.oreilly.co.jp/books/9784873119236/ "O'Reilly Japan - ハンズオンNode.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">book</span></p>

2020年11月17日発売
Node.jsの入門書


----

## O'Reilly Japan - ハンズオンJavaScript
[www.oreilly.co.jp/books/9784873119229/](https://www.oreilly.co.jp/books/9784873119229/ "O'Reilly Japan - ハンズオンJavaScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">book</span></p>

2020年11月17日発売
JavaScriptの入門書


----