JSer.info #485 - Node.js v14.0.0이 릴리스됐습니다.
- Node v14.0.0 (Current) | Node.js
- Node.js version 14 available now - Node.js - Medium
- Node.js v14의 주요 변경 사항 - 별로 힘들지 않는 블로그
Node.js 14는 2020-10-20에 LTS가 될 예정인 메이저 버전입니다.
V8 8.1로 갱신됐고 크래시 리포트 등을 취할 수 있는 Diagnostic Report가 Stable로 변경됐으며 fs/promises
가 추가됐습니다.
또, 실험적으로 WASI를 지원하며 ECMAScript Modules의 Experimental Warning이 삭제(경고가 출력되지 않을 뿐 Stability는 Experimental)됐습니다.
Node.js 용 HTTP 클라이언트 라이브러리 Got 11.0.0이 릴리스됐습니다.
Electron의 net
모듈 지원이 종료됐으며 Pagination API가 Stable이 됐습니다.
또, 옵트인으로 HTTP/2를 지원합니다.
그 외로 agent
옵션을 http
/ https
/ http2
로 별도로 지정할 수 있으며 dnsCache
옵션 설정 방법이 변경됐습니다.
The Cost of Javascript Frameworks - Web Performance Consulting | TimKadlec.com에서는 HTTP Archive의 데이터를 활용해 특정 프레임워크를 사용하고 있는 사이트를 비롯한 여러 지표가 정리돼 있습니다.
jQuery, Vue, Angular, React를 사용하고 있는 사이트의 파일 크기, 모바일 / 데스크탑에서의 CPU 소비 시간 등 여러 지표가 백분위수(percentile)로 비교돼 있습니다.
또, 여러개의 라이브러리를 조합하고 있는 사이트(주로 jQuery + 기타 프레임워크)와 프레임워크 하나만 사용하고 있는 사이트에 대해서(아마 그러한 사이트는 마이그레이션 중일 것)도 정리돼 있으며 React만 사용하는 사이트에서 자바스크립트가 사용하는 메인 스레드의 CPU 처리 시간 편차가 큰 부분도 함께 다루고 있습니다.
[PR] JavaScript Primer를 발매했습니다.
JavaScript Primer 도서가 출판 돼 지금 구매할 수 있습니다.
자세한 내용은 아래 글을 참고해주세요.
헤드라인
Release v11.0.0 · sindresorhus/got
github.com/sindresorhus/got/releases/tag/v11.0.0
Node.js 용 HTTP 클라이언트 Got 11.0.0이 릴리스됐습니다.
HTTP2를 옵트인으로 지원합니다.
electron.net
지원이 종료됐고 Pagination API가 Stable로 변경됐으며 got.stream
의 encoding
옵션이 변경과 dnsCache
옵션이 변경됐습니다.
Node v14.0.0 (Current) | Node.js
nodejs.org/en/blog/release/v14.0.0/
Node.js 14.0.0이 릴리스됐습니다.
V8 8.1으로 갱신됐고 Diagnostic Report가 Stable로 변경됐으며 fs/promises
가 추가됐습니다.
Experimental로 WASI를 지원하며 ECMAScript Modules의 Experimental Warning 메시지가 삭제됐습니다.
Release 1.0.0 · markedjs/marked
github.com/markedjs/marked/releases/tag/v1.0.0
Markdown 파서, 컴파일러 のmarked 1.0.0이 릴리스됐습니다.
marked.use
를 이용해 파서를 커스터마이즈 할 수 있습니다.
ESLint v7.0.0-rc.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2020/04/eslint-v7.0.0-rc.0-released
ESLint v7.0.0-rc.0이 릴리스됐습니다.
비동기 처리에 대응한 새로운 ESLint API가 추가됐고 Node 관련 규칙을 eslint-plugin-node
에서 담당하기 때문에 코어에 포함된 Node 관련 규칙은 비권장됐습니다.
그 외로 에러 리포트의 위치 정보가 수정됐습니다.
Release 10.0.0 · highlightjs/highlight.js
github.com/highlightjs/highlight.js/releases/tag/10.0.0
신텍스 하이라이트 라이브러리 highlight.js 10.0.0이 릴리스됐습니다.
코드 기반이 ES2015로 변경됐으며 이에 맞춰 IE 지원이 종료됐습니다.
before:highlight
, after:highlight
플러그인 API가 추가됐고 각 언어에 name
속성이 추가됐습니다.
Release Notes for Safari Technology Preview 105 | WebKit
webkit.org/blog/10428/release-notes-for-safari-technology-preview-105/
Safari Technology Preview 105가 릴리스됐습니다.
사양에 맞춰 type=module
의 cross-origin
기본 값이 anonymous
로 변경됐습니다.
Stage 3의 ES Proposal인 proposal-logical-assignment가 구현됐습니다.
- tc39/proposal-logical-assignment: A proposal to combine Logical Operators and Assignment Expressions
아티클
node-fetch v3 beta is out! - Antoni Kepinski - Medium
medium.com/@kepinski/node-fetch-v3-beta-is-out-9fbb8091999
node-fetch 3의 변경 사항이 정리돼 있습니다.
Node.js 10 미만 버전이 지원 종료됐으며 browser
필드, res.textConverted()
가 삭제됐습니다.
Data URL을 지원하며 Blob
이 구현됐습니다. 또, UTF8 URL 핸들링이 개선됐으며 highWaterMark
옵션이 추가됐습니다.
The Cost of Javascript Frameworks - Web Performance Consulting | TimKadlec.com
timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/
HTTP Archive 데이터를 기반으로 jQuery, Vue, Angular, React를 사용하고 있는 사이트의 지표를 분석한 글 입니다.
각각의 라이브러리를 사용하고 있는 사이트의 파일 파이즈, 모바일 / 데스크탑에서의 CPU 처리 시간 등에 대해 작성돼 있습니다.
또, jQuery를 포함하고 있는 사이트와 그렇지 않은 사이트를 비교하고 React 단독 사이트에서는 메인 스레드의 CPU 처리가 증가하는 경향에 대해 이야기합니다.
A Taste of WebGPU in Firefox - Mozilla Hacks - the Web developer blog
hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/
WebGPU에 관한 글입니다.
WebGL와 WebGPU의 차이점, 컨텍스트 분리, 파이프라인 상태 캡슐화, 바인딩 모델에 관해 정리돼 있습니다.
또, 파이어폭스의 WebGPU 구현 상황에 대해서도 정리돼 있습니다.
소프트웨어, 도구, 라이브러리
zeit/swr: React Hooks library for remote data fetching
데이터를 가져오는 방식을 제공하는 React Hooks 라이브러리입니다.
데이터 가져오기, 재시도, mutate
를 통한 재취득, 정기적으로 가져오기, SSR 대응, Suspense 대응 등 다양한 기능을 제공합니다.
developit/web-worker: Consistent Web Workers in browser and Node.
github.com/developit/web-worker
Universal한 WebWorker 라이브러리입니다.
Node.js의 worker_threads
와 브라우저의 Worker
에 대응하고 있습니다.
ezhmd/opencv-wasm: Precompiled OpenCV 4.3.0 to JavaScript + WebAssembly for node.js environment
OpenCV.js의 WebAssembly 빌드를 패키지로 배포하고 있는 라이브러리입니다.
bikeshaving/crank: Write JSX-driven components with functions, promises and generators.
React 처럼 JSX로 컴포넌트를 다루는 라이브러리입니다.
비동기 컴포넌트를 Promise와 Generator를 사용해 다룰 수 있도록 관련 기능을 제공합니다.
mohebifar/vidact: A compiler that converts React-compatible codes to VanillaJS with no Virtual DOM
React스러운 코드를 순수 자바스크립트로 변환하는 컴파일러입니다. 빌드 시 대부분의 코드가 변환되며 런타임 상에서 컴포넌트를 갱신하기 위해 몇 가지 코드가 실행됩니다.
Svelte와 비슷한 컨셉이며 Babel 플러그인으로 제공됩니다. React / JSX 코드를 동일한 DOM 코드로 변환하는데 목적을 두고 있습니다.
lukeed/rosetta: A general purpose internationalization library in 292 bytes
간단한 로컬라이즈 라이브러리입니다.