JSer.info #388 - bundlerであるParcel v1.9.0がリリースされました。
- 📦 Parcel v1.9.0 — Tree Shaking, 2x faster watcher, and more! 🚀
- parcel/changelog.md at master · parcel-bundler/parcel
今までParcelにはwebpackやrollupのようなTree Shakingが実装されていませんでしたが、Parcel v1.9.0では--experimental-scope-hoisting
のフラグ付きでTree Shakingが実装されています。
これによってbundle後のファイルサイズが小さくなるように改善されています。
またファイル監視の仕組みをBackground workerに移動させるなどして速度の改善、Sassなどで~/tilde
のようなチルダを使ったimportに対応などが行われています。
Headless ChromeのHigh Level APIライブラリであるPuppeteer 1.5.0がリリースされました。
Browser Contexts APIが追加され複数の独立したブラウザセッションを扱えるようになっています。またWorker
クラスの追加などが行われています。
公式サイトがGoogleのもつgTLDである.devへ移行しています。
Using JavaScript modules on the web | Web Fundamentals | Google Developersという記事ではJavaScript modules(ES modules)の現状やChromeでの今後の実装について書かれています。
ブラウザでのscriptとmoduleの挙動の違い、Dynamic importとimport.meta
についてといった挙動について。
bundleした場合とのそのままJavaScript modulesとしてロードしたときのパフォーマンスの差、小さくexportしたモジュールの方がキャッシュやツールにおいて有利な点やHTTP/2とPreloadについて。
また、Chromeで検討が進められているWeb Packaging、Layered API、Workerとの連携などJavaScript modulesに関係する仕様や実装についても書かれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
📦 Parcel v1.9.0 — Tree Shaking, 2x faster watcher, and more! 🚀
medium.com/@devongovett/parcel-v1-9-0-tree-shaking-2x-faster-watcher-and-more-87f2e1a70f79
Parcel v1.9.0リリース。
Tree Shakingの実装、sideEffects
のサポート、ファイル監視の改善、Sassの~/
importのサポートなど
Release v1.5.0 · GoogleChrome/puppeteer
github.com/GoogleChrome/puppeteer/releases/tag/v1.5.0
Puppeteer v1.5.0リリース。
BrowserContext
が追加され複数の独立したブラウザセッションを扱えるように、Worker
クラスの追加、公式サイトがpptr.dev
となるなど
Announcing: Greenkeeper 3 – Greenkeeper Blog
blog.greenkeeper.io/announcing-greenkeeper-3-1504f5113998
依存パッケージの管理サービスであるGreenkeeper 3リリース。
monorepoのサポート、greenkeeper.json
の設定ファイルをサポート、コミットメッセージのカスタマイズができるようになるなど
アーティクル
素のJavaScriptプロジェクトにtsconfig.jsonを置いといてVSCodeの便利さを享受する - Qiita
qiita.com/terrierscript/items/a9826bc58d550d1b2764
TypeScritptをJavaScript/JSDocの型チェックツールとして利用する方法について
Keeping Node.js Fast: Tools, Techniques, And Tips For Making High-Performance Node.js Servers — Smashing Magazine
www.smashingmagazine.com/2018/06/nodejs-tools-techniques-performance-servers/
Node.jsサーバのautocannon
を使ったベンチマーク、パフォーマンスのボトルネック調査、メモリリークの調査や改善などについて
Detecting autofilled fields in Javascript – Tommy Brunn – Medium
medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7
フォームのautofillを検知する方法について。
autofillにCSS animationをつけて、animtaionstart
で発生を検知する方法について
🚀 Introducing Akita: A New State Management Pattern for Angular Applications
netbasal.com/introducing-akita-a-new-state-management-pattern-for-angular-applications-f2f0fab5a8
Angular向けのステート管理ライブラリであるAkitaについての記事。
JavaScript engine fundamentals: Shapes and Inline Caches · Mathias Bynens
mathiasbynens.be/notes/shapes-ics
JavaScriptエンジンがどのようにJavaScriptのコードを処理しているかについての解説。
それぞれのブラウザがもつJavaScript VMにおける最適化のパイプライン処理について
Node.jsでつくるNode.js - もくじ - Qiita
qiita.com/massie_g/items/3ee11c105b4458686bc1
JavaScriptでJavaScriptのサブセットを作る話。
「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」のNode.jsでの実装について。
Understanding the Almighty Reducer | CSS-Tricks
css-tricks.com/understanding-the-almighty-reducer/
Array.prototype.reduce
についての記事。
reduce
メソッドの動作イメージや、動きについて動画を混じえて解説している。
Using JavaScript modules on the web | Web Fundamentals | Google Developers
developers.google.com/web/fundamentals/primers/modules
JavaScriptモジュールの挙動や実装についての記事。
ブラウザでのscriptとmoduleの挙動の違い、Dynamic importとimport.meta
について。
また、bundleした場合とのパフォーマンスの差や小さくexportしたモジュールの方が有利な点やHTTP/2とPreload。
Chromeで検討が進められてるWeb Packaging、Layered API、Workerとの連携などについて
基礎からはじめるReact入門連載一覧:CodeZine(コードジン)
codezine.jp/article/corner/688
React入門に関する連載記事。
Reactの基礎からRedux、Storybookなど外部ライブラリなどについて扱っている
Isomorphic ES Modules - The blog of Ada Rose Cannon
ada.is/blog/2018/06/15/isomorphic-es-modules/
ES module形式で配布されているHyperHTMLを使ってブラウザとNode.jsで同じライブラリをそのままimport
してウェブアプリを作成する話。
ソフトウェア、ツール、ライブラリ関係
Netflix/pollyjs: Record, Replay, and Stub HTTP Interactions.
HTTPリクエスト/レスポンスの記録、再生を行うJavaScriptライブラリとNode.jsサーバ。
またHTTPリクエストのインターセプトして任意のレスポンスを返せる。
snipsco/yett: 🔐A small webpage library to control the execution of (third party) scripts
JavaScriptの読み込みをブラックリストで管理するライブラリ。
MutationObserver
やdocument.create
をhookし、指定URLのJavaScriptを読み込みをブロックできる。
ecrmnn/collect.js: 💎 Convenient and dependency free wrapper for working with arrays and objects
配列やオブジェクトに対するユーティリティ関数のライブラリ。
Laravelが持つCollectionsをJavaScriptにportしたもの
書籍関係
スラスラ読める JavaScriptふりがなプログラミング | 及川卓也, リブロワークス | 工学 | Kindleストア | Amazon
www.amazon.co.jp/dp/B07DR76HSG/
2018年6月22日発売
JavaScriptのコードにルビでふりがなをつけて解説する書籍。