hbjORbj / intuita-vscode-extension

Modernize your dependencies by running (quality-checked, community-led) codemods right within your favorite code editor.

Home Page:https://marketplace.visualstudio.com/items?itemName=Intuita.intuita-vscode-extension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome codemods delivered to you!

  • Intuita is a codemod manager πŸ€– that makes migrations, dependency upgrades & large refactorings faster & easier for codebases of any size.
  • Intuita's extension is open source & supports the best codemod engines out there, such as Facebook's JSCodeShift, Uber's Piranha, & soon ML-powered engines. If your favorite codemod engine is not supported yet, please create an issue for us to prioritize.
  • The codemods for upgrading the following frameworks/libraries have already been added to the extension. If you want to upgrade a dependency in the near future & it's not listed here, please create an issue for us to prioritize.
    • Nextjs vx β†’ v13
    • Material UI v4 β†’ v5
    • React Router vx β†’ v4 & v4 β†’ v6
    • ImmutableJS x3 β†’ v4
  • If you want to add an existing codemod to the extension, follow this tutorial β†’
  • You can also create new codemods that directly integrate into the Intuita extension using Intuita’s Codemod Studio β†’

Learn more at Intuita.io β†’

Warning This extension is in Public Beta! Get in touch if you are planning to use this extension for large upgrades & you have some feature requests!


How It Works πŸͺ„

  1. Open package.json in your project & applicable upgrade codemods automatically show up for you.

the snapshot showing the text right next to a dependency in package.json

  1. Click on "execute codemods" or run the codemods from the VS Code's Command menu & let Intuita transform your code automatically.

the snapshot showing the available Intuita commands in VS Code

  1. Quickly review, tweak, & apply the proposed changes one-by-one or in batches.

the snapshot showing proposed changes to code which are automatically created after intuita codemods are executed

If you like videos better, here is a quick YouTube tutorial.


Why Intuita?

Codemod Consumers πŸ§‘πŸΎβ€πŸ’»πŸ‘©πŸ»β€πŸ’»

  • ❌ Without Intuita ❌ if you want to upgrade a dependency with some API & breaking changes, you need to:

    • Search online for upgrade guides & if you are lucky, find some codemods (likely not following any quality guidelines or without proper tests).
    • Run those codemods in CLI one by one (~60 codemods for Material UI v5 upgrade) without knowing which one is actually applicable to your codebase.
    • End up with large PRs & many reviewers because you couldn't easily distribute the changes into meaningful commits.
    • And finally, if many teams are impacted, you need to create tasks, manually find the best reviewer & follow up on those tasks until you get the change reviewed & merged.
  • βœ… With Intuita βœ… a set of quality-checked community-led codemods will be pushed to you right in the package.json (for JS/TS) so you don't need to search for them.

    • You run all the codemods with one click.
    • At an intermediary step before making the code change, you can tweak them if needed, batch them as you wish & push your changes for review.
    • [Enterprise feature] for large teams, we will be building integrations with Jira/Slack/Github to automatically assign tasks & send reminders to teams, leadership dashboard for tracking & coordinating the campaign.

Codemod Builders πŸ₯·πŸΌ

  • ❌ Without Intuita ❌ you go the codemod journey alone! You ask yourself:

    • What are the best codemod engines out there for the type of transformation i want to build?
    • What's the easiest way to build codemods? Any tool out there? How about creating test cases?
    • Has anyone out there built the exact codemod I want to build?
    • How can my codemod be discovered & used by thousands of other developers out there who could benefit from it sooner or later?
  • βœ… With Intuita βœ… you are surrounded by a community of codemod experts

    • We build tools, processes & guidelines on how to write high-quality codemods & associated tests & pick the right engine (imperative, declarative, ML based, or pattern based) for each use case.
    • We will be the distribution channel for your codemods. You write a useful codemod & along with other codemods created by the community, we will ship it to tens of thousands of developers out there within a few mins of integrating them into Intuita.
    • If you, just like us, are also a codemod nerd, let's get in touch! we are growing our team with awesome engineers who are passionate about automating boring tasks for fellow developers.

Engineering Leads πŸ‘©πŸΎβ€πŸ’ΌπŸ‘¨πŸ»β€πŸ’Ό

  • ❌ Without Intuita ❌ leaders do not have visibility into the status of large migration/upgrade campaigns. You ask yourself:

    • How long would this upgrade take? How many developers are impacted? Are we on track to hit our business deadlines?
  • βœ… With Intuita βœ… [enterprise features] you can easily track progress & coordinate migration campaigns across many teams.

    • Team leads, please contact us to learn more about enterprise features such as Jira/Github/Slack integrations, automated task & notification delivery.

Telemetry πŸ”­

  • The extension collects telemetry data to help us improve the product for you.
  • We never send PII, OS information, file or folder names.
  • Telemetry can be disabled in the settings.
  • See more details in our telemetry compliance considerations doc.

Share Feedback 🎁

  • Please share your ideas, questions, feature requests here, or chat with us in Slack

Join Us πŸ™ŒπŸΌ

  • We are an early-stage startup backed by amazing angels in silicon valley! If you are a codemod nerd or passionate about building delightful devtools, let's chat!


About

Modernize your dependencies by running (quality-checked, community-led) codemods right within your favorite code editor.

https://marketplace.visualstudio.com/items?itemName=Intuita.intuita-vscode-extension

License:Apache License 2.0


Languages

Language:TypeScript 98.4%Language:JavaScript 1.6%