JSer.info #450 - Vue.jsをつかったフレームワークであるNuxt.js 2.9.0がリリースされました。
v2.5.0で本体に統合されたTypeScriptサポートがリファクタリングされ、TypeScript関係の処理がコアからパッケージとして分離されています。
この変更により一部パッケージの入れ替えが必要になっているため、2.8からのマイグレーション方法については次のページに書かれています。
Dateを扱うライブラリであるdate-fns 2.0がリリースされました。
破壊的な変更として、それぞれの関数が直接日付文字列を扱うのではなく、Dateオブジェクトを扱うように変更されています。
そのため、文字列ではなく、文字列をparse
やparseISO
でDateオブジェクトに変換してから渡す必要があります。
// Before v2.0.0
addDays('2016-01-01', 1)
// v2.0.0 onward
addDays(parseISO('2016-01-01'), 1)
また、format
関数を仕様変更、Direct requireするモジュール名をcamelCaseに変更、一部関数名や引数の順番の変更、unit
オプションの値の変更などが含まれています。
変更点の詳細は次のCHANGELOGにまとめられています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v2.9.0 · nuxt/nuxt.js
github.com/nuxt/nuxt.js/releases/tag/v2.9.0
Nuxt.js 2.9.0リリース。
Node.js 8.9.0未満のサポート終了、TypeScriptサポートをコアから分離、vue-meta 2.0.0にアップデートなど
Node v12.9.0 (Current) | Node.js
nodejs.org/en/blog/release/v12.9.0/
Node.js 12.9.0リリース。
V8 7.6へアップデート、stream
のReadbleStreamにreadableEnded
、WritableStreaにwritableEnded
プロパティの追加など
Microsoft Edge Insider Channels
www.microsoftedgeinsider.com/en-us/download
ChromiumのMicrosoft Edgeのベータ版がリリースされた
Announcing styled-components v5: Beast Mode 💪🔥 - 💅 styled-components - Medium
medium.com/styled-components/announcing-styled-components-v5-beast-mode-389747abd987
styled-components v5 ベータリリース。
破壊的な変更はなし。パフォーマンスの改善、React DevToolsの対応改善、RTLのサポートなど
Release: 6.11.0 - 📣 announcements - npm forum
npm.community/t/release-6-11-0/9572
npm 6.11.0リリース。
peerDependenciesをOptionalと明示できるpeerDependenciesMeta
フィールドの追加。インストール時の警告を抑制できる
- Implements peerDependenciesMeta by arcanis · Pull Request #224 · npm/cli
- Optional Peer Dependencies by arcanis · Pull Request #105 · yarnpkg/rfcs
Release v2.0.0 · date-fns/date-fns
github.com/date-fns/date-fns/releases/tag/v2.0.0
date-fns 2.0.0リリース。
日付文字列の代わりにparseISO
などでパースしたオブジェクトを受け取るように変更、format
関数を仕様変更、モジュール名をcamelCaseに変更、関数名や引数の順番の変更など
アーティクル
Learning CSS by reading specs
www.chenhuijing.com/blog/learning-css-by-reading-specifications/
CSSの仕様でCSSを学ぶ話
Promise.allSettled と Promise.any | blog.jxck.io
blog.jxck.io/entries/2019-08-20/promise-allsettled-any.html
ECMAScript ProposalのPromise.allSettled
とPromise.any
を含めたPromiseの状態に対するハンドリングについてのまとめ
Progressive Web Apps in multi-origin sites | web.dev
クロスオリジンなサイト間でのPWAについて。
Service Worker、キャッシュ、Promptなどについて。
複数のoriginでのPWAは難しい問題について
Puppeteerで不要なCSSを消す - Cybozu Inside Out | サイボウズエンジニアのブログ
blog.cybozu.io/entry/2019/08/20/170000
PuppeteerでCSSカバレッジを取り、PostCSSでCSSを編集して使われてないCSSを削除する話
Using Native JavaScript Modules in Production Today — Philip Walton
philipwalton.com/articles/using-native-javascript-modules-in-production-today/
ES moduleをそのまま使うためのテクニックについての話。
RollupをつかってnpmモジュールごとにES moduleのchunkを作成し、<script module>
でのロード、modulepreload
でのpreload。
Dynamic Importでの動的ロードとpolyfill、ES moduleをサポートしてない環境への<script nomodule>
での読み込みについてなど。
ソフトウェア、ツール、ライブラリ関係
clean-code-typescript | TypeScriptの為のクリーンコード
msakamaki.github.io/clean-code-typescript/
clean-code-typescriptの翻訳
nodegui/nodegui: A library for building cross-platform native desktop applications with JavaScript and CSS like styling.
Node.jsのQtバインディングライブラリ。
Qtを使ったGUIをNode.jsから作成できる。
pagemap · mini map for web pages · larsjung.de
Canvasを使ってウェブサイトのminimapを描画するライブラリ
parcel-bundler/watcher: 👀 A native C++ Node module for querying and subscribing to filesystem events
github.com/parcel-bundler/watcher
C++で書かれたファイル監視のNode.jsライブラリ。Parcelで利用されている。
監視しているファイルの状態をsnapshotで保存でき、watcherが起動してないときの差分も検出できる。
GoogleChromeLabs/dynamic-import-polyfill: A fast, tiny polyfill for dynamic import() that works in all module-supporting browsers
github.com/GoogleChromeLabs/dynamic-import-polyfill
Dynamic import()
のpolyfillライブラリ。