nushell / nushell/nufmt

Upgrade nufmt dependencies / toolchain

Open
#214 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.