chore(m365): bump @azure/msal-node 3 -> 6 - #5849
Open
ToddHebebrand wants to merge 2 commits into
Open
ToddHebebrand wants to merge 2 commits into
ToddHebebrand wants to merge 2 commits into
Conversation
There is no v4 (v3 -> v5 -> v6 in one jump per upstream). Breaking
surface across v5/v6 (proxyUrl/customAgentOptions removal,
protocolMode relocation, native fetch, acquireTokenInteractive
default responseMode change, loopbackClient removal) does not apply:
this executor constructs ConfidentialClientApplication with only
auth.{clientId, authority, clientCertificate} and calls
acquireTokenSilent/acquireTokenByCode, confirmed by grep (no hits for
proxyUrl|customAgentOptions|protocolMode|acquireTokenInteractive|
loopbackClient|responseMode anywhere in src/).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018cms2ECUY322qubUH3PmVA
Deploying breeze with
|
| Latest commit: |
d87053b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7536defe.breeze-9te.pages.dev |
| Branch Preview URL: | https://chore-deps-msal-node-6.breeze-9te.pages.dev |
The prior pnpm up picked up ambient drift unrelated to this task (yaml, joi, hono, compression bumps/additions from whatever else had touched the lockfile). Reset pnpm-lock.yaml to origin/main and regenerated lockfile-only against this branch's package.json so the diff is scoped to the actual bump: @azure/msal-node 3.8.10 -> 6.0.0 and its own dependency @azure/msal-common 15.17.0 -> 16.14.0. No other package changed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018cms2ECUY322qubUH3PmVA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@azure/msal-node^3.8.10->^6.0.0inapps/m365-communications-executor(there is no v4; upstream jumps 3 -> 5 -> 6).ConfidentialClientApplicationwith onlyauth.{clientId, authority, clientCertificate}and callsacquireTokenSilent/acquireTokenByCode— confirmed by grep, none of the removed/relocated surface (proxyUrl,customAgentOptions,protocolMode,acquireTokenInteractive,loopbackClient,responseMode) appears anywhere insrc/.Why
Task 1.5 from the dependency-major-upgrades plan.
Verification
Executor image build + boot check (step 3):
No README documents a health endpoint standalone check, so per the brief's fallback I confirmed a clean boot instead of a full health-endpoint hit (full boot needs real Azure Key Vault + Postgres DSN, not available locally):
docker run --rm m365-comms-testexits 1 silently (autostart path swallows the error intoprocess.exitCode), as expected without real config.node -einside the built image directly againstdist/config.cjs'sloadExecutorConfig(): fails with the expected, cleanM365_COMMS_CLIENT_ID is required— proves the module graph (msal-node included) loads without any import/require crash.@azure/msal-node'sConfidentialClientApplicationinside the built image with a dummyauth.{clientId, authority}(no cert): it resolved to@azure+msal-node@6.0.0innode_modules/.pnpmand threw the expectedClientAuthError: invalid_client_credential— i.e. the v6 class itself loads and runs its own validation logic correctly, not just "the require didn't throw."docker rmi m365-comms-test).Review round 1 (commit d87053b)
Reviewer flagged that the original
pnpm uphad picked up ambient lockfile drift unrelated to this task (yaml 2.9.0->2.9.1, joi 17.13.7->17.13.8, hono 4.13.7 new, compression 1.8.2 new) that the first PR body didn't disclose.Transitive drift: narrowed by resetting
pnpm-lock.yamltoorigin/mainand regenerating lockfile-only against this branch'spackage.json:Result — scoped to exactly the bumped package and its own true dependency, nothing else:
Re-verified after narrowing:
pnpm install --frozen-lockfile --offlineclean,cd apps/m365-communications-executor && npx tsc --noEmitclean,npx vitest run src/microsoft/delegatedClient— 1 file, 12 tests passed.Concerns
None. Confident in this bump — no removed surface used, clean typecheck, clean test suite, the v6
ConfidentialClientApplicationwas directly exercised (not just imported) inside the built container image, and the lockfile diff is now scoped to exactly this task's own packages.🤖 Generated with Claude Code
https://claude.ai/code/session_018cms2ECUY322qubUH3PmVA