BrontoSource vs jscodeshift
BrontoSource
brontosource.devjscodeshift
jscodeshift.comSide by side
| Figure | BrontoSource | jscodeshift |
|---|---|---|
| Price from | — | — |
| Free plan | — | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 0 |
| Spec score · Code Refactoring Tools | 7.7 (#11) | 7.7 (#13) |
| Intended users | BrontoSource is designed for engineering teams responsible for large, long-lived systems. | The documentation describes jscodeshift as a tool for developers who build codemods to detect and transform JavaScript or TypeScript code. |
| License | The support library uses the 0BSD license and compiles to nothing at runtime, according to the getting-started documentation. | The project is distributed under the MIT License. |
| Purpose | Bronto is a tool for automatically performing smart find-and-replace across a codebase. | jscodeshift is a toolkit for building and running codemods over multiple JavaScript or TypeScript files. |
| Workflow | The command-line tool can generate edits in Fossil format, merge edit files, and apply changes. | A codemod parses code into an AST, transforms the AST, and generates source code from it. |
In their own words
BrontoSource
BrontoSource is a desktop tool for deterministic C++ refactoring across large repositories. Teams define explicit transformation rules and apply them across thousands of files. Documented operations include expression matching, extraction, and inlining for functions, constructors, type aliases, enumerators, namespaces, macros, declarations, types, and lambda captures. The command-line tool accepts Clang arguments, a compilation database, or compile_flags.txt, then can generate Fossil-format edits, merge edit files, and apply changes. BrontoSource describes its output as repeatable, traceable diffs for review. Its homepage reports 100M+ lines transformed safely and 10,000+ files refactored in one transformation. The product is in early access, with access arranged through BrontoSource; its API can also be tried on Compiler Explorer without installation. Pricing is on request. A header-only support library supports CMake 3.10.0+ and Bazel 8.1.1+ and uses 0BSD.
jscodeshift
jscodeshift is a free toolkit for developers who build and run codemods across JavaScript, TypeScript, or Flow projects. A codemod parses source into an abstract syntax tree, changes that tree, and generates source code. The runner applies a transform to each file and reports files that were not transformed. Its command line accepts a local transform, a URL, or paths from standard input. Parser choices include Babel, Babylon, Flow, TypeScript, and TSX, with Babel as the default. Users can set child-process limits, choose extensions, exclude paths with ignore patterns or configuration files, and preview changes in dry-run mode. The API supports traversal, filtering, finding, replacing, inserting, removing, and renaming syntax-tree nodes, with optional formatting during output. jscodeshift wraps recast to help preserve source style. Jest and Jasmine utilities support fixture or inline tests, and VS Code debugging guidance is documented. It runs on Linux, macOS, Windows, or self-hosted environments under an MIT license.