Back to Diary

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

컨디션이 매우 안 좋았다.

아침은 대충 초밥 먹었다.

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

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

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

작업 일지

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 버전 업데이트하고 재현 시도했는데 실패했다.