Upgrade nufmt dependencies / toolchain
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 230
- Forks
- 40
- Avg merge
- 15h 30m
- Merged PRs (30d)
- 1
Description
nufmt has fallen behind the main Nushell repository, and some of its dependencies are now deprecated.
Sooner or later it'll have to:
- migrate to Rust Edition 2024
- update dependencies to match the main Nushell repository
- remove and replace deprecated components
Given the version gap, preserving compatibility with the current dependency set probably isn't worth the additional complexity.
I have roughly implemented the updates and would be happy to open a PR if this approach seems reasonable. LLMs should be very suitable to help with this job. I promise that I will carefully review the code line by line. But since the current nufmt itself still “eats code” (https://github.com/nushell/nushell/discussions/18558), I think it's not very meaningful to keep the upgraded nufmt behavior exactly the same as before. But I'll try to maintain consistency with the original design goals and will make it passes all the tests.
I expect the workload won't be too large, but it will almost definitely generate A LOT OF diff. I'll also use .gitattributes to help minimize some of them.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing nufmt's Rust toolchain and dependencies with the main Nushell repository, then identify deprecated components and the changes needed for Rust Edition 2024. Review the proposed approach and use .gitattributes to manage the large diff. Run all tests; done means the updated dependencies and toolchain work without regressions and the formatter no longer fails its existing tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100