피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js v14에서 v16 마이그레이션을 위해 4가지 deprecated API를 현대 API로 자동 변환하는 codemod 제공
Node.js v14 to v16
AI 요약
Context
Node.js v16은 v14에서 deprecated된 4개의 API(createRequireFromPath, process.mainModule, fs.rmdir, tmpDir)를 제거했다. 기존 코드베이스를 v16으로 마이그레이션하려면 이들 deprecated API 호출을 모두 새로운 API로 변경해야 한다.
Technical Solution
- createRequireFromPath → createRequire로 변환: import { createRequireFromPath }를 import { createRequire }로 대체하고 함수 호출 수정
- process.mainModule → require.main으로 변환: process.mainModule 속성 참조를 require.main으로 교체
- fs.rmdir → fs.rm으로 변환: fs.rmdir, fs.rmdirSync, fs.promises.rmdir 호출을 fs.rm { recursive: true } 옵션으로 통일
- tmpDir → tmpdir로 변환: import { tmpDir }을 import { tmpdir }로 변경하고 함수명 소문자화
- Codemod Registry에서 각 변환 규칙의 소스코드 및 자동 변환 도구 제공
실천 포인트
Node.js v14 이상 버전을 사용하는 프로젝트에서 제공된 codemod를 자동 실행하면 4가지 deprecated API 호출을 수동 코드 검토 없이 일괄 변환할 수 있어 v16 마이그레이션 시간을 단축할 수 있다.