Fork me on GitHub

2021-11-02のJS: Babel 7.16.0、AVA 4 RC1、ウェブサイトのセキュリティヘッダー

Edit on GitHub 編集履歴を見る

JSer.info #564 - Babel 7.16.0がリリースされました。

Babel 7.16.0ではClass static blocksが@babel/preset-envに含まれるようになっています。
また、TypeScript 4.5 Betaへの対応、Stage 2であるPipe Operatorへのオプションの追加などが行われています。

また、@babel/eslint-parserがESLint 8へ対応しています。


Node.js向けのTest RunnerであるAVA 4 RC1がリリースされました。

AVA 4 RC1の破壊的な変更としてNode 10のサポート終了、スナップショットファイルの形式変更、t.cb()t.end()の削除などassertionの変更が行われています。

機能追加として worker_threadsの対応、親ディレクトリのava.configファイルを探索するように、ESMの対応などが含まれています。


Spectre の脅威とウェブサイトが設定すべきヘッダーについてという記事では、Same-Origin PolicyやSpectreなどのサイドチャネル攻撃への対策となるセキュリティヘッダを中心に、その動作や目的を紹介しています。

ウェブでは、imgiframeなどクロスオリジン/クロスサイトでのリソースの参照ができるのがデフォルトとなっています。そのため、これらのリソース参照の挙動を変更するセキュリティヘッダは現時点ではopt-inとなっています。
この記事では、これらの挙動の変更がなぜ必要になってきているのかについて書かれています。


ヘッドライン


Release Pinia v2.0.0 · posva/pinia

github.com/posva/pinia/releases/tag/pinia%402.0.0

Vue JavaScript library

Vueのステート管理ライブラリのPinia v2.0.0リリース。


7.16.0 Released: ESLint 8 and TypeScript 4.5 · Babel

babeljs.io/blog/2021/10/29/7.16.0

babel ReleaseNote

Babel 7.16.0リリース。
@babel/preset-envがClass static blocksを含むように、TypeScript 4.5のサポート。
pipeline operatorのHack topic tokenのオプションをサポート、ESLint 8のサポートなど


Release v5.0.0-alpha.0 · reduxjs/redux

github.com/reduxjs/redux/releases/tag/v5.0.0-alpha.0

redux JavaScript TypeScript ReleaseNote

Redux 5.0.0 αリリース。
コードベースをTypeScriptに書き換えている


Release AVA 4 Release Candidate 1 · avajs/ava

github.com/avajs/ava/releases/tag/v4.0.0-rc.1

node.js testing library ReleaseNote

AVA 4 RC1リリース。
破壊的な変更としてNode 10のサポート終了、スナップショットファイルの形式変更、t.cb()t.end()の削除など。
worker_threadsの対応、親ディレクトリのava.configファイルを探索するように、ESMの対応など


アーティクル


Photoshop's journey to the web

web.dev/ps-on-the-web/

Chrome WebAssembly article

Photoshopをウェブで動かすためにGoogleとAdobeが取り組んだことについて。
Emscriptenを使ってC++をWebAssemblyにコンパイルしたが、マルチスレッド/デバッグ/高性能なストレージが不足していたためそれを補う機能開発。
またWebComponentとLitを使ったUIについて


Supercharge Your NodeJS With Rust | yield code();

yieldcode.blog/supercharge-nodejs-with-rust/

node.js Rust article

Neonを使いRustでNode APIを使ったNative Moduleを作り、Node.jsから利用する方法についての解説記事


Reflection at Reflect: The Reflect and Proxy APIs | Reflect

reflect.run/articles/reflection-at-reflect/

ECMAScript proxy article

ReflectとProxyの基本的な使い方についての解説記事。


Spectre の脅威とウェブサイトが設定すべきヘッダーについて

blog.agektmr.com/2021/11/browser-security.html

browser security article privacy

ウェブサイトでのクロスサイト/クロスオリジンに関連するセキュリティヘッダーについて。
Spectre後のサイドチャネル攻撃に関係するヘッダーの解説など


ソフトウェア、ツール、ライブラリ関係


dominikg/tsconfck: A utility to find and parse tsconfig files without depending on typescript

github.com/dominikg/tsconfck

TypeScript library toool

tsconfig.jsonの探索や設定内容を取得するライブラリ。
extendsした内容も取得できる。


mizchi/mints

github.com/mizchi/mints

TypeScript Tools library

TypeScriptのコードから型を取り除くツール。
ファイルサイズの小さいTypeScript to JavaScriptのツールの作成を目的にしている。


Spectrum Web Components

opensource.adobe.com/spectrum-web-components/

adobe WebComponents library JavaScript

AdobeのデザインシステムであるSpectrumのWeb Components実装。
Litをベースにしている。


OptimalBits/bull: Premium Queue package for handling distributed jobs and messages in NodeJS.

github.com/OptimalBits/bull

node.js library

Redisベースの分散JobキューNode.jsライブラリ


mithi/react-philosophies: 🧘 Things I think about when I write React code 🧘

github.com/mithi/react-philosophies

React document

Reactを使ったコードを書くときに考えることについて書かれたドキュメント


Polight/lego: 🚀 Web-components made lightweight & Future-Proof.

github.com/Polight/lego

JavaScript WebComponents library Tools

HTMLファイルに書いた<template><script><style>からCustom Elementを作成するツールとRuntimeライブラリ。


この記事へ修正リクエストをする
JSer.info Slackに参加する