JSer.info #413 - gulp 4.0が正式にリリースされました。
今まではプレリリース扱いだったのでnpm install gulp@next
でないとインストールされませんでしたが、現在はnpm install gulp
で4.0がインストールされるようになっています。
gulp.series
、gulp.parallel
、gulp.lastRun
、gulp.symlink
などのAPIが追加されています。
sourcemapsのビルトインサポート、gulpfileからのmodule exportをタスクとして扱えるようなっています。
または破壊的な変更として、gulp
とgulp-cli
の分離、gulp.task
やgulp.watch
の引数の変更などが行われています。
3.xからの公式なマイグレーションガイドはまだありませんが、すでにいくつか記事が書かれているのでそれらを見てみるとよいかもしれません。
- [Docs] Migration Guide · Issue #861 · gulpjs/gulp
- gulp v4.0.0がプレリリース! 移行方法と変更点まとめ - satoyan419.com
- How do I update to Gulp 4? - Liquid Light
- The Complete-Ish Guide to Upgrading to Gulp 4 | Joe Zim's JavaScript Corner
Microsoftは、Microsoft Edge(MSEdge)をChromiumベースへと移行することを発表しました。
現在のMSEdgeはレンダリングエンジンであるEdgeHTMLとJavaScriptエンジンであるChakraCoreを利用しています。
これをChromiumのレンダリングエンジンであるBlinkとJavaScriptエンジンであるV8へ移行することを表明しています。
- Microsoft Edge: Making the web better through more open source collaboration - Windows Experience BlogWindows Experience Blog
- MicrosoftEdge/MSEdge: Microsoft Edge
- MicrosoftEdge/MSEdgeExplainers: Home for explainer documents originated by the Microsoft Edge team
MSEdgeというブラウザ自体(ブランド)は維持されますが、中身がChromeと同じChromiumベースへ移行されます。
この移行によってWindows7, 8を含めたすべてのサポートバージョンのWindowsとmacOSなどの他のプラットフォームをサポートする予定です。
新しいMSEdgeはChakraCoreを利用しない予定ですが、ChakraCore自体はブラウザ以外でも利用されているためサポートを継続するとの発表もしています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
New in Chrome 71 | Web | Google Developers
developers.google.com/web/updates/2018/12/nic71
Chrome 71の変更点について。
Intl.RelativeTimeFormat()
のサポート、text-underline-position
のサポート。
Fetch APIのcredentials-modeのデフォルト値がomit
からsame-origin
へと変更など
7.2.0 Released: Private Instance Methods · Babel
babeljs.io/blog/2018/12/03/7.2.0.html
Babel 7.2.0リリース。
Private methods proposalのサポート、pipeline operator proposalのパースをサポート、replで変換過程を見られるタイムトラベルをサポートなど
Release Notes for Safari Technology Preview 71 | WebKit
webkit.org/blog/8517/release-notes-for-safari-technology-preview-71/
Safari Technology Preview 71リリース。
supported-color-schemes
のサポート、Intersection Observerの有効化、Web Authenticationの試験的サポートなど
Release 8.4.0 · developit/preact
github.com/developit/preact/releases/tag/8.4.0
Preact 8.4.0リリース。
TypeScriptの型定義を改善、パフォーマンスの改善など。
また次期メジャーバージョンのPreact Xについて書かれている
Microsoft Edge: Making the web better through more open source collaboration - Windows Experience BlogWindows Experience Blog
デスクトップMSEdgeはChromiumベース(Blink+V8)に移行し、すべてのWindowsバージョンやmacOS向けなどへ提供予定。
JavaScriptエンジンのChakraCoreはEdge以外の利用のためサポートを続ける。
- MicrosoftEdge/MSEdge: Microsoft Edge
- Chromium adoption in Microsoft Edge and future of ChakraCore · Issue #5865 · Microsoft/ChakraCore
- MicrosoftEdge/MSEdgeExplainers: Home for explainer documents originated by the Microsoft Edge team
puppeteer/experimental/puppeteer-firefox at master · GoogleChrome/puppeteer
github.com/GoogleChrome/puppeteer/tree/master/experimental/puppeteer-firefox
PuppeteerのFirefox版
Google Developers Blog: Flutter 1.0: Google’s Portable UI Toolkit
developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html
Flutter 1.0リリース。
Hummingbirdというウェブ向けの出力対応予定について
Processing.js 2008-2018
blog.humphd.org/processing-js-2008/
メンテンナンスモードであったProcessing.jsのリポジトリがアーカイブ化された。
またProcessing.jsの歴史について。後継ライブラリとしてはp5jsが開発されている。
Release v0.88.0 · facebook/flow
github.com/facebook/flow/releases/tag/v0.88.0
Flow 0.88.0リリース。
Function
とObject
をany
のaliasとして扱うように。
flow start --lazy-mode watchman
の追加、flow config check
コマンドの追加など
ESLint v5.10.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2018/12/eslint-v5.10.0-released
ESLint 5.10.0リリース。
padding-line-between-statements
にオプションの追加、
JSDoc関係のルールであるrequire-jsdoc
とvalid-jsdoc
が非推奨になるなど
🎉 Version 4.0 Now Default 🎉 – gulpjs – Medium
medium.com/gulpjs/version-4-now-default-92c6cd4beb45
gulp 4.0が正式リリース。
gulp.series
とgulp.parallel
を追加。
sourcemapsのビルトインサポート、gulpfileからのexportをタスクとして扱えるように、gulp
とgulp-cli
の分離など
アーティクル
jQueryへの依存を外す方法 - dely engineering blog
tech.dely.jp/entry/2018/12/08/160000
jQueryの依存を外すまでのフローについて。
polyfill.io の利用、CoffeeScriptからTypeScriptへの移行。
jQueryをVanillaJS + polyfillで動くように書き直し、BackstopJSでビジュアルリグレッションテストする方法について。
Node.js Everywhere with Environment Variables! – Node.js Collection – Medium
Node.jsでの環境変数の使い方、.env
を使った環境変数の定義と読み込み方法についてなど
Yahoo! JAPANでの生体認証の取り組み(FIDO2サーバーの仕組みについて) - Yahoo! JAPAN Tech Blog
techblog.yahoo.co.jp/advent-calendar-2018/webauthn/
WebAuthn(Web Authentication)を使った生体認証でのログインフローについての解説
ヤフー株式会社におけるWebフロントエンドの技術選定 - Yahoo! JAPAN Tech Blog
techblog.yahoo.co.jp/advent-calendar-2018/yahoo-frontend/
ヤフー株式会社における各サービスごとのフロントエンドに利用しているフレームワークやライブラリなどについて。
それぞれの技術を選定した理由などについてもまとめられている。
Performance Calendar » data-s(h)aver strategies
calendar.perfplanet.com/2018/data-shaver-strategies/
ブラウザのデータセーバーが有効かを判定し、それに対してどのようなコンテンツを返すかについて。
コンテンツ数の削減、自動再生の防止、解像度の低い画像の配信、データセーバーが有効になっていることの通知などについて
サイト、サービス、ドキュメント
Compare HAR files
HARファイル同士を比較できるウェブサービス。
それぞれのリソースロードのタイムライン比較、動画、ファイルサイズのDiffなどを出してくれる
ソフトウェア、ツール、ライブラリ関係
rowanmanning/proclaim: A simple assertion library for server and client side JavaScript.
github.com/rowanmanning/proclaim
古いブラウザや古いNode.jsでも動作するように書かれたassert系ライブラリ。
chaiのようにassertの拡張メソッドも実装されている