JSer.info #335 - Safari 11.0のリリースノートが公開されました。
JavaScript周りでは、WebRTC、WebAssembly、Media Capture API、WebCrypto APIのアルゴリズム追加、Resource timing APIのサポート。CSS周りではVariable fonts、CSS strokeのサポートが行われています。
また、Mobile SafariやChrome for Androidで導入されていた、MediaElementの自動再生制限がmacOSのSafariにも導入されています。
Safari 11.0はまだリリースされていませんが、Safari Technology Preview 32がほぼ同等となるようです。
Opinionatedなコード整形ツールであるPrettier 1.4.0がリリースされました。
1.4.0ではTypeScript、PostCSS(CSS、Less、SCSS)の整形をサポートしています。
また、エディタ向けのAPIとしてcursorOffset
オプションが追加されています。
試しにやってみたTypeScript(TSX)とCSSの整形例は次でみることができます。
ESLint 4.0.0がリリースされました。
eslint:recommended
の変更やindent
ルールの作り直し、space-before-function-paren
など一部ルールのデフォルト値の変更、設定ファイルのチェックがより厳密になっています。
3.xから4.0.0へのマイグレーションガイドは次のページで公開されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v3.0.0-rc.0 · webpack/webpack
github.com/webpack/webpack/releases/tag/v3.0.0-rc.0
webpack 3.0.0 RC0リリース。
RollupのようなScope Hoisting(inlining)を行うプラグインの追加、output.libraryExport
のサポート、node: false
でnode関係はまとめて無効化できるようになるなど
Safari 11.0
Safari 11.0 (プレ)リリース。
WebRTC、WebAssermbly、Media Capture API、WebCrypto APIのアルゴリズム追加、Resource timing APIのサポート。
CSSではVariable fonts、CSS strokeのサポート。
ホームスクリーンアプリでWebKitの機能をサポート、追跡Cookieの削除/隔離など
Release 1.4.0: TypeScript and CSS support · prettier/prettier
github.com/prettier/prettier/releases/tag/1.4.0
prettier 1.4.0リリース。
TypeScript(.ts
と.tsx
)、CSS、Less、SCSSをサポート。
エディタ向けにcursorOffset
を追加、整形周りの細かい修正など
Release Release v1.0.0 · yahoo/pure
github.com/yahoo/pure/releases/tag/v1.0.0
PureCSS 1.0.0リリース。
互換性はあるので1.0.0へバージョンを上げただけの変更
Microsoft Edge build 16215 changelog - Microsoft Edge Development
developer.microsoft.com/en-us/microsoft-edge/platform/changelog/desktop/16215/
Windows 10 build 16215/MSEdgeリリース。
Shared Memory、Passive Event、object-fit
、position: sticky
、object-position
のサポートなど
V8 JavaScript Engine: V8 Release 6.0
v8project.blogspot.com/2017/06/v8-release-60.html
V8 6.0リリース。
SharedArrayBuffer、Object rest/spread properties、パフォーマンス改善など
ESLint v4.0.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2017/06/eslint-v4.0.0-released
ESLint 4.0.0リリース。
eslint:recommended
の更新、設定ファイルの厳密化、indent
ルールなどの挙動変更、ルール向けのAPI変更など
Safari Technology Preview 32, with WebRTC, is Now Available | WebKit
webkit.org/blog/7627/safari-technology-preview-32/
Safari Technology Preview Release 32リリース。
Safari 11相当でWebRTC、WebAssemblyなどのサポート
esprima/ChangeLog at 4.0.0 · jquery/esprima
github.com/jquery/esprima/blob/4.0.0/ChangeLog
Esprima 4.0.0リリース。
ES2017 async/await、関数引数の末尾カンマのサポート、仕様の追従など
アーティクル
Node.js 8: `util.promisify()`
2ality.com/2017/05/util-promisify.html
Node.js 8.0.0で追加されたutil.promisify
についての解説。
基本的なPromiseへの変換方法、symbol util.promisify
のsymbolを使ったutil.promisify
対応の関数定義についてなど
WebAssembly 101: a developer's first steps
blog.openbloc.fr/webassembly-first-steps/
WebAssembly入門。
JavaScriptとの連携方法やベンチマークについてを簡潔に解説
React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント (1/3) - @IT
www.atmarkit.co.jp/ait/articles/1706/08/news011.html
Reactのサーバサイドレンダリングのパフォーマンス・チューニングについて
Deprecations and Removals in Chrome 60 | Web | Google Developers
developers.google.com/web/updates/2017/06/chrome-60-deprecations
Chrome 60で非推奨、削除されるAPIについて。
piotrwitek/react-redux-typescript-guide: A comprehensive guide to static typing "React & Redux" apps using TypeScript
github.com/piotrwitek/react-redux-typescript-guide
React、ReduxをTypeScriptで書く際のガイド
Javascript unit testing tools
mo.github.io/2017/06/05/javascript-unit-testing.html
JavaScriptのテストツールの比較。
それぞれのツールの簡単な比較とアクティビティについて。
利用者はMocha > Karma > Jasmineだが、Jestがアクティブに開発されてる様子がでている
Introduction to Storybook – Chroma
blog.hichroma.com/introduction-to-storybook-5aca8cc643f7
Reactコンポーネントの開発環境であるStorybookの入門記事
Auto-Play Policy Changes for macOS | WebKit
webkit.org/blog/7734/auto-play-policy-changes-for-macos/
Mac Safariもmobile safariなどと同様にMediaElementの自動再生がユーザー起因でないといけなくする変更。
play()がPromiseを返し、失敗の場合はrejectされる。 Video/Audio/サイト毎に許可が決まるので、複数の要素を作るのではなく一つのsrcを変更して使うことを推奨してる。
サイト、サービス、ドキュメント
Upgrading from Node 6 to Node 8: a real-world performance comparison
hackernoon.com/upgrading-from-node-6-to-node-8-a-real-world-performance-comparison-3dfe1fbc92a3
Node.js v6とv8のパフォーマンスを比較した記事。
ReactのrenderToString
、Jestの実行時間、webpackのビルド時間、npmのインストール時間などで比較している
ソフトウェア、ツール、ライブラリ関係
kt3k/kocha: Modern, simpler Mocha clone, no globals, lint friendly
Mochaと互換APIを持つテストフレームワーク。
Mochaではグローバルに定義されているdescribe
などがモジュールからrequire
して利用できる。
florinn/typemoq: A simple mocking library for TypeScript
C#のmoqのTypeScript/JavaScript版。
モックライブラリ