Commits
* `cargo update` and `rustup update` + putting it in rust-toolchain
* cargo clippy --fix
* manual clippy fixes
* fix ci
* update commands.md
* Add random number to multishell symlinks
This protects against collisions when multiple shells are started in parallel
inside Bubblewrap sandboxes, as each shell will have the same timestamp and the
same low PID (e.g. 2), since Bubblewrap sandboxes have isolated PID spaces.
* Add a changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* docs: add e2e testing guide for agents
* docs: trim AGENTS e2e section
* docs: refine AGENTS guidance for e2e and changesets
* feat: add possible values to the arch help docs.
* add a changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* perf(install): pin shell in generated env setup
* ci: pin docker platform for ARM installer tests
* chore: add changeset for installer shell update
* fix(use): clarify interactive install prompt source
* chore: add changeset for prompt clarification
* feat: support x64-glibc-217
* add changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(zsh): dedupe use-on-cd hook on re-source
* fix(wincmd): support spaces and drive switches in use-on-cd
* test(e2e): cover use-on-cd after re-sourcing env
* chore: add changeset for use-on-cd shell fixes
* feat(install): add `--use` flag
* add changeset
* update the command docs
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* Add `fnm default` to return default version
Fixes #1196.
* changeset
* cargo fmt && cargo clippy --fix
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* fix: set correct INSTALL_DIR for brew installation
* docs(readme): add note about --force-install option for macOS
* update rust versions
* run cargo clippy --fix
* changeset
* update action
* update zig installation
* use mlugg/setup-zig@v2
* maybe we can drop zigbuild? no time to debug this
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* docs(readme): improve info about powershell profile
* Update README.md
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: swallow missing dotfile if silent_if_unchanged provided
* add test
* add changeset
* fix implementation lmao
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
GitHub runners changed from Intel-based hardware to M1, which is good, but also a breaking change in the installation script. So now we create a (fatter) executable that can run on both M1 and x64. We might have fnm-macos-arm.zip later on, but homebrew is probably a better choice!
* use miette for everything, i think i should use miette just for json decode for now
* only on ls-remote
* fix test
* use .json instead of failing all the time
* fix test
* changeset
* remove unnecessary feature
* remove test for now
* remove unnecessary .to_string()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* bump Rust to 1.81
* feat: enable --resolve-engines by default. out of experimental phase!
* add changeset
* update command docs
* update env --json test
* Having alias for install and uninstall commands
* Adding changeset
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: download failure when remote file is missing
If the .tar.xz download fails, it will try again with the .tar.gz file.
Fixes #1088
* Update changeset
* Update changeset
* fix clippy warnings and add test
* add snapshot
* fix types
* skip on windows
* don't have obsolete snapshots
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(install): actually tag versions if corepack is enabled
* create changeset
* add e2e tests
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* add link for windows terminal startup script
* Create large-mails-confess.md
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* check for non-empty vector before draining to latest version
* when filtering to latest, use swap+truncate instead of drain
* add changeset
* add a test
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* Fix --resolve-engines with --use-on-cd
* Add clippy suggestions
* Create hot-mice-camp.md
* apply tests
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Use `var_os` instead of `var`
* One create bin_path and fixed_path when needed
* Avoid unneeded allocations for Arch
* Avoid repetition for VersionFileStrategy
* Use write_str when possible
* Avoid unneeded allocation in rehash
* Make LogLevel Copy and add as_str
* VersionFileStrategy is Copy
* Clone if Some
* Avoid hashing and allocation if not JSON
* Arch is Copy
* Fix Windows target
* create changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* Add random number to multishell symlinks
This protects against collisions when multiple shells are started in parallel
inside Bubblewrap sandboxes, as each shell will have the same timestamp and the
same low PID (e.g. 2), since Bubblewrap sandboxes have isolated PID spaces.
* Add a changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: download failure when remote file is missing
If the .tar.xz download fails, it will try again with the .tar.gz file.
Fixes #1088
* Update changeset
* Update changeset
* fix clippy warnings and add test
* add snapshot
* fix types
* skip on windows
* don't have obsolete snapshots
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
* Avoid unneeded allocations for Arch
* Avoid repetition for VersionFileStrategy
* Use write_str when possible
* Avoid unneeded allocation in rehash
* Make LogLevel Copy and add as_str
* VersionFileStrategy is Copy
* Clone if Some
* Avoid hashing and allocation if not JSON
* Arch is Copy
* Fix Windows target
* create changeset
---------
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>