Conversation
WalkthroughThis update revises dependency versions in Rust and Node.js configuration files. It upgrades several Rust crate dependencies and dev-dependencies, adds release profile optimizations for specific crates, and bumps Node.js package and devDependency versions. Additionally, it simplifies the Renovate configuration by removing package rules for Changes
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (3)
⏰ Context from checks skipped due to timeout of 90000ms (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Pull Request Overview
Bumps multiple dependencies and updates build configurations for size optimizations across the JS and Rust parts of the repo.
- Updated JavaScript dependencies in
package.json - Bumped N-API crates and build tools in
napi/Cargo.toml - Bumped various Rust crates, removed a lint allowance, and added per-package release profile tweaks in
Cargo.toml
Reviewed Changes
Copilot reviewed 3 out of 5 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| package.json | Bumped napi-postinstall, @types/node, and prettier to newer patch/minor versions |
| napi/Cargo.toml | Upgraded napi, napi-derive to 3.0.0-beta.11 and napi-build to 2.2.2 |
| Cargo.toml | Upgraded indexmap, papaya, criterion2; removed multiple_crate_versions lint allowance; added size-focused release profiles for regex crates |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)
Cargo.toml:74
- The
multiple_crate_versions = "allow"lint allowance was removed; ensure this change is intentional to avoid new Clippy warnings or CI failures, or update the lint config if needed.
missing_const_for_fn = "allow"
package.json:1
- Dependencies were bumped in package.json but the lockfile (package-lock.json or yarn.lock) isn't updated; please commit the updated lock file to ensure reproducible installs.
{
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #170 +/- ##
=======================================
Coverage 92.22% 92.22%
=======================================
Files 13 13
Lines 3060 3060
=======================================
Hits 2822 2822
Misses 238 238 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Important
Looks good to me! 👍
Reviewed everything up to 1b151cc in 1 minute and 8 seconds. Click for details.
- Reviewed
225lines of code in4files - Skipped
1files when reviewing. - Skipped posting
3draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. Cargo.toml:92
- Draft comment:
The workspace Cargo.toml declares windows-sys version "0.59", but the lock file now shows version "0.60.2". For pre-1.0 releases, ^0.59 only allows 0.59.x. Please update the version constraint if the bump is intended. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. napi/Cargo.toml:25
- Draft comment:
Bumped versions for 'napi' and 'napi-derive' to beta.11. Verify that no breaking changes were introduced compared to beta.9. - Reason this comment was not posted:
Confidence changes required:33%<= threshold50%None
3. package.json:29
- Draft comment:
The 'napi-postinstall' version is updated to ^0.2.5. Ensure this version is compatible with your postinstall process and native binding expectations. - Reason this comment was not posted:
Confidence changes required:33%<= threshold50%None
Workflow ID: wflow_uWXFPe66J5QuwGru
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
package.json (1)
34-34: Node 22 type stubs may outpace your runtime matrix
@types/node@22targets the current release line. If your consumers still test on active LTS (v18/20), the newer lib dom/shims may creep in. Consider pinning to the lowest supported major (^20) unless you officially drop older LTS lines.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
Cargo.lockis excluded by!**/*.lockpnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (3)
Cargo.toml(3 hunks)napi/Cargo.toml(2 hunks)package.json(1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
package.json (6)
Learnt from: JounQin
PR: unrs/unrs-resolver#75
File: fixtures/pnp/package.json:11-14
Timestamp: 2025-04-21T08:11:41.469Z
Learning: The project uses a justfile with an `install` task that includes running yarn in the fixtures/pnp directory to install dependencies with the command: `cd fixtures/pnp && yarn`.
Learnt from: JounQin
PR: unrs/unrs-resolver#40
File: src/tests/resolve.rs:121-136
Timestamp: 2025-03-29T04:14:03.715Z
Learning: For tests involving npm/yarn package resolution in the unrs-resolver project, dependencies must be installed first using the appropriate package manager commands (pnpm i, yarn) in both the root directory and fixture directories like fixtures/pnp and fixtures/misc/nested-package-json.
Learnt from: JounQin
PR: unrs/unrs-resolver#144
File: napi/patch.mjs:5-5
Timestamp: 2025-06-10T13:53:02.983Z
Learning: Build-time scripts in napi/patch.mjs and similar build pipeline contexts don't require error handling for reading expected files like index.js, as these files are guaranteed to be present during the build process.
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
Learnt from: JounQin
PR: unrs/unrs-resolver#115
File: tests/resolve_test.rs:251-263
Timestamp: 2025-05-28T02:21:41.547Z
Learning: In pnpm workspaces, `pnpm install` must be run first to initialize dependencies and create the proper node_modules/.pnpm structure before tests can pass. Tests that rely on resolving packages will fail if dependencies haven't been installed yet.
napi/Cargo.toml (7)
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
Learnt from: JounQin
PR: unrs/unrs-resolver#136
File: src/tests/extension_alias.rs:36-46
Timestamp: 2025-06-05T18:52:30.363Z
Learning: The fixtures/yarn directory in the unrs-resolver project requires running `yarn install` to install TypeScript dependencies before tests can run, similar to other fixture directories like fixtures/pnp. The test in src/tests/extension_alias.rs depends on the installed TypeScript package providing lib/typescript.d.ts and related files.
Learnt from: JounQin
PR: unrs/unrs-resolver#129
File: src/tests/pnp.rs:6-6
Timestamp: 2025-06-02T15:57:50.888Z
Learning: In the unrs-resolver project, std::env is acceptable for test cases even when deprecated, as the user prefers simpler approaches in test code compared to production code standards.
Learnt from: JounQin
PR: unrs/unrs-resolver#75
File: src/tests/pnp.rs:116-133
Timestamp: 2025-04-21T08:17:34.175Z
Learning: Test cases in unrs-resolver that intentionally document failing behavior should make the intent clear by either: 1) asserting on the expected error condition rather than the desired behavior, 2) using #[should_panic] for tests expected to panic, or 3) using #[ignore] with a reason to skip known failing tests in CI.
Learnt from: JounQin
PR: unrs/unrs-resolver#40
File: src/tests/resolve.rs:121-136
Timestamp: 2025-03-29T04:14:03.715Z
Learning: For tests involving npm/yarn package resolution in the unrs-resolver project, dependencies must be installed first using the appropriate package manager commands (pnpm i, yarn) in both the root directory and fixture directories like fixtures/pnp and fixtures/misc/nested-package-json.
Learnt from: JounQin
PR: unrs/unrs-resolver#75
File: src/tests/pnp.rs:116-133
Timestamp: 2025-04-21T08:13:59.358Z
Learning: In the unrs-resolver project, tests that intentionally document failing behavior (regression tests) should either use #[should_panic], assert on the expected error, or include clear documentation indicating they are intentional failing test cases.
Learnt from: JounQin
PR: unrs/unrs-resolver#144
File: napi/patch.mjs:5-5
Timestamp: 2025-06-10T13:53:02.983Z
Learning: Build-time scripts in napi/patch.mjs and similar build pipeline contexts don't require error handling for reading expected files like index.js, as these files are guaranteed to be present during the build process.
Cargo.toml (2)
Learnt from: JounQin
PR: unrs/unrs-resolver#75
File: src/tests/pnp.rs:116-133
Timestamp: 2025-04-21T08:17:34.175Z
Learning: Test cases in unrs-resolver that intentionally document failing behavior should make the intent clear by either: 1) asserting on the expected error condition rather than the desired behavior, 2) using #[should_panic] for tests expected to panic, or 3) using #[ignore] with a reason to skip known failing tests in CI.
Learnt from: JounQin
PR: unrs/unrs-resolver#75
File: src/tests/pnp.rs:116-133
Timestamp: 2025-04-21T08:13:59.358Z
Learning: In the unrs-resolver project, tests that intentionally document failing behavior (regression tests) should either use #[should_panic], assert on the expected error, or include clear documentation indicating they are intentional failing test cases.
⏰ Context from checks skipped due to timeout of 90000ms (10)
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Code Coverage
- GitHub Check: Benchmark
- GitHub Check: Lint
- GitHub Check: Test (ubuntu-latest)
- GitHub Check: Test wasi target
- GitHub Check: Test (macos-14)
- GitHub Check: Test (windows-latest)
- GitHub Check: Analyze (actions)
- GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (8)
napi/Cargo.toml (2)
39-39: Keepnapi-buildin lock-step withnapi
napi-build2.2.2 is designed fornapi≥ 3 beta 11, so this bump is correct. No action required beyond ensuringCargo.lockis committed after runningcargo update -p napi-build.
25-26: Please verify N-API feature flags locallyThe sandbox environment couldn’t run
cargo check(missing/proc/self/exe), so please confirm on your machine that bothnapi3andserde-jsonstill exist in3.0.0-beta.11. You can do this with:cargo check -p unrs_resolver_napi --manifest-path napi/Cargo.toml --all-featuresIf either feature was renamed or removed, update the
featureslist accordingly before merging.package.json (2)
29-29: Verify CLI arg compatibility afternapi-postinstallbump
postinstallcallsnapi-postinstall … check. 0.2.5 introduced a breaking rename in the sub-command options in some earlier betas; please run the script locally (pnpm i --ignore-scripts && node ./node_modules/.bin/napi-postinstall --help) to be sure the argument order is unchanged.
37-37: Watch for Prettier 3.x config warningsPrettier 3.6 introduced stricter config-file discovery; projects with a nested root need an explicit
"prettier"field or.prettierrc. Just make sure CI formatting checks still pass.Cargo.toml (4)
83-83:indexmap 2.10drops theserdere-export on defaultVersion 2.10 gated
serdebehind the same feature but stopped auto-enabling it in certain transitive scenarios. You’re enablingfeatures = ["serde"]explicitly, so all good, but keep an eye on downstream crates that relied on the implicit behaviour.
86-86:papaya 0.2.3addedno_stdtweaksNothing breaking for std builds, but if you compile with
--no-default-featuresanywhere, re-audit its new feature matrix.
100-101:criterion2 3.0.1fixes a soundness issue – good catchThis brings the upstream
#![feature(test)]guard removal; benches should continue to compile untouched.
145-149: Size-optimising regex crates may hurt hot-path perf
opt-level="z"trades ~10-20 % throughput for a few KB. If resolver hot-spots rely on heavy regex parsing (e.g. PNP patterns), run a quick bench (cargo bench --bench resolver) to ensure the regression is acceptable.
CodSpeed Performance ReportMerging #170 will not alter performanceComparing Summary
|
|
There was a problem hiding this comment.
Important
Looks good to me! 👍
Reviewed 4f19a59 in 1 minute and 13 seconds. Click for details.
- Reviewed
251lines of code in5files - Skipped
1files when reviewing. - Skipped posting
8draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. Cargo.lock:1353
- Draft comment:
Updated 'windows-sys' to v0.60.2. Verify that this dependency bump doesn’t introduce any API or compatibility issues downstream. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
2. Cargo.toml:85
- Draft comment:
Bumped 'indexmap' to v2.10.0. Please ensure that any API changes are compatible with its usage. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
3. Cargo.toml:88
- Draft comment:
Upgraded 'papaya' to v0.2.3. Confirm that no breaking changes affect your code. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
4. Cargo.toml:96
- Draft comment:
Updated 'windows-sys' dependency to version 0.60 with required features. Verify compatibility with Windows-specific code. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
5. Cargo.toml:103
- Draft comment:
Bumped 'criterion2' to v3.0.1 in dev-dependencies. Make sure this update doesn't affect your benchmarking setup. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
6. napi/Cargo.toml:25
- Draft comment:
Bumped 'napi' and 'napi-derive' to 3.0.0-beta.11 and 'napi-build' to 2.2.2. Confirm that these beta updates integrate well with your N-API interface. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
7. package.json:29
- Draft comment:
Updated npm dependencies: 'napi-postinstall' to ^0.2.5, '@types/node' to ^22.16.0, and 'prettier' to ^3.6.2. Verify these changes align with your build and CI processes. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
8. renovate.json:3
- Draft comment:
The ignore rule for 'windows-sys' has been removed. Ensure that allowing its updates won’t lead to unexpected frequent update PRs. - Reason this comment was not posted:
Confidence changes required:50%<= threshold50%None
Workflow ID: wflow_Jf7SdBOsur5j0fmn
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.



Important
Bump dependencies and add release profile optimizations for smaller binary size.
autocfgto 1.5.0,criterion2to 3.0.1,indexmapto 2.10.0,libcto 0.2.174,napito 3.0.0-beta.11,napi-buildto 2.2.2,napi-deriveto 3.0.0-beta.11,papayato 0.2.3, andwindows-systo 0.60.2 inCargo.lock.indexmapto 2.10.0,papayato 0.2.3,windows-systo 0.60inCargo.toml`.napito 3.0.0-beta.11,napi-deriveto 3.0.0-beta.11,napi-buildto 2.2.2 innapi/Cargo.toml.napi-postinstallto 0.2.5,@types/nodeto 22.16.0,prettierto 3.6.2 inpackage.json.Cargo.tomlto optimizeregex-automataandregex-syntaxfor smaller binary size.This description was created by
for 4f19a59. You can customize this summary. It will automatically update as commits are pushed.
Summary by CodeRabbit