일본 한달살이 23일차 (5월 20일)

1 min read

컨디션이 매우 안 좋았다.

아침은 대충 초밥 먹었다.

점심을 늦게 먹었는데, 회를 먹었다.

참치와 우니는 가격에 비례해서 맛있어진다.

란 말을 최근에 누가 했었는데 맞는 말 같다. 저녁은 간단하게 두부하고 삼각김밥 먹었다.

작업 일지

SWC Relay 플러그인 버그 수정

Relay와 서버 액션을 같이 썼을 때 에러나는 현상을 고쳤다.

next.js: Stage 3 데코레이터 지원

데코레이터 버전을 지정할 수 있게 바꿨다.

터보팩 Tree shaking PR

리뷰 받을 때 팀원분이 테케 추가해주셔서 그것을 고치기 위해 작업했다.

EcmascriptModuleContent::new 가 잘못된 값으로 호출되고 있었고, 관련 코드에 로깅을 추가했다.


#[turbo_tasks::value_impl]
impl EcmascriptChunkItem for EcmascriptModulePartChunkItem {
    #[turbo_tasks::function]
    fn content(self: Vc<Self>) -> Vc<EcmascriptChunkItemContent> {
        panic!("content() should never be called");
    }

    #[turbo_tasks::function]
    async fn content_with_async_module_info(
        self: Vc<Self>,
        async_module_info: Option<Vc<AsyncModuleInfo>>,
    ) -> Result<Vc<EcmascriptChunkItemContent>> {
        let this = self.await?;
        let module = this.module.await?;

        let split_data = split_module(module.full_module);
        let parsed = part_of_module(split_data, module.part);

        let analyze = this.module.analyze().await?;
        let async_module_options = analyze.async_module.module_options(async_module_info);
        vdbg!(async_module_options, module.part, analyze.async_module);

        let module_type_result = *module.full_module.determine_module_type().await?;

        let content = EcmascriptModuleContent::new(
            parsed,
            module.full_module.ident(),
            module_type_result.module_type,
            this.chunking_context,
            analyze.references,
            analyze.code_generation,
            analyze.async_module,
            analyze.source_map,
            analyze.exports,
            async_module_info,
        );

        Ok(EcmascriptChunkItemContent::new(
            content,
            this.chunking_context,
            module.full_module.await?.options,
            async_module_options,
        ))
    }

    #[turbo_tasks::function]
    fn chunking_context(&self) -> Vc<Box<dyn ChunkingContext>> {
        self.chunking_context
    }
}

다른 ModulePart는 작동하는데 ModulePart::ModuleEvaluation에 대해 위의 vdbg!가 실행되지 않고 있었다. 여러가지 삽질을 했지만 해결하지 못했다.

next.js 이슈 triage

canary 버전 업데이트하고 재현 시도했는데 실패했다.