JSer.info #607 - ESLint v8.23.0がリリースされました。
このリリースでは、eslint.config.jsという新しい設定ファイルが試験的に利用できるようになっています。
この設定ファイルを導入する背景については、次の記事で解説されています。
extends
や複数のファイル形式など既存の.eslintrc
設定ファイルが複雑になっていることなどについて書かれています。
TypeScript 4.8が正式にリリースされました。
strictNullChecks
が有効時にunknown
は{} | null | undefined
と同様になり関連するコントロールフロー分析の改善、Template String Typesでのinfer
の改善が行われています。
また、--build
/-watch
/--incremental
におけるビルドパフォーマンスの改善、オブジェクトリテラルや配列リテラルを==
や===
で比較した場合にエラーとなるようになっています。
そのほかには、Binding patternの型推論の改善、--watch
の安定性の改善なども含まれています。
Solid v1.5.0がリリースされました。
batch
の中でStoreに対して削除と追加をした時の動作を修正、createResource
にssrLoadFrom
オプションの追加とResourceに対してロード状態を表現するstate
フィールドが追加されています。
そのほかには、SSRのパフォーマンス改善、パッケージのexports
フィールドに対応なども含まれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Jest 29: Snapshot format changes · Jest
jestjs.io/blog/2022/08/25/jest-29
Jest 29リリース。
Node 12のサポート終了、snapshotFormat
オプションの変更、jsdom
のアップデート
ESLint v8.23.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2022/08/eslint-v8.23.0-released/
ESLint 8.23.0リリース。
opt-inで新しい設定ファイルであるeslint.config.js
が利用できるように。
no-fallthrough
とno-warning-comments
にオプションを追加など
jQuery 3.6.1 Maintenance Release | Official jQuery Blog
blog.jquery.com/2022/08/26/jquery-3-6-1-maintenance-release/
jQuery 3.6.1リリース。
focusの問題の修正、addClass
に空文字がある場合の問題の修正、CSS Property ValueをCSSの仕様に準拠してホワイトスペースをトリムするように修正など
Announcing TypeScript 4.8 - TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-4-8/
TypeScript 4.8リリース。
strictNullChecks
が有効時にunknown
は{} | null | undefined
と同様になり関連するコントロールフロー分析の改善、Template String Typesでのinfer
の改善。 --build
/-watch
/--incremental
におけるビルドパフォーマンスの改善、オブジェクトリテラルや配列リテラルを==
や===
で比較した場合にエラーとなるように。
Binding patternの型推論の改善、--watch
の安定性の改善など
Release v1.5.0 - Batch to the Future · solidjs/solid
github.com/solidjs/solid/releases/tag/v1.5.0
Solid v1.5.0リリース。
batch
での処理を修正、createResource
にssrLoadFrom
オプションの追加とResourceに対してロード状態を表現するstate
フィールドを追加。
SSRのパフォーマンス改善、パッケージのexports
フィールドに対応など
アーティクル
Why your website should be under 14kB in size | endtimes.dev
endtimes.dev/why-your-website-should-be-under-14kb-in-size/
TCP slow startにより14600 bytes(約14kb)でラウンドトリップが発生するため、14kbより大きい場合にラウンドトリップ分の遅延が起きるという話。
HTTP/3 QUICでもほぼ同じサイズでの輻輳制御が推奨されている。
Installing and running Node.js bin scripts
2ality.com/2022/08/installing-nodejs-bin-scripts.html
Node.jsパッケージでインストールするコマンドについての記事。
インストール方法、どこへインストールされるか、ローカルのパッケージのリンク、npxとキャッシュについてなど
SpiderMonkey Newsletter (Firefox 104-105) | SpiderMonkey JavaScript/WebAssembly Engine
spidermonkey.dev/blog/2022/08/29/newsletter-firefox-104-105.html
Firefox 104と105でのSpinderMonkeyの変更点について。
Stage 3のShadowRealmsの実装、Stage 4の findLast
とfindLastIndex
の実装、IntlのformatRange
などで引数の大小に関する仕様変更に追従など。
また、モジュールの実装の改善を進め、Workerでのtype: module
の実装やImport Mapsの実装に取り組んでいる。
New Recipes for 3rd Party Cookies – text/plain
textslashplain.com/2022/07/27/new-recipes-for-cookies/
サードパーティクッキーに関する流れで提案されているCookies周りの仕様について。
OriginとSubFrameの組み合わせでCookieの保存先を分割するPartitioned
属性、Storage Access API、IdP向けのFedCM API。
また、Cookieはストレージの中でも特殊で、HTTPOnlyやCookieをデバイスから盗む攻撃を防止するTLS Token Bindingなど特別な機能があることについてなど
今時の CSRF 対策ってなにをすればいいの? | Basicinc Enjoy Hacking!
CSRF攻撃に対する多層防御として利用できる対策手法について。
CSRFトークン、カスタムリクエストヘッダ、SameSite Cookie、Double Submit Cookie、Originリクエストヘッダ、Sec-Fetchリクエストヘッダについて
サイト、サービス、ドキュメント
httptoolkit/brotli-wasm: A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm
github.com/httptoolkit/brotli-wasm
Node.jsとブラウザをサポートしてBrotliのCompress/Decompressライブラリ。
WebAssemblyを利用している
apify/crawlee: Crawlee—A web scraping and browser automation library for Node.js that helps you build reliable crawlers. Fast.
ウェブサイトのクローラーフレームワーク。
リンクを辿るクローリング、ページから情報を取得するスクレイピングを行うライブラリ。
実際のブラウザを模倣する動作、セッションプール、Cheerio/Puppeteer/Playwrightを使ったスクレピングなどクローラー向けの機能セットをもつ
ソフトウェア、ツール、ライブラリ関係
nadeesha/ts-prune: Find unused exports in a typescript project. 🛀
TypeScriptのコードから使用されていないexportsを検出するツール