facebookincubator / fastmod

A fast partial replacement for the codemod tool
Apache License 2.0
1.68k stars 42 forks source link

feat(deps): upgrade all dependencies and migrate as required #50

Open LeoniePhiline opened 7 months ago

LeoniePhiline commented 7 months ago

I have signed the individual CLA.

I am working on an implementation of https://github.com/facebookincubator/fastmod/issues/49.

In preparation, dependencies need to be brought up to date.

chore(deps): update transitive dependencies

This changeset updates transitive dependencies, while keeping Cargo.toml untouched.

fix(deps): upgrade assert_cmd to 2

Migrate assert_cmd from version 1 to 2. No relevant breaking changes.

fix(deps): upgrade crossterm to 0.27

Migrate crossterm from version 0.24 to 0.27. No relevant breaking changes.

fix(deps): upgrade rprompt to 2.1.1

Migrate rprompt from version 1 to 2.

Code migration was applied, adapting fastmod to rprompt breaking API changes:

https://github.com/conradkleinespel/rprompt/releases/tag/v2.0.2

feat(deps): upgrade clap from 2 to 4, migrating to clap derive

This changeset migrates fastmod from clap 2.x to the latest clap 4.x, migrating code around breaking changes.

The arguments setup and retrieval is migrated to clap's much more maintainable derive syntax.

All arguments are migrated to function identically to their clap 2 counterparts.

fix(deps): update grep from 0.2 to 0.3

Migrate grep from version 0.2 to 0.3. No relevant breaking changes. (grep-searcher was upgraded from 0.1.7 to 0.2.1, but re-export grep::searcher is unused in fastmod.)

style: fix all clippy lints

Fixes all clippy lints, while not changing application behavior.


I will provide further patches updating direct crate dependencies.

facebook-github-bot commented 7 months ago

Hi @LeoniePhiline!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

facebook-github-bot commented 7 months ago

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

LeoniePhiline commented 7 months ago

@swolchok

This PR is meant as base for implementing opt-in fancy-regex support to allow for regex lookarounds.
However, the dependency upgrades are worth their own merge, and the fancy-regex feature might take some time.

If you can find time at all, I would very much appreciate if you could review this PR, and optionally cut a release (0.5.0).

All changes are logically grouped into individual commits and should be rather simple to review.
I definitely recommend reviewing commit by commit, rather than the combined PR diff.

Thank you very much!