jscodeshift is a JavaScript AST transformation toolkit and codemod engine designed for large-scale code refactoring and structural migrations. It provides a set of utilities to parse source code into abstract syntax trees, programmatically modify those trees, and convert them back into source text.
The tool distinguishes itself by preserving original source formatting and stylistic properties during the transformation process. It utilizes a builder for generating structurally valid AST nodes and integrates interchangeable parsing engines to support different language standards and experimental syntax.
The toolkit covers broad capabilities for AST management, including node construction, location, and modification. It includes a CLI for automation tasks such as batch file processing, glob-based file resolution, and transformation validation through the use of test suites and fixtures.