AST based Code Modifier대형 프로젝트에서 변수명이나 코드 generating이 필요할 때 사용AST로 파싱: 파일의 소스 코드를 AST로 파싱합니다.수정할 노드 선택: AST에서 수정할 노드를 선택합니다.수정하기: 검색한 노드를 JSCodeShift가 제공하는 유틸리티로 코드를 변경시킵니다.소스 코드로 내보내기: 수정된 AST를 JavaScript 소스 코드로 내보냅니다. JSCodeShift find()JSCodeShift remove()JSCodeShift replaceWith()JSCodeShift indentifier()JSCodeShift memberExpression()JSCodeShift importDeclaration() JSCodeShift Example facebook/jscodeshiftjscodeshift is a toolkit for running codemods over multiple JavaScript or TypeScript files. It provides: A runner, which executes the provided transform for each file passed to it. It also outputs a summary of how many files have (not) been transformed. A wrapper around recast, providing a different API.https://github.com/facebook/jscodeshiftJSCodeShift로 기술 부채 청산하기토스 프론트엔드 챕터에서는 100개 이상의 서비스들이 작은 패키지 단위로 쪼개져 활발하게 개발되고 있는데요. 공통으로 사용하는 라이브러리에서 인터페이스가 변경되는 Breaking Change가 발생하면, 의존하고 있는 모든 서비스의 코드를 수정해야 했습니다. 관리하는 코드베이스가 점점 커지면서 해야 하는 작업의 양도 계속 늘어나고는 했습니다. 이에 프론트엔드 챕터는 JSCodeShift를 도입하여 대부분의 코드 수정 작업이 자동화할 수 있었습니다.https://toss.tech/article/jscodeshift