{"id":15664494,"url":"https://github.com/rajasegar/jarvis","last_synced_at":"2025-04-14T06:37:01.058Z","repository":{"id":40286318,"uuid":"223740486","full_name":"rajasegar/jarvis","owner":"rajasegar","description":"JARVIS - Write me a codemod","archived":false,"fork":false,"pushed_at":"2025-04-08T13:38:24.000Z","size":20253,"stargazers_count":18,"open_issues_count":23,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T14:35:55.671Z","etag":null,"topics":["abstract-syntax-tree","ast","codemod","codemods","jscodeshift"],"latest_commit_sha":null,"homepage":"https://rajasegar.github.io/jarvis/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rajasegar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-24T12:28:02.000Z","updated_at":"2024-11-22T04:20:31.000Z","dependencies_parsed_at":"2024-06-04T15:08:11.862Z","dependency_job_id":"df65fa99-aaaf-4fc1-9d36-dc92c3c1fd50","html_url":"https://github.com/rajasegar/jarvis","commit_stats":{"total_commits":131,"total_committers":6,"mean_commits":"21.833333333333332","dds":"0.26717557251908397","last_synced_commit":"2880b23821e593ee00cf2c24d4edd80757b20ef7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasegar%2Fjarvis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasegar%2Fjarvis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasegar%2Fjarvis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasegar%2Fjarvis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajasegar","download_url":"https://codeload.github.com/rajasegar/jarvis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248836217,"owners_count":21169367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstract-syntax-tree","ast","codemod","codemods","jscodeshift"],"created_at":"2024-10-03T13:42:48.861Z","updated_at":"2025-04-14T06:37:01.009Z","avatar_url":"https://github.com/rajasegar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jarvis\n\n![Build and Deploy](https://github.com/rajasegar/jarvis/workflows/Build%20and%20Deploy/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/rajasegar/jarvis/badge.svg?branch=master)](https://coveralls.io/github/rajasegar/jarvis?branch=master)\n\n[JARVIS](https://rajasegar.github.io/jarvis) is a tool which will profoundly transform the way how you write codemods.\n\nJARVIS is actually a playground for writing codemods, where in you can specify the input and output code, choose the appropriate transformation you want to apply and the codemod is automatically generated for you.\n\nRead the introductory blog post [here](http://hangaroundtheweb.com/posts/jarvis-write-me-a-codemod/)\n\n![screenshot](https://github.com/rajasegar/jarvis/blob/master/public/jarvis-annotated.jpg)\n\n## Features\n- Support various AST node operations like replace, remove, insert before and after.\n- Write concise codemods using Smart Update\n- Support for JavasScript and Handlebars\n- Copy the generated codemod to clipboard\n- Download the generated codemods as a [codemod-cli](https://github.com/rwjblue/codemod-cli) project and run in local\n\n\n## Related Tools\n- [ast-builder](https://rajasegar.github.io/ast-builder/)\n- [ast-finder](https://rajasegar.github.io/ast-finder/)\n\n## Prerequisites\n\nYou will need the following things properly installed on your computer.\n\n* [Git](https://git-scm.com/)\n* [Node.js](https://nodejs.org/) (with npm)\n* [Ember CLI](https://cli.emberjs.com/release/)\n* [Google Chrome](https://google.com/chrome/)\n\n## Installation\n\n* `git clone \u003crepository-url\u003e` this repository\n* `cd jarvis`\n* `npm install`\n\n## Running / Development\n\n* `ember serve`\n* Visit your app at [http://localhost:4200](http://localhost:4200).\n* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).\n\n### Code Generators\n\nMake use of the many generators for code, try `ember help generate` for more details\n\n### Running Tests\n\n* `ember test`\n* `ember test --server`\n\n### Linting\n\n* `npm run lint:hbs`\n* `npm run lint:js`\n* `npm run lint:js -- --fix`\n\n### Building\n\n* `ember build` (development)\n* `ember build --environment production` (production)\n\n### Deploying\n\nSpecify what it takes to deploy your app.\n\n## Further Reading / Useful Links\n\n* [ember.js](https://emberjs.com/)\n* [ember-cli](https://cli.emberjs.com/release/)\n* Development Browser Extensions\n  * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)\n  * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajasegar%2Fjarvis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajasegar%2Fjarvis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajasegar%2Fjarvis/lists"}