Main v1.39.0#174
Conversation
As this is a new feature
Because GitHub actions approval button is missing
This reverts commit f5f2ca2. we can revert the yarn changes and do it in a different PR
Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
* feat: support to install the latest version * chore: test & fmt & clippy * docs: update command docs * docs: update command docs * Create warm-rice-appear.md * Update change set to be a minor release As this is a new feature * chore: update workflow to install pnpm * Remove `feat:` from changeset Because GitHub actions approval button is missing * run pnpm like other tasks * Revert "run pnpm like other tasks" This reverts commit f5f2ca2. we can revert the yarn changes and do it in a different PR * revert the changes in .github/workflows * feat: add remote version sorting and filtering * use `UserVersion` for filtering * add additional lts filter * refactor: use `Vec::retain` instead of filtering and collecting * fix docstring for sort option * change docstring for filter argument * refactor vec filtering Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com> * refactor to use `sort_by_key` and `reverse` Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com> * add latest flag * make filter an option as well * move sort into command as it is presentational * fix getting latest version * refactors * update docs/commands.md * sort upon installation * fix clippy * don't mention rust structs in the cli docs * test more stuff in archiving * fnm env --global: considering if this is a good idea technically i think that i can just mutate the 'default' alias instead. because now that i think about it, it makes 0 sense to set current to 'default' every time a new shell is opened. so current _is_ default. * chore(deps): update rust crate embed-resource to v2.5.2 * fix(deps): update rust crate tar to v0.4.44 * fix(deps): update rust crate thiserror to v1.0.69 * chore(deps): update clap-rs * chore(deps): update rust crate chrono to v0.4.44 * chore(deps): update all dev dependencies --------- Co-authored-by: Fred <nzhlfred@gmail.com> Co-authored-by: Gal Schlezinger <gal@spitfire.co.il> Co-authored-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…dates (#146) Bumps the npm_and_yarn group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) | `7.26.0` | `7.28.6` | | [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` | | [js-yaml](https://github.com/nodeca/js-yaml) | `3.14.1` | `3.14.2` | | [lodash](https://github.com/lodash/lodash) | `4.17.21` | `4.17.23` | | [minimatch](https://github.com/isaacs/minimatch) | `3.1.2` | `3.1.5` | Updates `@babel/helpers` from 7.26.0 to 7.28.6 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.28.6/packages/babel-helpers) Updates `brace-expansion` from 1.1.11 to 1.1.12 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.12) Updates `js-yaml` from 3.14.1 to 3.14.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) Updates `lodash` from 4.17.21 to 4.17.23 - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) Updates `minimatch` from 3.1.2 to 3.1.5 - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](isaacs/minimatch@v3.1.2...v3.1.5) --- updated-dependencies: - dependency-name: "@babel/helpers" dependency-version: 7.28.6 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: brace-expansion dependency-version: 1.1.12 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: minimatch dependency-version: 3.1.5 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
* Create cyan-eagles-drop.md Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Update .changeset/cyan-eagles-drop.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> --------- Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Sorry @Dargon789, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces significant updates across the project, focusing on core dependency upgrades, refining command-line interface functionalities, and laying the groundwork for a new project website. Key changes include a new global Node.js version management option, more robust symlink operations, and a simplification of the installation process. These changes aim to improve the tool's reliability, maintainability, and user experience. Highlights
Changelog
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
@Mergifyio update |
|
@Mergifyio refresh |
☑️ Nothing to do, the required conditions are not metDetails
|
✅ Pull request refreshed |
There was a problem hiding this comment.
Code Review
This pull request introduces dependency updates, refactoring, and new features, such as a new website and the --global flag for the env command. However, a medium-severity vulnerability was identified in the zip extraction logic, where file permissions from the archive are applied without respecting the system's umask, potentially leading to insecure file permissions in shared environments. Additionally, critical issues include the removal of version sorting in remote_node_index.rs which could affect "latest" version resolution, flawed logic for the --latest flag in ls-remote, and a significant feature regression due to the removal of SemverRange support.
I am having trouble creating individual review comments. Click here to see my feedback.
src/remote_node_index.rs (77-79)
The list function no longer sorts the returned versions. The previous implementation sorted the versions, which is crucial because the remote index.json is not guaranteed to be sorted. Other parts of the application, such as the install command's logic for the latest version, rely on this list being sorted to correctly identify the latest version. Without sorting, it might pick an incorrect version. Please reintroduce the sorting to prevent this bug.
let mut value: Vec<IndexedNodeVersion> = resp.json()?;
value.sort_by_key(|v| v.version.clone());
Ok(value)
src/user_version.rs (5-9)
The SemverRange variant has been removed from the UserVersion enum. This removes support for specifying versions using semver ranges (e.g., ^14.0.0, ~12.2.1), which is a significant feature regression. Was this removal intentional? If not, it should be restored to maintain backward compatibility and feature parity. The semver crate provides VersionReq for this purpose, which could replace the node_semver::Range.
src/commands/ls_remote.rs (59-66)
The current logic for handling the --latest flag is incorrect. It sorts the versions in ascending order and then truncates the list to the first element, which results in returning the oldest matching version, not the latest. To fix this, you should sort the versions, then reverse the order if sorting descending, and only then truncate the list if --latest is specified.
all_versions.sort_by_key(|v| v.version.clone());
if let SortingMethod::Descending = self.sort {
all_versions.reverse();
}
if self.latest {
all_versions.truncate(1);
}docs/commands.md (431)
The help section for the help command is empty. It would be beneficial to include a brief description of what the command does, similar to the other commands in this document.
Print this message or the help of the given subcommand(s)
site/app/page.tsx (3-14)
The component uses inline styles. While this is acceptable for a very simple component, it's generally better to use CSS Modules or a CSS-in-JS library for styling in Next.js/React applications. This improves maintainability, allows for pseudo-classes and media queries, and avoids mixing styling concerns with component logic.
src/archive/tar.rs (43)
The dbg! macro is used here for debugging. It should be removed from the test code before merging to avoid polluting test output. This also applies to line 62.
src/archive/tar.rs (62)
The dbg! macro is used here for debugging. It should be removed from the test code before merging to avoid polluting test output.
b8ed8b2
into
changeset-release/master-v1.39.0
No description provided.