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

2022-08-18のJS: Astro 1.0、Node.js 16.17.0、DenoとBunの今後の予定 #1004

Merged
merged 20 commits into from
Aug 18, 2022
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
200 changes: 200 additions & 0 deletions _i18n/ja/_posts/2022/2022-08-18-astro-1.0-node.js-16.17.0-denobun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
---
title: "2022-08-18のJS: Astro 1.0、Node.js 16.17.0、DenoとBunの今後の予定"
author: "azu"
layout: post
date : 2022-08-18T03:43:10.701Z
category: JSer
tags:
- Tools
- TypeScript
- node.js
- deno
- safari

---

JSer.info #605 - React/Vue/svelteなどのUIフレームワークを利用でき、コンテンツファーストのウェブサイト向けフレームワークであるAstro 1.0がリリースされました。

- [Astro 1.0 | Astro](https://astro.build/blog/astro-1/)

betaからの変更点としてSSR Buildsの追加、画像の最適化をする`<Image>`と`<Picture>`の追加、MDXサポート、Vite 3.0へアップグレードが行われています。

- [Astro 1.0 Beta Release | Astro](https://astro.build/blog/astro-1-beta-release/)

マイグレーションガイドは次のページに公開されています。

- [Migration Guide 🚀 Astro Documentation](https://docs.astro.build/en/migrate/#astro-10)

---

Node.js v16.17.0がリリースされました。

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

Node.js 18からのbackportが中心となりますが、`util.parseArgs`、ESM Loader Hooks API、`node:test`モジュール、Web Crypto APIの互換性改善が追加されています。

----

[Big Changes Ahead for Deno](https://deno.com/blog/changes)という記事では、Denoの今後の方向性について書かれています。

[`npm:` URLを使ってnpmモジュールをインストール](https://github.com/denoland/deno/issues/13703)できるようにしてNode.jsとの互換性の向上、[FFIの改善](https://github.com/denoland/deno/issues/14431)などのパフォーマンス改善、企業サポート、コードからドキュメントを自動生成できるようになるアップデートを予定していることについて書かれています。

これらの変更予定は、[Node.js compability mode](https://deno.land/[email protected]/npm_nodejs/compatibility_mode)など元から検討されていた部分の延長ともいえますが、[Bun](https://bun.sh/)との機能的/ベンチマーク的な比較などを意識している部分もありそうです。

- [Why is Deno that slow? · Discussion #15121 · denoland/deno](https://github.com/denoland/deno/discussions/15121)
- [Will Bun JavaScript Take Node's Crown](https://semaphoreci.com/blog/javascript-bun)

一方のBunの優先度としては、安定性の向上、npmパッケージ/Node.jsとの互換性向上、Contributionフローの改善、古いCPUターゲットでも動くようにすることが挙げられています。

- [Bun's priorities · Issue #798 · oven-sh/bun](https://github.com/oven-sh/bun/issues/798)


----

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

----

## Astro 1.0 | Astro
[astro.build/blog/astro-1/](https://astro.build/blog/astro-1/ "Astro 1.0 | Astro")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p>

Astro 1.0リリース。
SSR Buildsの追加、画像の最適化をする`<Image>`と`<Picture>`の追加、MDXサポート、Vite 3.0へアップグレード

- [Astro 1.0 Beta Release | Astro](https://astro.build/blog/astro-1-beta-release/ "Astro 1.0 Beta Release | Astro")

----

## Release v0.15.0 · evanw/esbuild
[github.com/evanw/esbuild/releases/tag/v0.15.0](https://github.com/evanw/esbuild/releases/tag/v0.15.0 "Release v0.15.0 · evanw/esbuild")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p>

esbuild v0.15.0リリース。
Yarnのpnpをサポート


----

## Announcing TypeScript 4.8 RC - TypeScript
[devblogs.microsoft.com/typescript/announcing-typescript-4-8-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-4-8-rc/ "Announcing TypeScript 4.8 RC - TypeScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p>

TypeScript 4.8 RCリリース。
`strictNullChecks`が有効時に`unknown`は`{} | null | undefined`と同様になり関連するコントロールフロー分析の改善、Template String Typesでの`infer`の改善。 `--build`/`-watch`/`--incremental`におけるビルドパフォーマンスの改善、オブジェクトリテラルや配列リテラルを`==`や`===`で比較した場合にエラーとなるように。
Binding patternの型推論の改善、`--watch`の安定性の改善など


----

## Release Notes for Safari Technology Preview 151 | WebKit
[webkit.org/blog/13093/release-notes-for-safari-technology-preview-151/](https://webkit.org/blog/13093/release-notes-for-safari-technology-preview-151/ "Release Notes for Safari Technology Preview 151 | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>

Safari Technology Preview 151リリース。
CSSの`color-mix()`関数のサポート、media queryの`scan`をサポート、`:dir`擬似クラスのサポート。
iframeのlazy loadingをデフォルト化、XHRのabortを仕様に準拠するように修正など


----

## Node v16.17.0 (LTS) | Node.js
[nodejs.org/en/blog/release/v16.17.0/](https://nodejs.org/en/blog/release/v16.17.0/ "Node v16.17.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 16.17.0リリース。
`util.parseArgs`、ESM Loader Hooks API、`node:test`モジュール、Web Crypto APIの互換性改善のbackport


----

## Release v0.22.0 · vitest-dev/vitest
[github.com/vitest-dev/vitest/releases/tag/v0.22.0](https://github.com/vitest-dev/vitest/releases/tag/v0.22.0 "Release v0.22.0 · vitest-dev/vitest")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">testing</span> <span class="jser-tag">ReleaseNote</span></p>

vitest 0.22.0リリース。
カバレッジツールとして`c8`と`istanbul`を選択できるようになり、`@vitest/coverage-c8`と`@vitest/coverage-istanbul`がPeerDependencyへと変更するなど


----

## Big Changes Ahead for Deno
[deno.com/blog/changes](https://deno.com/blog/changes "Big Changes Ahead for Deno")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">news</span></p>

Denoの今後について。
FFIの改善、`npm:` URLを使ってnpmモジュールをインストールできるようになり互換性の向上、コードからドキュメントを自動生成できるようになるアップデートを予定している


----

## Release 3.0.0-alpha.0 · prettier/prettier
[github.com/prettier/prettier/releases/tag/3.0.0-alpha.0](https://github.com/prettier/prettier/releases/tag/3.0.0-alpha.0 "Release 3.0.0-alpha.0 · prettier/prettier")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p>

prettier 3.0.0-alpha.0リリース。
ESMの対応、Node.js 12のサポート終了、Public APIの非同期か、`trailingComma`のデフォルト値が`all`へ変更など


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

----

## Objects, Functions, and Type Narrowing | Learning TypeScript
[www.learningtypescript.com/articles/objects-functions-and-type-narrowing?s&#x3D;t](https://www.learningtypescript.com/articles/objects-functions-and-type-narrowing?s=t "Objects, Functions, and Type Narrowing | Learning TypeScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p>

TypeScriptのNarrowingについて。
変数オブジェクトのプロパティ、関数呼び出し、関数の引数における型のNarrowingの挙動について


----

## Will Bun JavaScript Take Node&#039;s Crown
[semaphoreci.com/blog/javascript-bun](https://semaphoreci.com/blog/javascript-bun "Will Bun JavaScript Take Node&#039;s Crown")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">deno</span> <span class="jser-tag">Bun</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">benchmark</span> <span class="jser-tag">article</span></p>

Node.js/Deno/Bunのベンチマーク比較記事


----

## Why is CrUX data different from my RUM data?
[web.dev/crux-and-rum-differences/](https://web.dev/crux-and-rum-differences/ "Why is CrUX data different from my RUM data?")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">performance</span> <span class="jser-tag">article</span></p>

CrUXとRUMの違い、CrUXの統計データについて。


----

## outline is your friend - Manuel Matuzović
[www.matuzo.at/blog/2022/focus-outline/](https://www.matuzo.at/blog/2022/focus-outline/ "outline is your friend - Manuel Matuzović")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">article</span></p>

CSSの`outline`プロパティについての記事。


----

## The blind programmers who created screen readers - The Verge
[www.theverge.com/23203911/screen-readers-history-blind-henter-curran-teh-nvda](https://www.theverge.com/23203911/screen-readers-history-blind-henter-curran-teh-nvda "The blind programmers who created screen readers - The Verge")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">accessibility</span> <span class="jser-tag">software</span> <span class="jser-tag">history</span> <span class="jser-tag">article</span></p>

スクリーンリーダのJAWSとNVDAがどのような経緯で作られたのかの歴史についての記事


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

----

## pemistahl/grex-js: A JavaScript / WebAssembly library for generating regular expressions from user-provided test cases
[github.com/pemistahl/grex-js](https://github.com/pemistahl/grex-js "pemistahl/grex-js: A JavaScript / WebAssembly library for generating regular expressions from user-provided test cases")
<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></p>

文字列の配列からそれにマッチする正規表現を生成するライブラリ


----