JSer.info #501 - Storybook 6.0.0이 릴리스 됐습니다.
- Storybook 6.0. Production-grade component development | by Michael Shilman | Storybook | Aug, 2020 | Medium
- Release v6.0.0 · storybookjs/storybook
- storybook/CHANGELOG.md at next · storybookjs/storybook
TypeScript를 빌트인 지원하며 스토리 함수 첫 번째 인수에 Args 객체를 전달하도록 개선됐고 addon-knobs를 대신하는 addon-controls가 도입됐습니다.
그리고 여러개의 Storybook을 하나의 Storybook으로 조합해서 살펴 볼 수 있도록 변경됐습니다.
새롭게 추가된 각 기능에 대한 글도 함께 공개 됐으니 살펴보시면 좋을 거 같습니다.
- Zero-config Storybook. Simple setup, instant productivity | by Michael Shilman | Storybook | Aug, 2020 | Medium
- Introducing Storybook Args. Next-gen, dynamic component examples | by Michael Shilman | Storybook | Jul, 2020 | Medium
- Storybook Composition. Combine multiple Storybooks into one | by Dominic Nguyen | Storybook | Jun, 2020 | Medium
- Storybook Controls. Live edit UI components w/ no code | by Michael Shilman | Storybook | Jul, 2020 | Medium
5.3에서 6.0으로의 이전 가이드와 이전 명령어(npx sb upgrade
)도 공개 됐으니 참고해주세요.
- Storybook 6 Migration Guide. Level up your component development… | by Michael Shilman | Storybook | Aug, 2020 | Medium
- storybook/MIGRATION.md at next · storybookjs/storybook
npm 7 베타가 릴리스 됐습니다.
peerDependencies
가 기본적으로 설치되도록 변경됐으며 이와 함께 npm 6의 방식도 지원하는 --legacy-peer-deps
가 추가됐습니다.
npm 2까지는 peerDependencies
를 자동으로 설치했지만, 3에서 peerDependencies
를 기본적으로 설치하지 않도록 변경했습니다.
peerDependencies
에 관한 yarn이나 pnpm의 정책은 다음 RFC 이슈에 정리돼 있으니 참고하시길 바랍니다.
새로운 기능으로는 acceptDependencies
, workspaces
필드, yarn.lock
을 지원하며 package-lock.json
의 형식 변경이 이뤄졌습니다.
또, npm run-script
에서 활용할 수 있는 npm_package_*
와 npm_package_*
의 환경 변수 삭제 또는 변경됐으니 참고하시길 바랍니다.
그 외로 npx
대신 사용할 수 있는 npm exec
명령어가 추가됐으며 npx
는 npm exec
의 별칭(alias)으로 변경될 예정입니다.
Node.js 웹 프레임워크인 hapi 20.0.0이 릴리스 됐습니다.
메이저 업데이트이지만 비호환적인 기능 변경은 없으며 단지 메인테이너가 에란 해머(Eran Hammer)에서 Technical Steering Committee(기술 개발에 대한 조정역할 및 포럼의 방향을 정립하는 위원회)로 인계되면서 발생한 변경 사항을 포함하고 있습니다.
경위는 다음 이슈에 잘 정리돼 있으며 상용 지원의 채산적인 문제와 모티베이션 문제로 hapi의 개발자인 에란 해머에 의한 유지보수를 금년부로 종료한다고 알려왔습니다.
이 문제와 함께 유지보수를 인수하기 위한 hapi Technical Steering Committee(TSC)가 설립됐고 20.0.0 부터는 TSC가 hapi의 메인테이너가 됩니다.
- The future of the hapi project, a prelude · Issue #4111 · hapijs/hapi
- The future of the hapi project · Issue #4113 · hapijs/hapi
헤드라인
Release v6.0.0 · storybookjs/storybook
github.com/storybookjs/storybook/releases/tag/v6.0.0
Storybook 6.0.0이 릴리스 됐습니다.
TypeScript를 빌트인 지원하며 스토리 함수 첫 번째 인수에 Args 객체를 전달하도록 개선됐고 addon-knobs를 대신하는 addon-controls가 도입됐습니다.
여러개의 Storybook을 하나의 Storybook으로 조합해서 살펴 볼 수 있도록 변경 되는 등 많은 개선이 이뤄졌습니다.
또, 5.3에서 6.0으로의 이전 가이드도 공개 됐으니 참고하세요.
- storybook/CHANGELOG.md at next · storybookjs/storybook
- storybook/MIGRATION.md at next · storybookjs/storybook
The npm Blog — npm v7 Series - Beta Release! And: SemVer-Major...
blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major
npm 7 beta가 릴리스 됐습니다.
peerDependencies
가 기본적으로 설치되도록 변경됐으며 이와 함께 npm 6의 방식도 지원하는 --legacy-peer-deps
가 추가됐습니다.
새로운 기능으로는 acceptDependencies
, workspaces
필드, yarn.lock
을 지원하며 package-lock.json
의 형식 변경이 이뤄졌습니다.
또, npm run-script
에서 활용할 수 있는 npm_package_*
와 npm_package_*
의 환경 변수 삭제가 이뤄졌습니다.
Node v14.8.0 (Current) | Node.js
nodejs.org/en/blog/release/v14.8.0/
Node.js 14.8.0이 릴리스 됐습니다.
Top-Level Await를 기본적으로 지원하며 async_hooks
모듈에 AsyncResource.bind
가 추가됐습니다.
Release Version 8.0.0 · acornjs/acorn
github.com/acornjs/acorn/releases/tag/8.0.0
JavaScript 파서 Acorn 8.0.0이 릴리스 됐습니다.
패키지를 ECMAScript module로 불러올 수 있도록 개선됐으며 ecmaVersion
옵션이 필수로 변경됐습니다.
Update for Customers Using PhoneGap and PhoneGap Build | by Adobe I/O | Aug, 2020 | PhoneGap
blog.phonegap.com/update-for-customers-using-phonegap-and-phonegap-build-cc701c77502c
웹 기술을 이용해 네이티브 애플리케이션을 만들 수 있는 PhoneGap 빌드 서비스가 2020년 10월에 종료됩니다.
대체재로 Apache Cordova, Ionic을 소개하고 있습니다.
20.0.0 Release Notes · Issue #4138 · hapijs/hapi
github.com/hapijs/hapi/issues/4138
hapi 20.0.0이 릴리스 됐습니다.
메인터넌스가 교체 돼 Technical Steering Committee(TSC) 기반 프로젝트로 변경됐습니다.
그 외로 @hapi/joi
에서 @hapi/validate
로 변경됐으며 Node.js 14를 지원합니다.
emscripten/ChangeLog.md at master · emscripten-core/emscripten
github.com/emscripten-core/emscripten/blob/master/ChangeLog.md#200-08102020
C/C++ 등을 WebAssembly로 컴파일하는 Emscripten 2.0이 릴리스 됐습니다.
fastcomp backend 삭제하고 Python 2 지원이 종료됐습니다.
또, 예외 정보 메타 데이터를 JS가 아니라 WebAssembly.Memory
에 보존하여 예외 처리가 쓰레드 세이프하도록 변경됐습니다.
Release 2.11.0 · qunitjs/qunit
github.com/qunitjs/qunit/releases/tag/2.11.0
QUnit 2.11.0이 릴리스 됐습니다.
Node.js 10 미만 지원이 종료됐고 assert.true
와 assert.false
가 추가됐으며 HTML 보고서 검색 기능이 개선됐습니다.
Ajv Joins OpenJS Foundation as an Incubation Project - OpenJS Foundation
openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/
JSON Schema 검증 도구인 Ajv가 OpenJS Foundation에 들어갔습니다.
아티클
Node.js에서 프로토타입 오염 후 임의 코드를 실행하기 까지의 사례 - knqyf263's blog(일본어)
knqyf263.hatenablog.com/entry/2020/08/11/050342
Node.js에서의 프로토타입 오염 실사례를 소개하는 글입니다.
The Golden Rule of Generics
effectivetypescript.com/2020/08/12/generics-golden-rule/
TypeScript의 Generics을 사용해야 하는지 판단할 때의 기준으로 「타입 매개변수는 두 번 표시돼야한다」라는 규칙에 대해 이야기합니다.
다양한 코드를 활용한 예와 함께 Generics 사용이 좋은 경우를 소개합니다.
Optimizing CSS for faster page loads - Tomas Pustelnik's personal website
pustelto.com/blog/optimizing-css-for-faster-page-loads/
CSS의 Critical Path 최적화에 대해서 소개합니다.
CSS를 불러오는 타임에 미치는 영향, Critical CSS 분리와 지연 로드, CSS의 Code Splitting에 대해서 이야기합니다.
Node.js and the struggles of being an EventTarget
www.nearform.com/blog/node-js-and-the-struggles-of-being-an-eventtarget/
Node.js에 EventTarget
이 왜 필요하고 구현되는지 이야기합니다.
Node.js에 Fetch나 AbortController 등의 웹 표준 API를 구현하기 위해 브라우저와 호환성 있는 EventTarget
API 필요한 점에 대해서 언급합니다.
EventTarget
을 구현하는 과정에서 호환성, 다중 상속(multiple inheritance), 성능 문제를 어떻게 해결했는지에 대해서도 작성 돼 있습니다.
사이트, 서비스, 문서
twilco/kosmonaut: A web browser engine for the space age
Servo에 영감을 받은 Rust 기반 브라우저 엔진입니다.
Shopify/web-foundation: Principles, decision logs, best practices, and common configuration for building web apps at Shopify
github.com/Shopify/web-foundation
Shopify가 웹 개발에 사용하는 설정과 각 설명 문서가 정리 돼 있는 저장소 입니다.
소프트웨어, 도구, 라이브러리
ealush/vest: Vest ✅ Declarative validations framework
테스트 프레임워크 스럽게 설계 된 검증 라이브러리입니다.
테스트 코드를 작성하는 느낌으로 검증 코드르 구현할 수 있습니다.
Run JavaScript Everywhere.
Node.js에 입문할 때 도움을 줄 수 있는 문서 사이트입니다.
Native mobile apps in JavaScript. Fast and secure framework. - Tabris
React Native 처럼 JavaScript(JSX)로 OS 네이티브 UI를 개발 할 수 있는 모바일 앱 개발 프레임워크 입니다.