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 등의 사이트 채널 공격에 대한 대책 방법인 보안 헤더의 동작과 목적이 소개돼 있다.
웹에서는 기본적으로 img
나 iframe
등 크로스 오리진 / 크로스 사이드의 리소스를 참조할 수 있다. 그리고 이러한 리소스의 참조 동작을 변경할 수 있는 보안 헤더가 현재 opt-in 돼 있다. 이 글에서는 왜 이러한 동작 변경이 필요하게 됐는지 설명한다.
헤드라인
Release Pinia v2.0.0 · posva/pinia
github.com/posva/pinia/releases/tag/pinia%402.0.0
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 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 5.0.0 α 릴리스.
코드 베이스를 TypeScript로 재작성하고 있다.
Release AVA 4 Release Candidate 1 · avajs/ava
github.com/avajs/ava/releases/tag/v4.0.0-rc.1
AVA 4 RC1 릴리스.
비호환 변경 사항으로 Node 10 지원 종료, 스냅샷 파일 타입 변경, t.cb()
와 t.end()
삭제.
worker_threads
대응, 부모 디렉터리의 ava.config
파일을 탐색 하도록 개선, ESM 지원.
아티클
Photoshop's journey to the web
Photoshop을 웹에서 실행시키기 위해서 Google과 Adobe가 작업한 내용 소개.
Emscripten를 사용해 C++를 WebAssembly로 컴파일 했으나 멀티 스레드 / 디버깅 / 고성능 스토리지가 부족했기 때문에 이를 보충할 수 있는 기능을 개발 했다고 한다. 또, WebComponent와 Lit을 사용한 UI 개발에 대해서도 이야기한다.
Supercharge Your NodeJS With Rust | yield code();
yieldcode.blog/supercharge-nodejs-with-rust/
Neon을 사용하여 Rust에서 Node API를 사용한 Native Module을 만드는 방법과 그것을 Node.js에서 사용하는 방법을 소개한다.
Reflection at Reflect: The Reflect and Proxy APIs | Reflect
reflect.run/articles/reflection-at-reflect/
Reflect와 Proxy의 기본적인 사용 방법을 소개하는 해설 글.
Spectre의 위협과 웹 사이트가 설정 해야하는 헤더에 대하여(일본어)
blog.agektmr.com/2021/11/browser-security.html
웹 사이트의 크로스 사이트 / 크로스 오리진에 관련한 보안 헤더를 주제로 한 글.
Spectre 후의 사이트 채널 공격과 관련한 헤더 소개.
소프트웨어, 도구, 라이브러리
dominikg/tsconfck: A utility to find and parse tsconfig files without depending on typescript
tsconfig.json
탐색과 설정 내용을 분석할 수 있는 라이브러리.
extends
한 내용도 분석할 수 있다.
mizchi/mints
TypeScript 코드에서 타입을 제거하는 도구.
TypeScript에서 JavaScript로 변환하는 도구를 작은 파일 크기로 만드는 데 목적을 두고 있다.
Spectrum Web Components
opensource.adobe.com/spectrum-web-components/
Adobe의 디자인 시스템인 Spectrum의 Web Components 구현체.
Lit을 기반으로 하고 있다.
OptimalBits/bull: Premium Queue package for handling distributed jobs and messages in NodeJS.
Redis 기반의 분산 Job 큐 Node.js 라이브러리.
mithi/react-philosophies: 🧘 Things I think about when I write React code 🧘
github.com/mithi/react-philosophies
React를 사용한 코드를 작성 할 때에 생각해 봐야 할 여러 내용이 정리돼 있는 문서.
Polight/lego: 🚀 Web-components made lightweight & Future-Proof.
HTML 파일에 작성한 <template>
, <script>
, <style>
로 부터 Custom Element를 생성하는 도구와 Runtime 라이브러리.