Fork me on GitHub

2022-09-06のJS: Rollup v3の変更点、 Chrome 106 Beta、npmベストプラクティス

Edit on GitHub 編集履歴を見る

JSer.info #608 - Rollup 3.0のプレリリース版が公開されています。

Rollup 3.0では、Node.js 12のサポート終了、ブラウザ向けのパッケージを@rollup/browserに分離、非推奨のメソッドの削除。 output.interopcompatを追加、--bundleConfigAsCjsフラグの追加などが予定されています。


Chrome 106 Betaが公開されました。

Origin Trialsとしてiframeのanonymous属性、Pop-Up APIの追加されています。
Android WebViewでのClient Hintsをサポート、CSSの単位としてicをサポート、Intl.NumberFormat v3 APIをサポート、WebCodecsdequeueイベントのサポートなども含まれています。
また、破壊的な変更としてCookieのドメイン属性の非ASCII文字を削除、HTTP/2 Pushのサポートの削除なども含まれています。


Open Source Security Foundationからnpmでのパッケージ公開のセキュリティについてのベストプラクティスのドキュメントが公開されています。

また、JavaScriptのライブラリをnpmへパッケージとして公開に関するガイドが公開されています。

こちらも合わせて読んでみると良いかもしれません。


ヘッドライン


Release v6.0.0 beta 1 · styled-components/styled-components

github.com/styled-components/styled-components/releases/tag/v6.0.0-beta.1

JavaScript CSS library ReleaseNote

styled-components v6.0.0-beta.1リリース。
TypeScriptでの書き直し、stylis v4へのアップデート、Node.js 12のサポート終了などが含まれる


Release v5.5.0 · lerna/lerna

github.com/lerna/lerna/releases/tag/v5.5.0

monorepo JavaScript Tools ReleaseNote

lerna v5.5.0リリース。
pnpm workspacesのサポート


[v3.0 Release branch] by lukastaegert · Pull Request #4549 · rollup/rollup

github.com/rollup/rollup/pull/4549

rollup ReleaseNote

Rollup 3.0の変更点について。
Node.js 12のサポート終了、ブラウザ向けのパッケージを@rollup/browserに分離、非推奨のメソッドの削除。
output.interopcompatを追加、--bundleConfigAsCjsフラグの追加など


Release v0.23.0 · vitest-dev/vitest

github.com/vitest-dev/vitest/releases/tag/v0.23.0

vite ReleaseNote

vitest v0.23.0リリース。
CJSとの互換性の改善、retryオプションの追加、vitest benchコマンドの追加、coverageのjson reporterの追加など


Release v7.10.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v7.10.0

pnpm ReleaseNote

pnpm v7.10.0リリース。
resolution-modetime-basedの追加、pnpm env removeの追加など


Release v5.0.0 · avajs/ava

github.com/avajs/ava/releases/tag/v5.0.0

JavaScript node.js testing ReleaseNote

AVA v5.0.0 preリリース。
Node.js 12以下のサポート終了、TypeScript 4.7未満のサポート終了など


TestCafe v2.0.0 Released | Framework | Release Notes

testcafe.io/404018/release-notes/framework/2022-8-31-testcafe-v2-0-0-released

browser testing E2E ReleaseNote

TestCafe 2.0.0リリース。
TypeScriptのアップデート、JavaScriptのエラーを無視するオプションの追加など


Chromium Blog: Chrome 106 Beta: New CSS Features, WebCodecs and WebXR Improvements, and More

blog.chromium.org/2022/09/chrome-106-beta-new-css-features.html

Chrome ReleaseNote

Chrome 106 Betaリリース。
Origin Trialsとしてiframeのanonymous属性、Pop-Up APIの追加。
Android WebViewでのClient Hintsをサポート、CSSの単位としてicをサポート、Intl.NumberFormat v3 APIをサポート、WebCodecsdequeueイベントのサポートなど。
Cookieのドメイン属性の非ASCII文字を削除、HTTP/2 Pushのサポートの削除など


アーティクル


Modern alternatives to BEM - daverupert.com

daverupert.com/2022/08/modern-alternatives-to-bem/

CSS architecture article

CSSに@layerやWeb Componentsなどの新しい概念が増えたことで、CSSの設計がどのように変わっていくかについて。


Anonymous iframe origin trial: Easily embed iframes in COEP environments - Chrome Developers

developer.chrome.com/blog/anonymous-iframe-origin-trial/

browser article

Cross-Origin-Embedder-Policy: require-corpCross-Origin-Opener-Policy: same-originのレスポンスヘッダを返すサイトではないと、クロスオリジン分離してiframeとして埋め込めない。
この問題を解決するために、iframe要素にanonymous属性について


Things not available when someone blocks all cookies

blog.tomayac.com/2022/08/30/things-not-available-when-someone-blocks-all-cookies/

JavaScript browser article

Cookieをブロックした状態で呼び出すと例外が発生するAPIについて
localStorage、IndexedDB、Service Workers、Cookie APIなどについて


Implementing Promisable setTimeout | yield code(); - Dmitry Kudryavtsev

yieldcode.blog/post/implementing-promisable-set-timeout

JavaScript article

setTimeoutのPromise版の実装とAbortControllerを使ったキャンセルについて。
また、Node.jsのtimers/promisesについて。


実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog

www.wantedly.com/companies/wantedly/post_articles/410531

node.js ECMAScript module article

Node.jsのNative ESM対応について。
ESMとCJSの非互換性の問題と対処についてなど


スライド、動画関係


layerhub-io/react-design-editor: Image, Presentation and Video editor. React design editor using fabric.js. Canva clone

github.com/layerhub-io/react-design-editor

React video editor library

Reactで書かれたプレゼン、動画編集のエディタライブラリ。Canvaクローン。


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


package-manager-best-practices/npm.md at main · ossf/package-manager-best-practices

github.com/ossf/package-manager-best-practices/blob/main/published/npm.md

npm security document

npmのセキュリティに関するベストプラクティスについてのドキュメント。
CIの構成、依存関係の管理、ロックファイル、パッケージのリリース、レジストリについてなど


flomesh-io/pipy: Pipy is a programmable proxy for the cloud, edge and IoT.

github.com/flomesh-io/pipy

JavaScript proxy C++ software

C++で書かれたプログラマブルなProxy。
スクリプティング言語としてJavaScriptで記述できる


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


frehner/modern-guide-to-packaging-js-library

github.com/frehner/modern-guide-to-packaging-js-library

node.js JavaScript library document

JavaScriptライブラリを公開するときのガイド。
ESM/CJS/UMD形式の公開、Tree Shakingに対応する、minifyをしない、Source Mapをつける、外部ライブラリをコピーして含めないなど。
またpackage.jsonのフィールドについての解説など


bluwy/whyframe: Develop components in isolation

github.com/bluwy/whyframe

JavaScript library UI

iframe内にマークアップを描画するコンポーネントライブラリ。
Svelte、Vue、Reactなど各種UIフレームワークに対応している


tinylibs/tinyspy: 🕵🏻‍♂️ minimal fork of nanospy, with more features

github.com/tinylibs/tinyspy

JavaScript testing library

依存のないspyライブラリ


BetterTyped/hyper-fetch: ⚡ Backend agnostic fetching framework for any javascript environment - queues, caching, persistence, builders, commands, offline and more!

github.com/BetterTyped/hyper-fetch

JavaScript library Fetch

UniversalなFetchライブラリ。
Builder APIで特定のエンドポイントを叩くコマンドを作成して利用する。
キャッシュ、キュー管理、キャンセル、Prefetchingなどをサポートしている。


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