Fork me on GitHub

2021-11-02: Babel 7.16.0, AVA 4 RC1, 웹 사이트의 보안 헤더

Translator: U-Yeong Ju Edit on GitHub See Revisions

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에서 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 라이브러리.


Pull Request to this article
JSer.info Slackに参加する