2018-05-02のJS

npm/CHANGELOG.md at v6.0.0 · npm/npm

npm 6.0.0リリース。 npm initcreate-react-appのようなパッケージを元に初期化できるように、npm auditの追加。 Node.js 4のサポート終了、npm updatenpm outdatedの探索アルゴリズムの変更など

rxjs/CHANGELOG.md at 6.0.0 · ReactiveX/rxjs

RxJS 6.0リリース

Node v10.0.0 (Current) | Node.js

Node.js 10.0.0リリース。 10.xは2018年10月にLTSとなる予定。同時にNode-ChakraCoreのプレリリース。 N-APIがstableに、Assertの変更、V8 6.6への更新、fs.promisesの追加、URLがグローバルへ追加など

CKEditor 5 v10.0.0 – the future of rich text editing looks stable

CKEditor 5 v10.0.0リリース。 contentEditableベースではなく、DOM構造をオブジェクトモデルで表現するように、プラグインベースなアーキテクチャに変更。 ライセンスがGPL+LGPL+MPLのトリプルライセンスからGPL 2+のみに変更。

API documentation - Sinon.JS

SinonJS 5.0.1リリース。 sinon.replacesinon.fakeの追加、sinonオブジェクトがデフォルトでsandboxに変更、ES5をサポートしてない実行環境はshimが必要になるなど

Release electron v2.0.0 · electron/electron

Electron 2.0.0リリース。 Chrome 61、Node.js 8.9、V8 6.1への更新。 menu.popupのシグネチャーの変更、deprecatedなAPIを削除など

Chromium Blog: Chrome 67 Beta: WebXR Origin Trial, Generic Sensors

Chrome 67βリリース。 Generic Sensor API、WebXR Device APIのorigin trialの開始。 BigIntの実装、TransformStreamの実装、Client HintのAccept-CH-Lifetimeの対応など

last 2 versions" considered harmful

autoprefixerなどで使われるbrowserlistのlast 2 versions指定では、シェアが0%のブラウザも"最新の2バージョン"に含まれてしまう問題について。

日経電子版を支える広告技術 — HACK The Nikkei

ウェブサイトのパフォーマンスを劣化させる広告(SDK)とその対策について。 無駄なRTTの削減、ファイルサイズの削減。 メインスレッドで同期処理されるdocument.write()対策としてShadow DOMやiframeでの実行やIntersection Observerでの遅延ロードについて。

Introducing the Microsoft Edge DevTools Preview app - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog

MSEdgeの開発者ツールをベースにした単体のデバッグアプリについて。 EDP(Edge DevTools Protocol)を使ってブラウザの外部からデバッグができる。

A Vue.js App Using Axios With Vuex

Vue、Vuex、Vue Routerを使ったアプリを作るチュートリアル。

Visualizing Layers in Web Inspector | WebKit

SafariのTechnology PreviewにLayer タブが追加された。 ページのレイヤー構造を可視化できるデバッグツール。 Compositionの問題やコストが高いレイヤーを見つけることができる。

BigInt: arbitrary-precision integers in JavaScript  |  Web  |  Google Developers

Chrome 67で実装されたBitIntについての解説。 Numberとは異なり任意精度の整数を扱える新しいプリミティブ値。 リテラル表現、typeofの結果、演算子での動き、BigIntとNumberでの演算はTypeErrorになる点などについて

祝Node-v10リリース これまでのNodeの振り返り // Speaker Deck

Node.js 10での変更点についてのスライド。 V8の更新。for await...ofとStreamの対応、Error.codeの変更、EventEmitter#offの追加、fs/promisesの追加、assert.strictの追加など

TypeScript playground

TypeScript playgroundツール。 公式のものに比べてTypeScriptのバージョンが選択でき、オプションも詳細に設定できるなどの違いがある。 また、入力毎に共有しやすいパーマネントURLを更新してくれる。

BundlePhobia | cost of adding a npm package

package.jsonをアップロードすると依存してるモジュールのファイルサイズ(gzip)などを一覧表示してくれるサービス

linkedin/css-blocks: High performance, maintainable stylesheets.

CSSのサブセットとして動くCSS in JSのライブラリとツール。 コンポーネントと紐付けることで、CSSのクラス名なども圧縮や不要なコードを削除などの最適化ができる

jhiesey/stream-http: Streaming node http in the browser

Fetch with streamなどを使ったStream取得HTTPライブラリ。 非対応のブラウザでは擬似的なStreamを作る

xx45/dayjs: ⏰Fast 2KB immutable date library alternative to Moment.js with the same modern API

ファイルサイズの小さな日付操作ライブラリ。 moment.jsの一部と似たAPIを持ち、Immutableなライブラリ。

Hands on Next.js by Christian Nwamba \[Leanpub PDF/iPad/Kindle\]

Next.jsについての書籍