일본 한달살이 17일차 (5월 14일)

2 min read

아침

아침으론 간단하게 어제 사 온 고기를 먹었다.

고기만 먹은 건 아니고 햇반도 돌려먹었다. 아침을 먹었는데도 시간이 너무 일러서 마트나 한번 다녀왔다.

그리고 제로 아이스크림을 종류별로 사왔다. 하나 먹고 잠깐 뛰고 와서 씻고 작업을 시작했다.


일을 하다가 점심을 적당히 먹었고, 내일이 노는 날이라 저녁을 거하게 먹었다.

  • 비빔면


작업일지

/plugins: 새 버전 배포

next.jsswc_core 을 업데이트하려는데 플러그인 배포가 잘못된 상태여서 모든 플러그인을 새로 배포했다.

swc_core 업데이트 PR 리베이스

이 작업이 생각보다 귀찮은 작업이다. 오늘도 두 레포지토리 간의 의존성 버전 차이 때문에 한참 삽질했다.

터보팩 Tree shaking PR

팀원이 어제 중간 리뷰해주셨다. 피드백을 일부 반영한 뒤 일단 실행형 테스트를 실행해서 확인해봤다. 그런데 테스트 종료가 안 돼서 dbg! 몇 개 추가하고 -- --nocapture 로 돌렸다. 한참 시도해보다가 일단 실행형 테스트는 내버려두고 리뷰부터 다 반영하기로 했다.


리뷰가 테스트 결과에 대한 것들이라서 로직 고치느라 한참 삽질했는데 유닛 테스트는 기다리는 시간이 길지 않은 관계로 자세히 기록하진 않았다.


리뷰 다 반영한 뒤 다시 컴파일 오래 걸리는 작업을 시작했다.

[error] Error: Failed to load chunk chunks/_5e8b7f._.js from module [project]/postcss.config.js/transform.ts { CONFIG => "[project]/postcss.config.js_.loader.mjs [postcss] (ecmascript) <facade>" } [postcss] (ecmascript, async loader) <facade>: SyntaxError: await is only valid in async functions and the top level bodies of modules

몇시간을 투자해 로그를 추가하다가 겨우겨우 근본적인 문제가 무엇이었는지 알 수 있었다. async 모듈에 async 키워드가 붙어있지 않았던 것이다.

에러 메시지를 알아냈으니 팀 채널에 질문을 남겼고, 팀원 한 분이 금방 응답해주셔서 빠르게 고쳤다.


#[turbo_tasks::value_impl]
impl ChunkItem for EcmascriptModulePartChunkItem {

    #[turbo_tasks::function]
    fn is_self_async(&self) -> Vc<bool> {
        self.module.is_async_module()
    }
}

이것이 변경사항이다.


SWC loadable 플러그인 버그 수정

간단한 버그여서 금방 고쳤다.