-
-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2c63da7
commit c211bbd
Showing
2 changed files
with
212 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
211 changes: 211 additions & 0 deletions
211
...sts/2024/2024-06-13-storybook-8.1-turborepo-2.0-node-v22.3.0snapshot-testing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,211 @@ | ||
--- | ||
title: "2024-06-13: Storybook 8.1, Turborepo 2.0, Node v22.3.0(Snapshot Testing)" | ||
author: "azu" | ||
translator: rewrite0w0 | ||
layout: post | ||
date: 2024-06-13T04:55:14.651Z | ||
category: JSer | ||
tags: | ||
- nodejs | ||
- TypeScript | ||
- Tools | ||
- test | ||
- RegExp | ||
|
||
--- | ||
|
||
JSer.info #696 - Storybook 8.1가 출시되었어요. | ||
|
||
- [Storybook 8.1](https://storybook.js.org/blog/storybook-8-1/) | ||
|
||
Story 파일 만드는 UI 추가, Subpath imports 사용한 mock 대응, Playwright Component Test 대응이 있어요. | ||
|
||
`pacakge.json`의 `imports` 필드에 특정 모듈을 조건 분기로 읽는 구조 [Subpath imports](https://nodejs.org/api/packages.html#subpath-imports)은 다음 글에 해설되어 있어요. | ||
|
||
- [Type-safe module mocking in Storybook](https://storybook.js.org/blog/type-safe-module-mocking/?ref=storybookblog.ghost.io) | ||
- [Mocking modules • Storybook docs](https://storybook.js.org/docs/writing-stories/mocking-modules?ref=storybookblog.ghost.io) | ||
|
||
그 외로, React 19/Angular 18 지원도 있어요. | ||
|
||
--- | ||
|
||
Turborepo 2.0가 출시되었어요. | ||
|
||
- [Turborepo 2.0](https://turbo.build/blog/turbo-2-0) | ||
|
||
Turborepo는 monorepo 대상 빌드/태스크 관리 도구에요. | ||
Turborepo 2.0에는 터미널 UI 쇄신, `persistent` 옵션 추가, `turbo watch` 추가, 문서 쇄신도 있어요. | ||
|
||
--- | ||
|
||
Node.js 22.3.0가 출시되었어요. | ||
|
||
- [Node.js — Node v22.3.0 (Current)](https://nodejs.org/en/blog/release/v22.3.0) | ||
|
||
`Buffer`에 `bytes()` 구현, experimental 플래그로 Test Runner에서 Snapshot Testing 구현되었어요. | ||
|
||
- https://nodejs.org/api/test.html#snapshot-testing | ||
- [test_runner: add snapshot testing by cjihrig · Pull Request #53169 · nodejs/node](https://github.com/nodejs/node/pull/53169) | ||
|
||
---- | ||
|
||
{% include inline-support.html %} | ||
|
||
---- | ||
|
||
<h1 class="site-genre">헤드라인</h1> | ||
|
||
---- | ||
|
||
## Announcing TypeScript 5.5 RC - TypeScript | ||
[devblogs.microsoft.com/typescript/announcing-typescript-5-5-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5-rc/ "Announcing TypeScript 5.5 RC - TypeScript") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
TypeScript 5.5 RC 출시. | ||
함수에서 type predicates 추론할 수 있게되었으며, `Array.prototype.filter` 같은 것으로 필터링을 간결하게 작성 가능. | ||
Stage 3의 Set Methods 지원. | ||
JSDoc에서 `@import {foo} from "foo"` 지원, 기본적으로 정규표현 구문 체크 지원, `isolatedDeclarations` 지원. | ||
특정 파일 내에 `${configDir}` 템플릿 값 지원. | ||
`typescript` 패키지 크기 절감, Named Import 지원, `transpileDeclaration` API 추가. | ||
`transpileModule`와 `transpileDeclaration` 빌드 시간 개선. | ||
`out`나 `target: ES3` 같은 비권장 옵션 무효화, `ignoreDeprecations` 옵션을 특정하지 않으면 이용할 수 없도록 변경 | ||
|
||
|
||
---- | ||
|
||
## Release CLI v1.8.0 · biomejs/biome | ||
[github.com/biomejs/biome/releases/tag/cli%2Fv1.8.0](https://github.com/biomejs/biome/releases/tag/cli%2Fv1.8.0 "Release CLI v1.8.0 · biomejs/biome") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Biome v1.8.0 출시. | ||
`biome clean` 명령어 추가, `biome lint`에 `--only`와 `--skip` 플래그 추가, CSS의 format과 lint 지원 | ||
|
||
|
||
---- | ||
|
||
## power-assert-monorepo/packages/node at main · twada/power-assert-monorepo | ||
[github.com/twada/power-assert-monorepo/tree/main/packages/node](https://github.com/twada/power-assert-monorepo/tree/main/packages/node "power-assert-monorepo/packages/node at main · twada/power-assert-monorepo") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">test</span> <span class="jser-tag">library</span></p> | ||
|
||
Node.js의 `--import` 에 대응한 power-assert | ||
|
||
|
||
---- | ||
|
||
## Storybook 8.1 | ||
[storybook.js.org/blog/storybook-8-1/](https://storybook.js.org/blog/storybook-8-1/ "Storybook 8.1") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">UI</span> <span class="jser-tag">test</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Storybook 8.1 출시. | ||
Story 파일 만드는 UI, Subpath imports 사용한 mock 대응, Playwright Component Test 대응. | ||
React 19/Angular 18 지원 | ||
|
||
|
||
---- | ||
|
||
## Release v1.0.0 · tinylibs/tinypool | ||
[github.com/tinylibs/tinypool/releases/tag/v1.0.0](https://github.com/tinylibs/tinypool/releases/tag/v1.0.0 "Release v1.0.0 · tinylibs/tinypool") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
tinypool 1.0.0 출시. | ||
Node.js의 `worker_threads` Worker Pool 구현 라이브러리 | ||
|
||
|
||
---- | ||
|
||
## Turborepo 2.0 | ||
[turbo.build/blog/turbo-2-0](https://turbo.build/blog/turbo-2-0 "Turborepo 2.0") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">monorepo</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Turborepo 2.0 출시. | ||
터미널 UI 쇄신, `persistent` 옵션 추가, `turbo watch` 추가, 문서 쇄신. | ||
|
||
|
||
---- | ||
|
||
## Firefox 127.0, See All New Features, Updates and Fixes | ||
[www.mozilla.org/en-US/firefox/127.0/releasenotes/](https://www.mozilla.org/en-US/firefox/127.0/releasenotes/ "Firefox 127.0, See All New Features, Updates and Fixes") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Firefox 127 출시. | ||
`<base>` 요소에 `data:`와 `javascript:`가 특정하지 못하도록 변경, Stage 3의 Set Methods 지원, async Clipboard API 지원 | ||
|
||
- [Firefox 127 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/127 "Firefox 127 for developers - Mozilla | MDN") | ||
|
||
---- | ||
|
||
## Node.js — Node v22.3.0 (Current) | ||
[nodejs.org/en/blog/release/v22.3.0](https://nodejs.org/en/blog/release/v22.3.0 "Node.js — Node v22.3.0 (Current)") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Node.js v22.3.0 출시. | ||
`Buffer`에 `bytes()` 구현, experimental 플래그로 Test Runner에서 Snapshot Testing 구현, `NODE_RUN_SCRIPT_NAME` 추가 | ||
|
||
|
||
---- | ||
|
||
## News from WWDC24: WebKit in Safari 18 beta | WebKit | ||
[webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/ "News from WWDC24: WebKit in Safari 18 beta | WebKit") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webkit</span> <span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p> | ||
|
||
Safari 18 beta 변경점에 대해. | ||
View Transition API 지원, Style Queries 지원, `@starting-style`와 `display: none` 조합 지원. | ||
`justify-content: safe center` 지원, `content-visibility` 지원. | ||
`<input type=date>` 접근성 개선, `URL.parse()` 지원, JPEG2000 지원 삭제 | ||
|
||
|
||
---- | ||
<h1 class="site-genre">읽을거리</h1> | ||
|
||
---- | ||
|
||
## Data Fetching Patterns in Single-Page Applications | ||
[martinfowler.com/articles/data-fetch-spa.html](https://martinfowler.com/articles/data-fetch-spa.html "Data Fetching Patterns in Single-Page Applications") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p> | ||
|
||
React 클라이언트 사이드에서 Data Fetch 패턴 | ||
|
||
|
||
---- | ||
|
||
## Mastering Node.js Performance Hooks | ||
[pavel-romanov.com/nodejs-performance-hooks-mastering-the-mental-model](https://pavel-romanov.com/nodejs-performance-hooks-mastering-the-mental-model "Mastering Node.js Performance Hooks") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">performance</span> <span class="jser-tag">article</span></p> | ||
|
||
유저 기기 영향을 받는 wall clock과 성능 계측에 적절한 monotonic clock에 관하여. | ||
Node.js의 `perf_hooks` 모듈 이용 가능한 `PerformanceObserver`에는 monotonic clock 시간을 얻기, 기본적 사용 방법에 대해 | ||
|
||
|
||
---- | ||
|
||
## WebAssembly JSPI has a new API · V8 | ||
[v8.dev/blog/jspi-newapi](https://v8.dev/blog/jspi-newapi "WebAssembly JSPI has a new API · V8") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebAssembly</span> <span class="jser-tag">Promises</span> <span class="jser-tag">article</span></p> | ||
|
||
WebAssembly의 JavaScript Promise Integration에 대해 | ||
|
||
|
||
---- | ||
|
||
## TypeScript 자료형과 값 검증 | ||
[zenn.dev/mizchi/articles/typescript-type-value-validation](https://zenn.dev/mizchi/articles/typescript-type-value-validation "TypeScript 자료형과 값 검증") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p> | ||
|
||
TypeScript는 기본적으로 JavaScript으로 자료형 정보를 부여할 뿐이므로, Runtime 동작에서는 JavaScript와 다르지 않다는 이야기. | ||
검증과 자료형에 대해 | ||
|
||
- [TypeScript Design Goals · microsoft/TypeScript Wiki](https://github.com/microsoft/TypeScript/wiki/TypeScript-Design-Goals "TypeScript Design Goals · microsoft/TypeScript Wiki") | ||
|
||
---- | ||
<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> | ||
|
||
---- | ||
|
||
## slevithan/regex: Context-aware regex template tag with best practices built-in and advanced features | ||
[github.com/slevithan/regex](https://github.com/slevithan/regex "slevithan/regex: Context-aware regex template tag with best practices built-in and advanced features") | ||
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">RegExp</span> <span class="jser-tag">library</span></p> | ||
|
||
정규표현을 Tagged Template에서 쓸 수 있는 라이브러리 | ||
|
||
|
||
---- |