Fork me on GitHub

2019-01-29のJS: Node.js 11.8.0(Policy機能)、Nuxt.js 2.4.0(TSサポート)、Yarn v2のロードマップ

Edit on GitHub 編集履歴を見る

JSer.info #420 - Node.jsの開発バージョンである11.8.0がリリースされました。

前回の11.7.0に引き続き新しい機能が追加されています。

11.8.0では、ブラウザのSubresource Integrityと同じようなPoliciesという機能がフラグ付きで実装されています。
Policies機能では、読み込むリソース(モジュール)のハッシュ値などを定義したポリシーファイルを事前に作成しておき、実行時にポリシーファイルと照合することで意図せず改ざんされていないかをチェックできます。

Policiesのドキュメントでは、ファイルのハッシュ値を定義するpolicy.jsonの作成方法やポリシーファイル自体を書き換えできないように運用する方法についてなどが書かれています。

また、11.8.0では今まで外部モジュールとして開発されていたnode-reportがコアに取り込まれています。
現在はフラグ付きの実装となっており、エラーが発生した際に詳細な情報をJSONで出力できます。


Vue.jsを使ったフレームワークであるNuxt.js 2.4.0がリリースされています。

2.4からバージョンのリリース方針が明確に定義されています。

  • minorは4週ごと
  • majorは6ヶ月ごと
  • majorバージョンがEOLとなるのは1年と2週間後

nuxt.js/RELEASE_PLAN.md at dev · nuxt/nuxt.js

2.4ではnuxt-tsによるTypeScriptサポートが行われています。

またstore/がHMRに対応、<nuxt-link>がviewport内のprefetchをデフォルトで行うように、binスクリプトの対応、SSR bundleのファイルサイズ改善などが行われています。


Yarn's Future - v2 and beyond · Issue #6953 · yarnpkg/yarnでは、Yarn v2で予定されている変更などのロードマップが公開されています。

lockファイルがYAMLのサブセットとなるようにフォーマット変更、PnPを新規インストール時にデフォルト化、コードベースをTypeScriptでの書き直し、プラグインのサポート、ワークスペース対応の改善、yarn constraintsの追加などが予定されています。

2月ごろにv2を新規リポジトリで公開する予定とのことです。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Announcing TypeScript 3.3 RC | TypeScript

blogs.msdn.microsoft.com/typescript/2019/01/23/announcing-typescript-3-3-rc/

TypeScript ReleaseNote

TypeScript 3.3 RCリリース。
関数呼び出しにおけるUnion Typesの扱いを改善、--build --watchでのインクリメンタルビルドを改善しビルド時間の改善など


GitLab NPM Registry | GitLab

docs.gitlab.com/ee/user/project/packages/npm_registry.html

npm webservice news

GitLab Premiumがnpm registryをサポート


Release v4.0.0 · karma-runner/karma

github.com/karma-runner/karma/releases/tag/v4.0.0

node.js testing ReleaseNote

Karma v4.0.0リリース。
コードベースでネイティブのasync/awaitを利用するために、Node 6のサポートを終了など


Release v1.0.0 · redux-saga/redux-saga

github.com/redux-saga/redux-saga/releases/tag/v1.0.0

redux library ReleaseNote

redux-saga v1.0.0リリース。
破壊的な変更としてDeprecatedなAPIを削除、APIのデフォルト値の変更やオプションの変更など。
また、babel-plugin-redux-sagaでスタックトレースの改善や不適切な使い方に対する警告表示の追加など


Release Notes for Safari Technology Preview 74 | WebKit

webkit.org/blog/8566/release-notes-for-safari-technology-preview-74/

safari ReleaseNote

Safari Technology Preview 74リリース。
Fetch APIでabortするためのAbortControllerのサポート、Visual Viewport APIの有効化、U2F HID Authenticationのサポートなど


Yarn's Future - v2 and beyond · Issue #6953 · yarnpkg/yarn

github.com/yarnpkg/yarn/issues/6953

yarn issue news

Yarn 2.0のロードマップについて。
lockファイルのフォーマット変更、PnPを新規インストール時にデフォルト化、コードベースをTypeScriptでの書き直し、プラグインのサポート、ワークスペース対応の改善、yarn constraintsの追加など


Node v11.8.0 (Current) | Node.js

nodejs.org/en/blog/release/v11.8.0/

node.js ReleaseNote

Node.js 11.8.0リリース。
Subresource IntegrityのようなPolicy機能が試験的に実装、node-reportモジュールを本体に取り込みprocess.reportを試験的に実装など


Jest 24: 💅 Refreshing, Polished, TypeScript-friendly · Jest

jestjs.io/blog/2019/01/25/jest-24-refreshing-polished-typescript-friendly

JavaScript testing ReleaseNote

Jest 24リリース。
@babel/preset-typescriptを使ってTypeScriptをサポート、test.todoの追加、エラー表示の改善など


Introducing Ionic 4: Ionic for Everyone | The Ionic Blog

blog.ionicframework.com/introducing-ionic-4-ionic-for-everyone/

Angular Vue React library ReleaseNote

Ionic 4リリース。
Angular以外のフレームワークとしてReactとVueをサポート


Release 1.2.0 · avajs/ava

github.com/avajs/ava/releases/tag/v1.2.0

JavaScript testing ReleaseNote

AVA 1.2.0リリース。
テストケースごとにtimeoutを設定できるようになるなど


Release v2.4.0 · nuxt/nuxt.js

github.com/nuxt/nuxt.js/releases/tag/v2.4.0

Vue library ReleaseNote node.js

Nuxt.js 2.4.0リリース。
minor、major、EOLなどのリリース方針の決定。
nuxt-tsによるTypeScriptサポート、<nuxt-link>がviewport内のprefetchをデフォルトで行うように、binスクリプトの対応など


github.com/webpack/webpack/issues/8656

webpack npm issue

webpack 4.29.0 + npmでimport()が失敗する問題について。
npmがacorn + acorn-dynamic-importのpeerDependencyの関係を無視したhoistを行うバグにより、import()がパースできなくなる。yarnでは発生していない、npmに修正のPull Requestがでている。


アーティクル


What's New In DevTools (Chrome 73)  |  Web  |  Google Developers

developers.google.com/web/updates/2019/01/devtools

Chrome debug article

Chrome 73のDevToolsの更新点について。
Logpointsの追加、コードカバレッジをJSONとして出力できるように、コンソールパネルでキーボードナビゲーションに対応、Geolocationを設定できるようになるなど。
またWebSocketsの"Frames"を"Messages"にリネームなど


lernaでのmonorepoにおけるリリースフロー(Fixed/Independent) | Web Scratch

efcl.info/2019/01/26/monorepo-release-flow/

JavaScript monorepo article

lernaを使ったmonorepoにおけるパッケージのリリースフローについて。
lernaのmode(Fixed/Independent)のち外、monorepoでのpublishまでの流れ、Yarn Workspacesなどの利用についてなど


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


ericclemmons/polydev: Faster, route-centric development for Node.js apps with built-in Hot Module Replacement.

github.com/ericclemmons/polydev

node.js library Development yarn

Next.jsのようなディレクトリとルーティングの対応構造をもつNode.jsフレームワーク。
リクエストがくるまで必要ないPartは読み込まない、HMRに対応してファイルの変更をすぐに反映するなどイテレーションのしやすさを目的に作られている


nuxt.js/RELEASE_PLAN.md at dev · nuxt/nuxt.js

github.com/nuxt/nuxt.js/blob/dev/RELEASE_PLAN.md

Vue library document

Nuxt.jsのリリース方針について。
minorは4週ごと、majorは6ヶ月ごと、各majorバージョンにセキュリティアップデートがでなくなりEOLとなるのは1年と2週間後となる。


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


LiquidPlayer/LiquidCore: Node.js virtual machine for Android and iOS

github.com/LiquidPlayer/LiquidCore

node.js ios Android library

AndroidとiOSアプリでNode.jsライムタイムを動かすライブラリ。
iOS向けにはV82JSC(JavaScript Core)のレイヤーを実装している


reduxjs/redux-starter-kit: A simple set of tools to make using Redux easier

github.com/reduxjs/redux-starter-kit

redux JavaScript library

Redux上に作られたフレームワーク。
boilerplate codeを減らし、Reduxにおける一般的なユースケースをサポートするが目的。
immerを組み込んだReducerやActionの作成、selectorのサポートなど。


egoist/import-http: Import modules from URL instead of local node_modules

github.com/egoist/import-http

webpack JavaScript plugin module

ブラウザやdenoのようにmoduleをimport m from "https://"のように指定するためのwebpack, rollupプラグイン。
モジュールのダウンロード、キャッシュ、import先の書き換えを行う。


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