|
| 1 | +--- |
| 2 | +title: "2019-09-17のJS: Chrome 77、TypeScript 3.7のロードマップ、Can I use and MDN" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date : 2019-09-17T00:03:38.654Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- Chrome |
| 9 | +- TypeScript |
| 10 | +- MDN |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +JSer.info #453 - Chrome 77がリリースされました。 |
| 15 | + |
| 16 | +- [New in Chrome 77 | Web | Google Developers](https://developers.google.com/web/updates/2019/09/nic77) |
| 17 | + |
| 18 | +Chrome 77では、`PerformanceObserver`の中でページ内の大きな要素の変更があったことを関しするLargest Contentful Paint(LCP)がサポートされました。 |
| 19 | + |
| 20 | +- [Largest Contentful Paint | web.dev](https://web.dev/largest-contentful-paint/) |
| 21 | + |
| 22 | +その他にも`formdata`イベント、`formAssociated`プロパティのサポートなどが含まれています。 |
| 23 | +また、アドレスバーに表示されていたEV証明書の情報が詳細パネルの方に移動しています。 |
| 24 | + |
| 25 | +- [Troy Hunt: Extended Validation Certificates are (Really, Really) Dead](https://www.troyhunt.com/extended-validation-certificates-are-really-really-dead/) |
| 26 | +- [Upcoming Change to Chrome's Identity Indicators - Google グループ](https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/h1bTcoTpfeI/jUTk1z7VAAAJ) |
| 27 | + |
| 28 | +---- |
| 29 | + |
| 30 | +[TypeScript 3.7 Iteration Plan · Issue #33352 · microsoft/TypeScript](https://github.com/microsoft/TypeScript/issues/33352)というIssueでTypeScript 3.7のロードマップが公開されています。 |
| 31 | + |
| 32 | +ECMAScript Private Fields、Optional Chaining、Nullish Coalescing、Top-Level awaitなど現在Stage3のProposalに対応していく予定です。 |
| 33 | +また、今までは制限されていた`--declaration`と`--allowJs`の組合せや`--declaration`と`--isolatedModules`のの組み合わせに対応していく予定です。 |
| 34 | +その他として、`typescript`パッケージサイズの削減、`@types`パッケージをGitHub Package Registryにもpublishするようにし、ハンドブックの更新なども予定されています。 |
| 35 | + |
| 36 | +---- |
| 37 | + |
| 38 | +[Caniuse and MDN compatibility data collaboration - Mozilla Hacks - the Web developer blog](https://hacks.mozilla.org/2019/09/caniuse-and-mdn-compat-data-collaboration/)という記事では、[MDN compat data](https://github.com/mdn/browser-compat-data)と[Can I use...](https://caniuse.com/)のコラボレーションについて書かれています。 |
| 39 | + |
| 40 | +どちらも機能などに対するブラウザのサポート状況をまとめたデータですが、目的が異なるためデータの特性が若干異なっています。 |
| 41 | +MDNはあらゆる機能に関する網羅性を持ったデータに対して、Can I use...はブラウザがサポートしているかに注目したデータとなっています。 |
| 42 | +そのため、Can I use...のデータには入っていない項目も多くありました。 |
| 43 | + |
| 44 | +今回のコラボレーションで、[Can I use...](https://caniuse.com/)が[MDN compat data](https://github.com/mdn/browser-compat-data)のデータを使って機能に関するブラウザのサポート状況を表示できるようになっています。(現在は両方のデータを検索した結果がそれぞれ表示される) |
| 45 | + |
| 46 | +また、類似するサイトとしてメールクライアント別に利用できるHTMLやCSSなどのサポート状況をまとめたCan I email...というサイトも別の作者によって公開されています。 |
| 47 | + |
| 48 | +- [Can I email… Support tables for HTML and CSS in emails](https://www.caniemail.com/) |
| 49 | + |
| 50 | +---- |
| 51 | + |
| 52 | +<h1 class="site-genre">ヘッドライン</h1> |
| 53 | + |
| 54 | +---- |
| 55 | + |
| 56 | +## TypeScript 3.7 Iteration Plan · Issue #33352 · microsoft/TypeScript |
| 57 | +[github.com/microsoft/TypeScript/issues/33352](https://github.com/microsoft/TypeScript/issues/33352 "TypeScript 3.7 Iteration Plan · Issue #33352 · microsoft/TypeScript") |
| 58 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">issue</span></p> |
| 59 | + |
| 60 | +TypeScript 3.7のロードマップ。 |
| 61 | +ECMAScript Private Fields、Optional Chaining、Nullish Coalescingへの対応、`--declaration`と`--allowJs`の組合せに対応など。 |
| 62 | +また`typescript`パッケージサイズの削減、`@types`パッケージをGitHub Package Registryにもpublishするようにし、ハンドブックの更新なども予定されている。 |
| 63 | + |
| 64 | + |
| 65 | +---- |
| 66 | + |
| 67 | +## Release DOMPurify 2.0.0 · cure53/DOMPurify |
| 68 | +[github.com/cure53/DOMPurify/releases/tag/2.0.0](https://github.com/cure53/DOMPurify/releases/tag/2.0.0 "Release DOMPurify 2.0.0 · cure53/DOMPurify") |
| 69 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">DOM</span> <span class="jser-tag">security</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 70 | + |
| 71 | +DOMpurify 2.0.0リリース。 |
| 72 | +Trusted Typesが利用できる場合でも`RETURN_TRUSTED_TYPE`オプションを渡したときのみ、Trusted Typesを使うように変更 |
| 73 | + |
| 74 | + |
| 75 | +---- |
| 76 | + |
| 77 | +## Google Developers Blog: Flutter news from GDD China: uniting Flutter on web and mobile, and introducing Flutter 1.9 |
| 78 | +[developers.googleblog.com/2019/09/flutter-news-from-gdd-china-flutter1.9.html?m=1](https://developers.googleblog.com/2019/09/flutter-news-from-gdd-china-flutter1.9.html?m=1 "Google Developers Blog: Flutter news from GDD China: uniting Flutter on web and mobile, and introducing Flutter 1.9") |
| 79 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Flutter</span> <span class="jser-tag">ReleaseNote</span></p> |
| 80 | + |
| 81 | +Flutter 1.9 リリース。 |
| 82 | +Webサポートがメインリポジトリにマージされた。 |
| 83 | + |
| 84 | + |
| 85 | +---- |
| 86 | + |
| 87 | +## ESLint v6.4.0 released - ESLint - Pluggable JavaScript linter |
| 88 | +[eslint.org/blog/2019/09/eslint-v6.4.0-released](https://eslint.org/blog/2019/09/eslint-v6.4.0-released "ESLint v6.4.0 released - ESLint - Pluggable JavaScript linter") |
| 89 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">ReleaseNote</span></p> |
| 90 | + |
| 91 | +ESLint 6.4.0リリース。 |
| 92 | +`no-import-assign`、`prefer-regex-literals`、`default-param-last`のルールを追加。 |
| 93 | +一部ルールが`enforceForClassMembers`オプションでクラス構文をサポートするようになるなど |
| 94 | + |
| 95 | +- [ESLint v6.4.0 - Qiita](https://qiita.com/mysticatea/items/4164b162fb37dcc443a1 "ESLint v6.4.0 - Qiita") |
| 96 | + |
| 97 | +---- |
| 98 | + |
| 99 | +## Release v4.0.0 · immerjs/immer |
| 100 | +[github.com/immerjs/immer/releases/tag/v4.0.0](https://github.com/immerjs/immer/releases/tag/v4.0.0 "Release v4.0.0 · immerjs/immer") |
| 101 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 102 | + |
| 103 | +Immer 4.0.0リリース。 |
| 104 | +development modeでは、すべての値はdeep frozenされた状態で保存されるようになった。 |
| 105 | +またウェブサイトのドキュメント更新など |
| 106 | + |
| 107 | +- [Introduction to Immer · Immer](https://immerjs.github.io/immer/docs/introduction "Introduction to Immer · Immer") |
| 108 | + |
| 109 | +---- |
| 110 | + |
| 111 | +## Release 2.4.0 · avajs/ava |
| 112 | +[github.com/avajs/ava/releases/tag/v2.4.0](https://github.com/avajs/ava/releases/tag/v2.4.0 "Release 2.4.0 · avajs/ava") |
| 113 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">testing</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 114 | + |
| 115 | +AVA 2.4.0リリース。 |
| 116 | +`t.try()`をフラグ付きでサポートなど |
| 117 | + |
| 118 | + |
| 119 | +---- |
| 120 | +<h1 class="site-genre">アーティクル</h1> |
| 121 | + |
| 122 | +---- |
| 123 | + |
| 124 | +## How to build a plugin system on the web and also sleep well at night |
| 125 | +[www.figma.com/blog/how-we-built-the-figma-plugin-system/](https://www.figma.com/blog/how-we-built-the-figma-plugin-system/ "How to build a plugin system on the web and also sleep well at night") |
| 126 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">security</span> <span class="jser-tag">article</span> <span class="jser-tag">plugin</span></p> |
| 127 | + |
| 128 | +プラグインとして追加されるサードパーティコードを安全にウェブブラウザで実行するための仕組みについて。 |
| 129 | +`<inline-iframe>`、JavaScriptインタプリタの利用、ProposalのRealms(shim)を使ったサンドボックスについて |
| 130 | + |
| 131 | +- [tc39/proposal-realms: ECMAScript Proposal, specs, and reference implementation for Realms](https://github.com/tc39/proposal-realms "tc39/proposal-realms: ECMAScript Proposal, specs, and reference implementation for Realms") |
| 132 | +- [Agoric/realms-shim: Spec-compliant shim for Realms TC39 Proposal](https://github.com/Agoric/realms-shim "Agoric/realms-shim: Spec-compliant shim for Realms TC39 Proposal") |
| 133 | + |
| 134 | +---- |
| 135 | + |
| 136 | +## Caniuse and MDN compatibility data collaboration - Mozilla Hacks - the Web developer blog |
| 137 | +[hacks.mozilla.org/2019/09/caniuse-and-mdn-compat-data-collaboration/](https://hacks.mozilla.org/2019/09/caniuse-and-mdn-compat-data-collaboration/ "Caniuse and MDN compatibility data collaboration - Mozilla Hacks - the Web developer blog") |
| 138 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebPlatformAPI</span> <span class="jser-tag">article</span></p> |
| 139 | + |
| 140 | +MDN Compat DataをCan I Useのウェブサイトにマージ。 |
| 141 | +Can I Use上でMDNのデータを元にした機能やサポートブラウザが見られるようになった。 |
| 142 | + |
| 143 | + |
| 144 | +---- |
| 145 | + |
| 146 | +## A lighter V8 · V8 |
| 147 | +[v8.dev/blog/v8-lite](https://v8.dev/blog/v8-lite "A lighter V8 · V8") |
| 148 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">V8</span> <span class="jser-tag">article</span></p> |
| 149 | + |
| 150 | +V8のLite modeについて。 |
| 151 | +メモリが少ないデバイス向けのモードで、消費メモリの削減を目的としている。 |
| 152 | + |
| 153 | + |
| 154 | +---- |
| 155 | + |
| 156 | +## WebGPU and WSL in Safari | WebKit |
| 157 | +[webkit.org/blog/9528/webgpu-and-wsl-in-safari/](https://webkit.org/blog/9528/webgpu-and-wsl-in-safari/ "WebGPU and WSL in Safari | WebKit") |
| 158 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">article</span></p> |
| 159 | + |
| 160 | +Safari Technology Preview 91からベータサポートされているWebGPU APIとWSLについて。 |
| 161 | +WebGPUのパイプライン処理の最適化、ランタイムのパフォーマンス、Web Shading Language(WSL)について紹介されている |
| 162 | + |
| 163 | + |
| 164 | +---- |
| 165 | + |
| 166 | +## X3D: Declarative 3D for the Modern Web |
| 167 | +[blog.scottlogic.com/2019/08/27/declarative-3d-for-the-modern-web.html](https://blog.scottlogic.com/2019/08/27/declarative-3d-for-the-modern-web.html "X3D: Declarative 3D for the Modern Web") |
| 168 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">3D</span> <span class="jser-tag">HTML</span> <span class="jser-tag">article</span> <span class="jser-tag">JavaScript</span></p> |
| 169 | + |
| 170 | +宣言的な3D表現を行うX3Dという仕様とX3DOMという実装について。 |
| 171 | +SVGのようにHTML中にタグを書くことで3D表示を行う |
| 172 | + |
| 173 | + |
| 174 | +---- |
| 175 | + |
| 176 | +## New in Chrome 77 | Web | Google Developers |
| 177 | +[developers.google.com/web/updates/2019/09/nic77](https://developers.google.com/web/updates/2019/09/nic77 "New in Chrome 77 | Web | Google Developers") |
| 178 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">ReleaseNote</span></p> |
| 179 | + |
| 180 | +Chrome 77リリース。 |
| 181 | +Largest Contentful Paint(LCP)、`formdata`イベント、`formAssociated`プロパティのサポートなど |
| 182 | + |
| 183 | +- [More capable form controls | web.dev](https://web.dev/more-capable-form-controls/ "More capable form controls | web.dev") |
| 184 | + |
| 185 | +---- |
| 186 | +<h1 class="site-genre">サイト、サービス、ドキュメント</h1> |
| 187 | + |
| 188 | +---- |
| 189 | + |
| 190 | +## Can I email… Support tables for HTML and CSS in emails |
| 191 | +[www.caniemail.com/](https://www.caniemail.com/ "Can I email… Support tables for HTML and CSS in emails") |
| 192 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">mail</span> <span class="jser-tag">HTML</span> <span class="jser-tag">webservice</span></p> |
| 193 | + |
| 194 | +メール内で特定のHTMLタグやCSSが利用できるかをメールクライアントのサポート状態を検索できるサービス。 |
| 195 | + |
| 196 | + |
| 197 | +---- |
| 198 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 199 | + |
| 200 | +---- |
| 201 | + |
| 202 | +## nanoSQL 2 |
| 203 | +[nanosql.io/](https://nanosql.io/ "nanoSQL 2") |
| 204 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">SQL</span> <span class="jser-tag">library</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">browser</span></p> |
| 205 | + |
| 206 | +SQL builderライブラリ。 |
| 207 | +インメモリ、ブラウザのIndexedDBやLocalstorage、Node.jsからMySQLやRedixなどさまざまなデータべースに対して動作する |
| 208 | + |
| 209 | + |
| 210 | +---- |
| 211 | +<h1 class="site-genre">書籍関係</h1> |
| 212 | + |
| 213 | +---- |
| 214 | + |
| 215 | +## Web Development with Node and Express, 2nd Edition - O'Reilly Media |
| 216 | +[shop.oreilly.com/product/0636920261216.do](http://shop.oreilly.com/product/0636920261216.do "Web Development with Node and Express, 2nd Edition - O'Reilly Media") |
| 217 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">node.js</span> <span class="jser-tag">book</span></p> |
| 218 | + |
| 219 | +2019年10月発売 |
| 220 | +Node.jsとExpressについての書籍 |
| 221 | + |
| 222 | + |
| 223 | +---- |
| 224 | + |
| 225 | +## daumann/ECMAScript-new-features-list: A comprehensive list of new ES features, including ES2015 (ES6), ES2016 (ES7), ES2017 (ES8), ES2018 (ES9), ES2019 (ES10) |
| 226 | +[github.com/daumann/ECMAScript-new-features-list](https://github.com/daumann/ECMAScript-new-features-list "daumann/ECMAScript-new-features-list: A comprehensive list of new ES features, including ES2015 (ES6), ES2016 (ES7), ES2017 (ES8), ES2018 (ES9), ES2019 (ES10)") |
| 227 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">document</span></p> |
| 228 | + |
| 229 | +ECMAScriptのバージョンごとに追加された機能/構文とサンプルコードをまとめたリポジトリ |
| 230 | + |
| 231 | + |
| 232 | +---- |
0 commit comments