JSer.info #547 - TypeScript 4.4 beta 릴리스.
Control Flow Analysis 개선 되어 Type Gurde의 결과를 변수에 대입하여 다루는 등의 Alias 경우도 올바르게 추론된다.
또, Index Signatures에 Symbol이나 Template String를 사용할 수 있도록 됐다.
Catch 절의 기본 타입을 unknown
으로 하는 useUnknownInCatchVariables
옵션과 optional과 undefined
값을 구별하는 exactOptionalPropertyTypes
옵션이 추가됐다.
그 외로 declaration의 생성 및 strict
모드에서의 빌드 성능이 개선됐다.
immutable-js 4.0.0-rc.13 릴리스.
immutable-js는 v4.0.0-rc.12에서 프로젝트 관리가 중단돼 immutable-oss Organiztion으로 포크돼 관리되고 있었다.
이번 릴리스에서는 immutable-js
Organization에 immutable-oss
메인테이너를 추가하고 immutable-oss
의 변경 내용도 immutable-js 4.0.0-rc.13로 통합한다.
즉, immutable-js
으로 프로젝트 관리를 재개하는 릴리스다.
- Immutable.js is essentially unmaintained · Issue #1689 · immutable-js/immutable-js
- Integrate immutable-js-oss fork into main repository by jdeniau · Pull Request #1833 · immutable-js/immutable-js
Vue 서브셋으로 파일 크기가 작은 petite-vue 공개.
Vue 호환 템플릿 문법과 서브셋 API를 제공하는 라이브러리.
ES Modules으로 import하여 사용할 수 있으며 Vue에는 없는 v-scope
나 v-effect
등의 속성도 갖고 있다.
Alpine.js 처럼 이미 렌더링된 HTML에 대해 동작을 추가하는 작은 크기의 라이브러리를 목적으로 하고 있다.
헤드라인
Release Support caching dependencies and LTS aliases · actions/setup-node
github.com/actions/setup-node/releases/tag/v2.2.0
actions/setup-node 2.2.0 릴리스.
lts/*
등 LTS 문법 지원, cache
옵션으로 npm
와 yarn
에서의 의존 캐시 지원.
Announcing TypeScript 4.4 Beta | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/
TypeScript 4.4 Beta 릴리스.
Control Flow Analysis 개선, Index Signatures에 Symbol이나 Template String를 사용할 수 있도록.
Catch 절의 기본 타입을 unknown
으로 하는 useUnknownInCatchVariables
옵션 추가.
optional과 undefined
값을 구별하는 exactOptionalPropertyTypes
옵션 추가.
declaration의 생성 및 strict
모드에서의 빌드 성능 개선.
Release 4.0.0-rc.13 · immutable-js/immutable-js
github.com/immutable-js/immutable-js/releases/tag/v4.0.0-rc.13
imutable-js 4.0.0 RC12 릴리스.
fork로 진행했던 immutable-js-oss 변경 내용을 통합하고, 커뮤니티에 의한 메인터넌스를 재개하는 릴리스.
- Immutable.js is essentially unmaintained · Issue #1689 · immutable-js/immutable-js
- Integrate immutable-js-oss fork into main repository by jdeniau · Pull Request #1833 · immutable-js/immutable-js
vite/CHANGELOG.md at main · vitejs/vite
github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#240-2021-07-05
Vite 2.4.0 릴리스.
new URL(url, import.meta.url)
지원, server.fsServe
를 server.fs
로 이름 변경, server.fs.strict
옵션 추가.
아티클
The State of WebAssembly 2021
blog.scottlogic.com/2021/06/21/state-of-wasm.html
WebAssembly에 관한 개발자 설문조사.
어떤 언어를 사용하고 있는지, 어떤 용도로 사용하고 있는지, 바라는 기능 등 다양한 문항으로 설문을 진행.
RenderingNG - Chrome Developers
developer.chrome.com/blog/renderingng/
Chrome의 렌더링 엔진인 Blink의 새로운 아키텍처 RenderingNG의 프로젝트 주요 내용 정리.
CompositeAfterPaint, LayoutNG, BlinkNG, Viz, OffscreenCanvas, VideoNG 등 소개.
Migrating from Capybara to Puppeteer - Engineering Blog - Wealthfront
eng.wealthfront.com/2021/06/25/migrating-from-capybara-to-puppeteer/
E2E 테스트를 Capybara에서 Puppeteer로 이전한 내용 소개.
E2E 테스트 프레임워크 선택과 이전의 목적이었던 실행 시간 단축에 대한 정리.
Designing a Dataflow Editor With TypeScript and React | Protocol Labs Research
research.protocol.ai/blog/2021/designing-a-dataflow-editor-with-typescript-and-react/
React와 TypeScript 기반으로 데이터 흐름 에디터의 설계를 어떻게 했는지 소개.
데이터 흐름 상태 설계, 스키마 객체로 부터 각 Node의 타입 정의를 추출하는 구조를 Generics를 사용해 다루는 방법 등.
Encoding data for POST requests - JakeArchibald.com
jakearchibald.com/2021/encoding-data-for-post-requests/
Fetch의 body에 안전하게 인코딩하여 데이터를 전달하는 방법.
URLSearchParams
, FormData
, blob
, JSON 등을 사용하는 방법 소개.
Image To Text Conversion With React And Tesseract.js (OCR) — Smashing Magazine
www.smashingmagazine.com/2021/06/image-text-conversion-react-tesseract-js-ocr/
Tesseract.js를 사용한 이미지 OCR과 Canvas와 이미지 프리프로세스 기법을 활용한 텍스트 추출 방법 소개.
사이트, 서비스, 문서
vuejs/petite-vue: 5kb subset of Vue optimized for progressive enhancement
Vue 서브셋 API와 템플릿을 제공하는 라이브러리.
작은 파일 크기를 목적으로 개발됐다.
소프트웨어, 도구, 라이브러리
Saul-Mirone/milkdown: 🍼 Plugin driven WYSIWYG markdown editor.
github.com/saul-mirone/milkdown/
Prosemirror와 remark를 기반으로 개발한 WYSIWYG 에디터 라이브러리
niksy/promise-any-ponyfill: `Promise.any` ponyfill.
github.com/niksy/promise-any-ponyfill
Promise.any의 polyfill 라이브러리
tinyhttp/malibu: 🏄 Framework-agnostic CSRF middleware for modern Node.js
CSRF 공격 대책 express middleware.