chore(deps): update dependencies within existing semver ranges#1741
Conversation
Refresh package-lock.json to pull in the latest in-range versions of dependencies and devDependencies. No package.json changes, so the Node >=18.17 engine requirement is unchanged. The @azure/* packages are intentionally held at their current Node-18-compatible versions: the latest in-range releases (@azure/core-auth 1.10.x, @azure/identity 4.13.x, @azure/keyvault-keys 4.10.x) now declare engines.node >=20.0.0, which would effectively raise the runtime Node requirement. Bumping those is deferred to a separate change that also bumps the supported Node versions. Notable bumps include @typescript-eslint/*, @stylistic/eslint-plugin, eslint, iconv-lite, mocha, sinon, typedoc, and @types/node (range >=18). Build, lint (tsc), and all 390 unit tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TDHvbPRnNFPvoqQcGUgd3H
This comment has been minimized.
This comment has been minimized.
|
@claude can you review again? |
This comment has been minimized.
This comment has been minimized.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1741 +/- ##
==========================================
+ Coverage 79.82% 80.06% +0.24%
==========================================
Files 90 90
Lines 4901 4901
Branches 923 923
==========================================
+ Hits 3912 3924 +12
+ Misses 687 672 -15
- Partials 302 305 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
When Entra ID token acquisition fails during federated authentication, the AggregateError was constructed with only an errors array and no message, so it printed as a bare "AggregateError:" with the real cause hidden inside .errors. Pass a message that includes the underlying error's message so the actual failure is visible in logs and test output. The .errors array shape ([ConnectionError, err]) is unchanged, so isTransientError and the existing error assertions still hold. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TDHvbPRnNFPvoqQcGUgd3H
Code Review: chore(deps): update dependencies within existing semver rangesOverviewThis is a lockfile-only refresh ( Positives
Notable Version Changes
Observations & Minor Notes
No Issues Found
VerdictLGTM. This is a clean, well-reasoned dependency refresh. The documentation of the Azure hold-back is particularly appreciated — future maintainers will understand why those packages weren't bumped. Ready to merge. |
The dependency refresh held the direct @azure/* packages at Node-18 versions but let transitive ones (@azure/core-rest-pipeline, core-util, core-client, core-tracing, logger) move to releases that declare engines.node >=20. On Node 18 — which all four Azure CI jobs pin — core-rest-pipeline@1.24.0 fails MSAL's token HTTP request with "network_error: Network request failed", surfaced as the fedauth AggregateError, which broke every Entra-based Azure integration job (SQL-auth, which makes no token call, stayed green). Add overrides bounding these packages below the first >=20 release so they stay on the last Node-18-compatible line while still absorbing in-line patches. Verified on Node v18.20.8: service-principal and password token acquisition succeed, no @Azure package requires Node >=20, and build, lint, and all 394 unit tests pass. Remove this overrides block when the supported Node baseline is raised to 20. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This reverts commit 5ffe179. The message was added mid-investigation to expose the real fedauth failure (network_error from the Node-20-only @Azure transitive deps on Node 18), which is now fixed at the source by pinning those packages back to the Node-18 line. Reverting to keep this branch scoped to the dependency update; the AggregateError message improvement can be reintroduced as a standalone change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Code Review:
|
Code Review: chore(deps): update dependencies within existing semver rangesOverviewThis PR refreshes the lockfile, adds package.json — overrides blockConcern: PR description says "No package.json changes" but package.json was modified. The Concern: Upper-bound ranges are implicit pinning. These ranges will silently pick the highest available version below the ceiling. When Node 20 support lands (see #1700 / #1735) these overrides must be removed. Recommend opening a tracking issue or leaving a comment in the file pointing to the relevant PR, so this does not become forgotten tech debt. Note: package-lock.json — transitive major version bumpsThe PR description calls out notable bumps but omits significant ones pulled in by
The MSAL major bumps (3 to 4 and 2 to 3) are the most significant risk. These are pulled in transitively by The New package introduced: src/connection.ts — AggregateError improvementsThe PR adds a second
This is a good change. Without a message, Minor concern: This change is unrelated to dependency updates. It would be cleaner in its own PR for history clarity, but it is non-breaking and a clear improvement. Missing tests: No unit tests verify the new Summary
The approach is well-considered and the rationale for holding back the Node-20-only Azure packages is clearly explained. The main asks are: (1) verify MSAL major version jumps work correctly in real auth scenarios via integration tests, and (2) ensure the overrides removal is tracked alongside the Node 20 upgrade work in #1700 / #1735. |
|
🎉 This PR is included in version 19.2.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary
Refreshes
package-lock.jsonto pull in the latest in-range versions of dependencies and devDependencies. The onlypackage.jsonchange is a newoverridesblock that keeps the transitive@azure/*packages on their Node-18-compatible line (see below); theengines.noderequirement (>=18.17) is unchanged.Notable bumps include
@typescript-eslint/*,@stylistic/eslint-plugin,eslint,iconv-lite,mocha,sinon,typedoc,jws/jwa, and@types/node(range>=18).Keeping
@azure/*on the Node-18 lineThe direct
@azure/*dependencies are held at their current Node-18-compatible versions — the latest in-range releases (@azure/core-auth1.10.x,@azure/identity4.13.x,@azure/keyvault-keys4.10.x) declareengines.node: >=20.0.0, which would raise the runtime Node floor. Bumping them is deferred to a change that also bumps the supported Node versions (see #1700 / #1735).However, the lockfile refresh also pulled several transitive
@azure/*packages up to releases that likewise requireengines.node: >=20.0.0. On the Node 18 Azure CI jobs,@azure/core-rest-pipeline@1.24.0fails MSAL's token request withnetwork_error: Network request failed, which broke every Entra-based Azure integration job. To keep Node 18 support intact, anoverridesblock bounds these packages below their first>=20release:Remove this block when the supported Node baseline is raised to 20.
Superseded PRs
This refresh already brings the lockfile to (or past) the versions these dependency PRs target:
Fixes: #1711
Fixes: #1724
(Note: GitHub's
Fixeskeyword only auto-closes issues, not PRs, so these may need to be closed manually.)Verification
npm run build— cleannpm run lint(eslint +tsc) — cleannpm test— 394 passingnetwork_error)🤖 Generated with Claude Code