JSer.info #340 - npm 5.2.0がリリースされました。
npm 5.2.0ではnpxというnpmのCLIパッケージの実行サポートをするコマンドが同梱されています。
今までは、npmで配布されているツールはnpm installしてから$(npm bin)/some-bin
、./node_modules/.bin/some-bin
やnpm run-scriptsに書いて実行していました。
npx
では、npx create-react-app my-cool-new-app
のようなコマンドを実行するだけで、インストールから実行までを行えます。ローカルに既にインストールされている場合はそちらのコマンドが利用されます。
また、-p
オプションでは指定したパッケージを$PATH
へ追加してから実行します。
これを利用して、特定Node.jsのバージョンをパッケージとしてインストールし、そのNode.jsを使ってコマンドを実行できます(node-bin
は*nixプラットフォームのみ対応)
npx -p node-bin@<version> node -v
詳細は次の記事で解説されています。
monorepo管理ツールのLerna 2.0.0がリリースされました。
長いRC(というよりはβ)の期間があったので、1.xからの変更は多いです。
Conventional Commitsに対応したバージョンの自動決定/CHANGELOGの生成、--canary
の対応、--hoist
の追加など色々追加されています。
また、2.0.0では--use-workspaces
で現在yarnに実装中のyarn workspace
を利用したbootstrapが行えるようになっています。yarn workspace
はyarn自体に実装中のlernaのようなプロジェクト管理のための仕組みです。
- rfcs/0000-workspaces-command.md at master · yarnpkg/rfcs
- Workspaces issue progress · Issue #3294 · yarnpkg/yarn
A Closer Look Into WebRTC | WebKitという記事ではSafari 11(またはSafari Technology Preview)に実装されているWebRTCの機能について紹介されています。
WebRTCを使ってどのようなことができるのかを簡単に紹介されているので、見てみるといいかもしれません。
ヘッドライン
Release v5.2.0 (2017-07-05) · npm/npm
github.com/npm/npm/releases/tag/v5.2.0
npm 5.2.0リリース
npx
コマンドが同梱されるようになった。npx
はnpm registryやgistに登録されているCLIツールのパッケージをコマンド一つでダウンロードから実行までを行えるツール。
また-p
オプションで特定バージョンのNode.jsでnpm scriptsなども実行できる。
npx -p node-bin@6 npm test
Release v5.1.0 · npm/npm
github.com/npm/npm/releases/tag/v5.1.0
npm v5.1.0リリース。
package-lock.json
にrequires
フィールドを追加、preferGlobal
オプションを非推奨にし警告は出さないように、npm build
を間違えて呼び出した場合に警告するように、バグ修正など
ESLint v4.2.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2017/07/eslint-v4.2.0-released
ESLint v4.2.0リリース。
linter.verifyAndFix
が関数を受け付けるように、getter-return
ルールの追加など
Release v2.0.0 · lerna/lerna
github.com/lerna/lerna/releases/tag/v2.0.0
monorepo管理ツールのlerna v2.0.0リリース。
yarn workspace
のサポート、--canary
オプションの改善など。
Release v3.1.0 · webpack/webpack
github.com/webpack/webpack/releases/tag/v3.1.0
webpack 3.1.0リリース。 cacheWithContext
オプションが追加され(デフォルトオフ)パフォーマンスの改善、設定を関数の配列として書けるようになるなど
Release v1.6.0 · babel/babel-preset-env
github.com/babel/babel-preset-env/releases/tag/v1.6.0
babel-preset-env v1.6.0リリース。
Node.js 8に対応したcompat-tableへ更新、targets
のchromeandroid
に対応など
Release JSDoc 3.5.0 · jsdoc3/jsdoc
github.com/jsdoc3/jsdoc/releases/tag/3.5.0
JSDoc 3.5.0 リリース。
semverではないので破壊的変更も含まれる。
JSDocのパースにBabylonを利用するようになり、JSXなどもサポート。
Node.js 4.2.0未満のサポート終了など
アーティクル
これからのレイアウトはGrid Layoutで決まり?特徴で使い分けたいCSSレイアウト手法 - ICS MEDIA
float、flexbox、grid layoutの使い分けについて
The WHATWG Blog — Progressing Streams
blog.whatwg.org/progressing-streams
WHATWG Streamについて。
A Closer Look Into WebRTC | WebKit
webkit.org/blog/7763/a-closer-look-into-webrtc/
Safari 11でサポートされる予定のWebRTCについての解説。
開発者向けの設定、後方互換性とadapter.js、audio-videoの送信例、Media Captureについてなど
Experimenting with the background fetch API | Phil Nash
philna.sh/blog/2017/07/04/experimenting-with-the-background-fetch-api/
ServiceWorkerのbackground-fetching APIについて。
バックグラウンドでダウンロードやファイルのアップロードを行うことを目的としたAPI
Getting started with PreactJS — A Step By Step Guide
blog.codeinfuse.com/getting-started-with-preactjs-a-step-by-step-guide-f3197f871753
preact-cliを使ったpreact入門記事。
Reactとの違いや互換性についてや、preact-cliを使ったビルドやそのファイルサイズなどについて
Node.js FoundationとNode.jsについて - 技術探し
abouthiroppy.hatenablog.jp/entry/2017/07/05/090952
Node.js Foundationを構成するワーキンググループや技術委員会についての解説。
どのようなワーキンググループがあり、どのように議論が行われているかについて
Upcoming Regular Expression Features | Web | Google Developers
developers.google.com/web/updates/2017/07/upcoming-regexp-features
現在Stage 3である正規表現の拡張Proposalの紹介記事。
Named Captures、/./s
dotAll、Unicode Property Escapes、Lookbehind Assertionsについて
スライド、動画関係
VueConf EU - YouTube
www.youtube.com/watch?v=lG0Ys-2d4MA
VueConf EUの動画
Capability of React Fiber // Speaker Deck
speakerdeck.com/koba04/capability-of-react-fiber
React Fiberについてのスライド。
Filberにおけるスタック、スケジューリング、カスタムレンダラーについてなど
Faao - ドメイン駆動設計で作るGitHub Issue Client -
azu.github.io/slide/2017/teppeis-sushi/client-side-ddd-on-github.html
クライアントサイドDDDとLiving Documentationについてのスライド。
遠回りのモデリング、妥協あり/なしのRepositoryでの永続化、ユースケース図、ドキュメントのコード化、デバッグについてなど
サイト、サービス、ドキュメント
siddharthkp/bundlesize: Keep your bundle size in check
github.com/siddharthkp/bundlesize
CIからGitHubのステータスにbundleしたファイルサイズを通知、一定サイズを超えたらエラーとすることができるツール/GitHub App
ソフトウェア、ツール、ライブラリ関係
sverweij/dependency-cruiser: Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.
github.com/sverweij/dependency-cruiser
JavaScriptコード間の依存関係グラフを元に、指定したパスから指定したパスへの参照を禁止するルールなどを設定することができる。
また循環参照や存在しないモジュールの参照などもチェックできる
kentcdodds/babel-plugin-preval: Pre-evaluate code at build-time
github.com/kentcdodds/babel-plugin-preval
Babelでコンパイル時に評価して評価結果を埋め込むことができるプラグイン
書籍関係
Amazon.com: Mastering Immutable.js eBook: Adam Boduch: Kindle Store
www.amazon.com/Mastering-Immutable-js-Adam-Boduch-ebook/dp/B073RMMCL9
2018年2月6日発売
immutable.jsについての書籍