Fork me on GitHub

2021-10-20: Parcel v2, Node v17.0.0, Nuxt 3 beta

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #562 - 빌드 도구 Parcel v2 릴리스.

Parcel은 특별한 설정 없이(zero configuration) 실행하는 것을 목표로 했기 때문에 v1에서 플러그인 구조가 매우 얇은 형태로 돼 있었다.
Parcel v2에서는 플러그인 구조를 개편하고, 다양한 경우에 대응할 수 있도록 개선됐다.

또, Tree Shaking을 기본적으로 활성화, SWC 기반의 JavaScript 컴파일러 채택, Modern과 Legacy 분리 빌드, Image optimizer 등이 추가 됐다.
그 외에도 bundle 인라인화, 라이브러리 용 빌드 모드 지원, C++이나 Rust로 코어 모듈 일부를 수정하여 빌드 성능을 개선했다.

Parcel v1에서 마이그레이션 하는 방법은 공식 문서를 참고한다.


Node.js 17.0.0 릴리스.

Node의 홀수 버전은 LTS가 아니며 Current 버전이다.
현재 Node의 LTS는 12와 14 이며 2021년 10월 26일에 Node 16이 LTS로 추가된다.

Node.js 17에서는 readline 모듈의 Promise 대응, OpenSSL 3.0으로 갱신, V8 9.5으로 갱신, npm 8.0.0으로 갱신 됐고, 스택 트레이스에 Node 버전을 포함하도록 변경됐다.
또 웹 표준의 strcturedClone()DOMException도 지원한다.

structuredClone()postMessage 등에서 내부적으로 사용하고 있던 (DOM을 포함하여) 객체의 복제 메커니즘을 함수로 공개한 메서드다.
최근에 WHATWG HTML 사양에 추가되어 FirefoxDeno에서 구현됐으며 Chrome, Safari, core-js에서는 구현이 진행되고 있다.

structuredClone()JSON.parse / JSON.strinfigy가 지원하지 않는 객체(Map이나 RegExp 등)의 복제도 지원하므로 DOM 외를 다룰 때에도 유용하게 사용할 수 있다.

structuredClone()로 복제할 수 없는 경우에는 DOMException 예외가 발생해야 하므로 DOMException도 함께 구현됐다.

Node 17에는 Node 16의 변경 사항도 포함되는 버전으로 자세한 내용은 다음 문서를 참고하길 바란다.


헤드라인


Announcing Parcel v2!

parceljs.org/blog/v2/

JavaScript bundler ReleaseNote

Parcel v2 릴리스.
플러그인 구조 개편, Tree Shaking을 기본적으로 활성화, SWC 기반의 JavaScript 컴파일러로 변경, Modern과 Legacy 빌드 분리 출력, Image optimizer 추가.
bundle의 인라인화, 라이브러리 용 빌드 지원, 개발 시 요청 된 시점에 지연 빌드 할 수 있게 됐다.
그 외로도 Source Map 라이브러리를 Rust로 재작성하여 성능과 파일 감시 시스템을 개선했다.


Deno 1.15 Release Notes | Deno Blog

deno.com/blog/v1.15

deno ReleaseNote

Deno 1.15 릴리스.
Web Crypto API 갱신, FFI 개선, deno uninstall 커맨드 추가, deno lint --watch 추가.
Deno.test가 들여쓰기 한 중첩된 테스트 케이스를 지원, V8 9.5로 갱신, Node.js 호환 모듈을 이용할 수 있는 --compat 플러그 추가.


Nuxt - Introducing Nuxt 3 Beta

nuxtjs.org/announcements/nuxt3-beta/

Vue Next.js ReleaseNote

Nuxt 3 베타 릴리스.
Vue 3와 Vite 대응.
새로운 서버 엔진 Nitro Engine을 도입하여 Node.js 서버, Serverless, Service Worker 등 각각의 형태로 디플로이 가능하게 됐다.


GitHub Advisory Database now powers npm audit | The GitHub Blog

github.blog/2021-10-07-github-advisory-database-now-powers-npm-audit/

npm security Github news

이제 npm audit은 GitHub Advisory Database를 기반으로 취약성 정보를 분석한다.


Release v7.0.0 · pinojs/pino

github.com/pinojs/pino/releases/tag/v7.0.0

node.js library ReleaseNote

pino 7.0.0 릴리스.
로그 처리를 별도의 Thread 등에 전달하는 pino.transport() 추가, pino.multistream() 추가, TypeScript의 타입 선언을 패키지에 포함하도록 변경


Node v17.0.0 (Current) | Node.js

nodejs.org/en/blog/release/v17.0.0/

node.js ReleaseNote

Node v17.0.0 릴리스.
readline 모듈의 Promise 대응, OpenSSL 3.0으로 업데이트, V8 9.5로 업데이트, npm 8.0.0으로 업데이트, 스택 트레이스에 Node 버전을 표시한다.
또, 웹 표준인 strcturedClone()DOMException을 지원한다.


아티클


A Visual Guide to React Rendering - Cheat Sheet | Alex Sidorenko

alexsidorenko.com/blog/react-render-cheat-sheet/

React cheatsheet article

그림과 함께 React의 렌더링 케이스를 알기 쉽게 설명한 가이드 / 치트시트


슬라이드, 영상


RF21 – Naman Goel – Rethinking CSS - Introducing Stylex - YouTube

www.youtube.com/watch?v=ur-sGzUWId4

facebook React CSS video

Facebook의 Atomic CSS 구현체인 Stylex 소개 영상.
Stylex는 React-Native와 같이 스타일을 작성할 수 있는 툴킷으로 Atomic CSS에 의해 선형적으로 증가하는 CSS 양을 비선형적으로 관리할 수 있다.
2021년 연말에 베타 버전을 릴리스 할 예정.


React Finland 2021 - Talks - YouTube

www.youtube.com/playlist?list=PL-a9lBflNu2opNHeISTnlHgGVlI7oGLXi

React video

React Finland 2021의 발표 영상 공개


사이트, 서비스, 문서


PrivacyTests.org: open-source tests of web browser privacy

privacytests.org/

browser privacy

브라우저 별 Finger Printing이나 Tracking 관련 대책 등의 정책 기능을 정리한 사이트.


oslabs-beta/sapling: Sapling - A convenient way to traverse your React app in VS Code

github.com/oslabs-beta/sapling

VSCode React Extension

React 컴포넌트 트리를 에디터의 사이드 패널에 표시하는 VSCode 확장.
Root가 되는 컴포넌트를 포함하는 파일을 선택하면 그 컴포넌트가 갖고 있는 컴포넌트를 트리로 표시해준다


도서


Practical Svelte - Create Performant Applications with the Svelte Component Framework | Alex Libby | Apress

www.apress.com/gp/book/9781484273739

Svelte book

Svelte를 사용한 웹 애플리케이션 개발 입문서


Sairyss/domain-driven-hexagon: Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.

github.com/Sairyss/domain-driven-hexagon

DDD document TypeScript

도메인 주도 개발(DDD) 가이드.
DDD에 관한 용어, 설계 뿐 아니라 TypeScript 기반 예제를 이용한 기술적 전략에 대해서도 다룬다.


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