Fork me on GitHub

2021-12-20のJS: npm v8.3.0、core-js 3.20.0、 The State of CSS 2021

Edit on GitHub 編集履歴を見る

JSer.info #571 - npm 8.3.0がリリースされました。

package.jsonoverridesフィールドによって、依存のバージョン指定を強制的に変更できるようになっています。
これは、Yarnのresolutionsとよく似た機能となっています。


polyfillライブラリであるcore-js 3.20.0がリリースされました。

structuredCloneDOMExceptionのpolyfillが追加されています。(structuredCloneDOMExceptionに依存しているため、DOMExceptionも実装された)
structuredCloneはオブジェクトをdeep-cloneをするDOM APIで、次の記事でも解説されています。

core-js 3.20.0では、Stage 3のArray.prototype.groupByToMapのサポート。 Stage 1のString.cooked、Stage 0のFunction.prototype.unThisFunction.{isCallable, isConstructor}のサポートなどが追加されています。

また、core-jsとも関係する話ですが、TC39のECMAScript ProcessドキュメントのStage 1でpolyfillを実装することを推奨するべきかどうかという議論が行われています。


CSSについての開発者アンケートであるThe State of CSS 2021の結果が公開されています。

CSSの機能、Pre/Post Processors、フレームワーク、CSS in JS、ツールやリソースなどの項目ごとのアンケート結果が公開されているので、興味がある人は見てみるとよさそうです。

また、アンケートデータそのものやAPIも公開されているので、アンケートデータを使ってみるのもよさそうです。


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

JSer.info Sponsors

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


ヘッドライン


Release v8.3.0 · npm/cli

github.com/npm/cli/releases/tag/v8.3.0

npm ReleaseNote

npm 8.3.0リリース。
overridesフィールドでのパッケージの依存バージョンの上書きをサポートなど


Release 3.20.0 - 2021.12.16 · zloirock/core-js

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

JavaScript polyfill ReleaseNote

core-js 3.20.0リリース。
structuredCloneDOMExceptionの実装、Stage 3のArray.prototype.groupByToMapのサポート。
Stage 1のString.cooked、Stage 0のFunction.prototype.unThisFunction.{isCallable, isConstructor}のサポートなど


Turborepo

turborepo.org/

Tools monorepo npm

monorepoのビルドツール。
インクリメンタルビルド、ビルドキャッシュ、リモートキャッシングなどの機能を持っている。


Deno 1.17 Release Notes

deno.com/blog/v1.17

deno ReleaseNote

Deno 1.17リリース。
Import assertionsのサポート、リモートモジュールの型チェックをスキップする--no-check=remoteの追加、AbortSignal#throwIfAbortedのサポート。
また、Deno.testのoverloads APIを追加、--watchフラグで外部ファイルのWatchをサポート。
UnstableとしてDeno.connectTls()がALPNの指定をサポート、timerがプログラムの終了をブロックさせなくするDeno.unrefTimerの追加など。


アーティクル


Web Performance Calendar » CSS me not

calendar.perfplanet.com/2021/css-me-not/

CSS performance article

CSSファイルの肥大化を避けるために不要なCSSを検知する方法について。
CSSファイルの読み込みをToggleするブックマークレット、Chrome開発者ツールのCoverageツール、UnCSSで各セレクタにbackground-imageのログを仕込む方法について。


Updates from the 87th meeting of TC39 - DEV Community 👩‍💻👨‍💻

dev.to/hemanth/updates-from-the-87th-meeting-of-tc39-44e4

ECMAScript article news

2021年12月のTC39 MeetingによるECMAScriptのProposalステータスの変更点まとめ


Deep-copying in JavaScript using structuredClone

web.dev/structured-clone/

JavaScript DOM API article

structuredCloneでのdeep cloneについて。
shallow cloneとの比較、structuredCloneでコピーできないデータの制限について。


スライド、動画関係


The State of CSS 2021

2021.stateofcss.com/

CSS Survey

CSSについて開発者アンケートであるThe State of CSS 2021が公開された。
CSSの機能、Pre/Post Processors、フレームワーク、CSS in JS、ツールやリソースなどの項目ごとのアンケート結果が公開されている


React Conf 2021 Recap – React Blog

reactjs.org/blog/2021/12/17/react-conf-2021-recap.html

React video Conference

React Conf 2021の動画まとめ


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


Shopify/react-native-skia: High-performance React Native Graphics using Skia

github.com/Shopify/react-native-skia

React iOS Android

React Native向けのSkia bindingライブラリ


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


t12t/a11y-components

github.com/t12t/a11y-components

UI accessibility links

アクセッシブルなコンポーネントについてのリンク集


quick-lint/quick-lint-js: quick-lint-js finds bugs in JavaScript programs

github.com/quick-lint/quick-lint-js

JavaScript ESLint C++ Tools

C++で書かれたJavaScriptのLintツール


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