# 2024년 5월 28일 작업일지

## 작업일지

### 터보팩 Tree shaking PR 마무리

* [https://github.com/vercel/turbo/pull/7986](https://github.com/vercel/turbo/pull/7986)
    

드디어 승인도 받고 마무리가 됐다. 이론적으로 개선 가능한 부분이 남아있기는 하지만 규모가 너무 커서 이 PR에 넣는 건 좋은 생각이 아닌 것 같아서 다른 PR로 작업하겠다고 했다.

### SWC 배포 파이프라인 수정

* [https://github.com/swc-project/swc/commit/d0c567085eaee3c328e76a9aea2025039dea2508](https://github.com/swc-project/swc/commit/d0c567085eaee3c328e76a9aea2025039dea2508)
    
* [https://github.com/swc-project/bot/commit/2153c4fb6f5642849018f784ba57691682539c85](https://github.com/swc-project/bot/commit/2153c4fb6f5642849018f784ba57691682539c85)
    

배포 파이프라인이 깨져있길래 고쳤다.

### `@swc/corev1.5.9` 배포

* [https://github.com/swc-project/swc/commit/eb3e35dba1a06f4a1dab05a261ee1fefcf434741](https://github.com/swc-project/swc/commit/eb3e35dba1a06f4a1dab05a261ee1fefcf434741)
    

커맨드 한 줄이지만 기록/검색용으로 적는 글이라 언급은 해두기로 했다.

### SWC Minifier: TS Enum 압축용 코드 추가

* [https://github.com/swc-project/swc/pull/8986](https://github.com/swc-project/swc/pull/8986)
    

이슈에 적어놨지만,

```javascript
var Foo;
Foo || Foo = {};
```

를 최적화하기 위한 코드를 추가했다. 저걸 왜 최적화하냐고 할 수도 있는데

```typescript
enum Foo {
    a = 1,
    b = 2,
}
```

가

```javascript
var Foo;
(function(Foo) {
    Foo[Foo["a"] = 1] = "a";
    Foo[Foo["b"] = 2] = "b";
})(Foo || (Foo = {}));
```

로 트랜스파일 되기 때문에 저 패턴을 인식하면 압축률이 확연히 올라간다.

### next#66182 triage

* [https://github.com/vercel/next.js/issues/66182](https://github.com/vercel/next.js/issues/66182)
    

난 reproduction을 클론하기 전에 의존성을 검증하는데, `npm` 에서 404가 뜨는 [`@here/maps-api-for-javascript`라는 라이브러리](https://www.npmjs.com/package/@here/maps-api-for-javascript)를 사용하고 있어서 클론하지 않았다.

### 터보팩 `Arc<String>` 최적화 PR 리베이스

* [https://github.com/vercel/turbo/pull/7772](https://github.com/vercel/turbo/pull/7772)
    
* [https://github.com/vercel/next.js/pull/63551](https://github.com/vercel/next.js/pull/63551)
    

전에 작업했을 땐 메모리 사용량을 프로파일링하기 어려워서 머지 안하고 냅뒀는데 이제 프로파일링할 방법이 생긴 것 같아서 리베이스했다.

### 터보팩 `RcStr` 최적화 PR

* [https://github.com/vercel/turbo/pull/8221](https://github.com/vercel/turbo/pull/8221)
    
* [https://github.com/vercel/next.js/pull/66262](https://github.com/vercel/next.js/pull/66262)
    

`Arc<String>` 보다 `RcStr`이 나아보여서 PR을 새로 만들었다.

### `lightningcss` 업데이트

* [https://github.com/vercel/turbo/pull/8222](https://github.com/vercel/turbo/pull/8222)
    
* [https://github.com/vercel/next.js/pull/66280](https://github.com/vercel/next.js/pull/66280)
    

팀원이 요청해서 금방 PR 만들어서 보냈다.
