JSer.info #473 - npmにはパッケージを公開した人がパッケージを取り下げるルールを決めたnpm Unpublish Policyがあります。
今回、このnpm Unpublish Policyのルールが更新されています。
元々このUnpublish Policyはleft-padがunpublishされた件で、使われているnpmパッケージがunpublishされるとnpmのエコシステムが壊れるため、npm unpublish
に対して制限を入れるために導入されたルールです。
今回の変更では、npm publish
してからnpm unpublish
できるまでの時間制限を緩める変更と、いくつかの条件を満たす場合は時間とは関係なくunpublishできるようになっています。
- publishしてから72時間以内(元々は24時間以内)
- またはダウンロード数が300未満 かつ 別の公開モジュールから依存されていない かつ メンテナが単独
この変更以前では、publishしてから24時間以上経つと、unpublishするためにはサポートに連絡する必要がありました。
そのため、他から依存されていなそうなモジュールに関しては、npm unpublish
できるようにするルール変更をしたという感じのようです。
Yarnのメジャーアップデートであるv2(yarnpkg/berry)のRC版が進んできたのにあわせて、Yarn 2での変更点などに関して書かれた記事がメンテナーのarcanisによって公開されています。
この記事では、現在のStableであるYarn v1はlegacyになり、今後のStableはv2(berry)に切り替わる予定などについて書かれています。
ウェブサイトの方もそれに合わせてリダイレクトされてるようになっていて、この影響で翻訳されたページが404になったりもしています。
- Yarn v2: https://next.yarnpkg.com
- Yarn v1: https://classic.yarnpkg.com
Yarn 2の変更点についても紹介されていて、デフォルトでCacheをリポジトリに配置するように変更、CLIの出力の変更などv1の仕組みの違いについて書かれています。
また新しい機能として、npx
と同じようなyarn dlx
の追加、patch:
/portal:
の対応、Workspaceのコマンド改善、Workspaceの検証をするConstraintsの追加などもされています。
その他にもパッケージごとにビルドするかを設定可能に、yarn run
でOS間のシェルの違いをノーマライズするように、Lockファイルのフォーマット変更、パッケージはRead-Onlyに変更なども含まれています。
すでにv2に関するドキュメントやマイグレーションガイドも公開されているため、興味がある人は読んでみるといいと思います。
- Migration | Yarn - Package Manager
- Plug'n'Play | Yarn - Package Manager
- Zero-Installs | Yarn - Package Manager
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v2.1.0 · puppeteer/puppeteer
github.com/puppeteer/puppeteer/releases/tag/v2.1.0
Puppeteer v2.1.0 リリース。
Chromium 80へアップデート、Firefoxをサポートなど
New PWABuilder release! - PWABuilder - Medium
medium.com/pwabuilder/new-pwabuilder-release-b2932f4722a5
PWABuilderのアップデート。
Trusted Web Activityを使ったAndroid向けのパッケージングに対応、パッケージングするためのガイドの刷新など
- PWABuilder
- GoogleChromeLabs/llama-pack: Llama Pack 🦙 is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) using a Trusted Web Activity.
The npm Blog — Changes to npm Unpublish Policy - January 2020
blog.npmjs.org/post/190553543620/changes-to-npm-unpublish-policy-january-2020
npmのunpublish policyの変更。
今まで24時間以内だったらunpublishできたのが、72時間以内ならunpublish出来るように変更された。
またダウンロード数が300未満、別の公開モジュールから依存されていない、メンテナが単独の条件を満たす場合もunpublishが可能となった。
Introducing Yarn 2 ! 🧶🌟 - DEV Community 👩💻👨💻
dev.to/arcanis/introducing-yarn-2-4eh1
Yarn 2について。
Yarn v1はlegacyになり、今後のStableはv2(berry)に切り替わる予定。
デフォルトでCacheをリポジトリに配置するように変更、CLIの出力の変更、npx
と同じようなyarn dlx
の追加、patch:
/portal:
の対応。
Workspaceのコマンド改善、Workspaceの検証をするConstraintsの追加。
パッケージごとにビルドするかを設定可能に、yarn run
でOS間のシェルの違いをノーマライズするように、Lockファイルのフォーマット変更、パッケージはRead-Onlyに変更など
- Migration | Yarn - Package Manager
- Plug'n'Play | Yarn - Package Manager
- Zero-Installs | Yarn - Package Manager
Meteor 1.9 (Node.js 12) and new Roadmaps - Meteor Blog
blog.meteor.com/meteor-1-9-node-js-12-and-new-roadmaps-cb993277d444
Meteor 1.9リリース。
Node.js 12をサポート、Galaxy(Metorのホスティング環境)のロードマップについて
Release Releaaaaaaaaaaaaaaaaaaase · preactjs/preact
github.com/preactjs/preact/releases/tag/10.3.0
Preact 10.3.0リリース
Built-In要素を継承したCustom Elementに対応、バグ修正など
アーティクル
What's New In DevTools (Chrome 81) | Web | Google Developers
developers.google.com/web/updates/2020/01/devtools
Chrome 81の開発者ツールの変更点について。
ブロックされたCookieに色をつけるように、ネットワークパネルでCopy as Node.js fetch
の追加、Source Mapのエラーをコンソールに表示など
JavaScript Libraries Are Almost Never Updated Once Installed
blog.cloudflare.com/javascript-libraries-are-almost-never-updated/
CDN経由でサイトに埋め込まれているJavaScriptライブラリは一度インストールされたあとにアップデートされることが殆どないというデータについて
スライド、動画関係
まもなくやってくる Vue.js 3 - Speaker Deck
speakerdeck.com/kazupon/mamonakuyatutekuru-vue-dot-js-3
Vue.js 3についてのスライド。
Composition API、ライフサイクルフック、DI(provide
,inject
)、ReactライクなPortalとSuspense、CSSの独自擬似クラスの追加。
またフィルターの削除、グローバル状態の整理などについて
ソフトウェア、ツール、ライブラリ関係
Adapt · React for your infrastructure.
Reactを使ってpulumiなどのようにインフラをコード管理するツール。
Hooks API、コンポーネント、JSXで設定を書ける。
環境やプロバイダーなどの分離はStyleという形で分離できるようにしている。
cutenode/mingine: A module to get the minimum usable engine(s)
依存してるnpmパッケージのengines
フィールドから、engines
ごとのminimumなバージョンを算出するライブラリ
書籍関係
Manning | Deep Learning with JavaScript
www.manning.com/books/deep-learning-with-javascript
TensorFlow.jsを使ったDeep Learningについての書籍
プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発 | Boris Cherny, 今村 謙士, 原 隆文 |本 | 通販 | Amazon
www.amazon.co.jp/dp/4873119049/
2020年3月16日発売
Programming TypeScriptの翻訳本