JSer.info #650 - TypeScript 5.2 Beta가 출시되었습니다.
Stage 3 Proposal의 Explicit Resource Management(using
선언) 지원, 그리고 같은 Stage 3의 Decorator Metadata 지원됩니다.
또, Tuple에 의한 라벨 유무 조합 제한 삭제, 배열 Union타입 개선도 있습니다.
ECMAScript 2023가 ecma GA으로 승인되어 정식 출시되었습니다.
주 변경점은 이하와 같습니다.
- Proposal: Hashbang Grammar
- 대응 브라우저: 모던 브라우저 전부
#!test
// #! as single line commen터
- Proposal: Change Array by copy
- 대응 브라우저: 모던 브라우저 전부
- Firefox 115부터 지원
const sequence = [1, 2, 3];
sequence.toReversed(); // => [3, 2, 1]
sequence; // => [1, 2, 3]
const outOfOrder = new Uint8Array([3, 1, 2]);
outOfOrder.toSorted(); // => Uint8Array [1, 2, 3]
outOfOrder; // => Uint8Array [3, 1, 2]
const correctionNeeded = [1, 1, 3];
correctionNeeded.with(1, 2); // => [1, 2, 3]
correctionNeeded; // => [1, 1, 3]
- Proposal: Array.prototype.findLast and Array.prototype.findLastIndex
- 대응 브라우저: 모던 브라우저 전부
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.findLastIndex(n => n.value % 2 === 1); // => 2
array.findLast(n => n.value % 2 === 1); // => { value: 3 }
- Proposal: Symbols as WeakMap keys
- 대응 브라우저: Firefox 이외
const map = new WeakMap();
const s = Symbol("desc");
map.set(s, {})
map.get(s); // => {}
Firefox 115가 출시되었습니다.
macOS 10.12/10.13/10.14, Windows7/8/8.1 지원되는 마지막 버전입니다.
contenteditable
으로 노드 분석과 결합 동작이 다른 브라우저와 같도록 변경.
Array.fromAsync()
지원, ES2023 Array.toReversed()
/.toSorted()
/.toSpliced()
/.with()
지원.
Response.json()
, URL.canParse()
지원.
To support JSer.info
- 😘 Recommend JSer.info to your friends!
- ❤️ Support @azu on GitHub Sponsors/JSer.info Sponsors
- 🐦 Follow @jser_info on X(Twitter)
헤드라인
Release v8.0.0-alpha.0 · pixijs/pixijs
github.com/pixijs/pixijs/releases/tag/v8.0.0-alpha.0
PixiJS v8.0.0-alpha.0 출시.
WebGPU 렌더러와 WebGL 렌더러 재작성, 변경된 것만 갱신하는 리엑티브 렌더러, 수준 높은 Blend 모드 추가.
초기화 방법을 비동기로 변경, Graphics API 리뉴얼
ESLint v8.44.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2023/06/eslint-v8.44.0-released/
ESLint v8.44.0 출시.
eslint.config.js
으로 Promise 허용하는 것으로 설정 파일(CJS)에서 ESM를 로드할 수 있도록, espree가 RegExp의 v
플러그 지원.
context.parserServices
프로퍼티 비권장화
Announcing TypeScript 5.2 Beta - TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-5-2-beta/
TypeScript 5.2 Beta 출시.
Stage 3 Proposal Explicit Resource Management(using
선언) 지원, Decorator Metadata 지원.
Tuple에 의한 라벨 유무 조합 제한 삭제, 배열 Union 타입 개선
Ecma International approves new standards - Ecma International
ECMAScript 2023가 ecma GA 승인되어 정식 출시.
Release v4.0.0 · lquixada/cross-fetch
github.com/lquixada/cross-fetch/releases/tag/v4.0.0
cross-fetch 4.0.0 출시.
Node.js 10랑 12 지원 종료, Node.js 18와 20 지원, Service Worker와 Cloudflare Workers 지원
Release v8.6.6 · pnpm/pnpm
github.com/pnpm/pnpm/releases/tag/v8.6.6
pnpm v8.6.6 출시.
성능 개선
Release v29.6.0 · jestjs/jest
github.com/jestjs/jest/releases/tag/v29.6.0
Jest 29.6.0 출시.
Current Test에서 snapshot테스트 지원, 비동기로 에러가 throw된 경우 문제를 rejectionHandled
이벤트로 사용으로 수정
Release 0.2.5 · web-infra-dev/rspack
github.com/web-infra-dev/rspack/releases/tag/0.2.5
rspack 0.2.5 출시.
Web Worker 지원, entry filename
옵션 지원, HMR으로 CJS와 ESM가 혼재된 경우에 warning 보이도록
Firefox 115.0, See All New Features, Updates and Fixes
www.mozilla.org/en-US/firefox/115.0/releasenotes/
Firefox 115 출시.
macOS 10.12/10.13/10.14, Windows7/8/8.1 지원하는 마지막 버전.
contenteditable
으로 노드 분할과 결합 동작을 다른 브라우저와 같도록 변경.
Array.fromAsync()
지원, ES2023 Array.toReversed()
/.toSorted()
/.toSpliced()
/.with()
지원.
Response.json()
, URL.canParse()
지원.
- Firefox users on macOS 10.12, 10.13 and 10.14 moving to Extended Support Release | Firefox 헬프
- Firefox users on Windows 7, 8 and 8.1 moving to Extended Support Release | Firefox 헬프
- Firefox 115 for developers - Mozilla | MDN
- Intent to Ship: Compatible join and split node direction in HTML editor
읽을거리
CommonJS is not going away | Bun Blog
bun.sh/blog/commonjs-is-not-going-away
Bun가 CommonJS 지원하는 이유는 무엇인가.
CommonJS와 ECMAScript Module 비교해보면 동기와 비동기 차이가 있어서 기동할 때 로드 시간이 달라서, 이미 많은 CommonJS 모듈이 많아서
Useful DevTools Tips and Tricks — Smashing Magazine
www.smashingmagazine.com/2023/06/popular-devtools-tips/
브라우저 개발자 도구 Tips 모아둔 글
Architecture of an early stage SAAS | Feelback Blog
www.feelback.dev/blog/feelback-saas-launch-architecture/
fly.io와 Node.js를 사용한 SaaS 아키텍처 해설.
fly.io 사용한 낮은 비용 인프라 구성.
클라이언트와 서버 모두 Node.js, 타입 있는 RPC로써 httpc 이용.
관리화면은 Cloudflare Pages에 있으며 httpc 사용한 통신, 홈페이지나 문서에는 Astro 이용중이다.
또한 이용하고 있는 외부 서비스나 monorepo 구성 설명도 있다.
소프트웨어, 도구, 라이브러리
giuseppelt/httpc: Build function-based API with minimal code and end-to-end type safety
TypeScript로 작성된 서버 함수를 클라이언트에서도 똑같이 호출할 수 있는 RPC 툴킷.
서버에서 함수를 export한 코드에서 클라이언트 코드를 생성하는 구조로, 서버함수롸 같은 함수와 인수를 API 호출 가능하다.