Skip to content

Stop recording registry URLs in the Functions test lockfile - #356

Open
Jamie Magee (JamieMagee) wants to merge 1 commit into
microsoft:mainfrom
JamieMagee:fix/omit-lockfile-registry-resolved
Open

Stop recording registry URLs in the Functions test lockfile#356
Jamie Magee (JamieMagee) wants to merge 1 commit into
microsoft:mainfrom
JamieMagee:fix/omit-lockfile-registry-resolved

Conversation

@JamieMagee

Copy link
Copy Markdown
Member

Summary

The Functions test app no longer records npm registry URLs in its lockfile. Dependency versions, integrity hashes, lockfile version 3, local package links, and platform metadata remain unchanged.

What changed?

  • Added omit-lockfile-registry-resolved=true to test/e2e-functions/test-app/.npmrc.
  • Regenerated the test app lockfile with npm 10.9.4 and limited the diff to registry resolved fields.

Why is this change needed?

  • The lockfile recorded Azure Artifacts proxy URLs. Those URLs depend on the registry used to generate the lockfile.
  • Future lockfile updates will use the active npm registry without committing its tarball host.

Issues / work items

  • Resolves: N/A
  • Related: N/A

Project checklist

  • Release notes are not required for the next release
    • Otherwise: Notes added to CHANGELOG.md
  • Backport is not required
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • All required tests have been added/updated (unit tests, E2E tests)
  • Breaking change?
    • If yes:
      • Impact:
      • Migration guidance:

AI-assisted code disclosure (required)

Was an AI tool used? (select one)

  • No
  • Yes, AI helped write parts of this PR (e.g., GitHub Copilot)
  • Yes, an AI agent generated most of this PR

If AI was used:

  • Tool(s): GitHub Copilot CLI
  • AI-assisted areas/files: .npmrc, package-lock.json, validation, commit message, and pull request description
  • What you changed after AI output: Kept the lockfile diff to registry resolved fields and verified the generated result.

AI verification (required if AI was used):

  • I understand the code and can explain it
  • I verified referenced APIs/types exist and are correct
  • I reviewed edge cases/failure paths (timeouts, retries, cancellation, exceptions)
  • I reviewed concurrency/async behavior
  • I checked for unintended breaking or behavior changes

Testing

Automated tests

  • Result: Passed
  • npx --yes npm@10.9.4 config get omit-lockfile-registry-resolved
  • npx --yes npm@10.9.4 install --package-lock-only --ignore-scripts --no-audit --no-fund
  • Repeated lockfile generation and confirmed a clean result
  • npx --yes npm@10.9.4 ci --ignore-scripts --no-audit --no-fund
  • npm ci at the repository root
  • npm run build -w durable-functions
  • npm run build in the test app
  • npm test in the test app (No tests yet...)

Lockfile checks:

config=true
target_feed_urls=0
all_registry_resolved=0
metadata_preserved=true
second_regeneration_clean=true

Manual validation (only if runtime/behavior changed)

  • Environment (OS, Node.js version, components): N/A
  • Steps + observed results:
    1. N/A. Runtime behavior did not change.
  • Evidence (optional): N/A

Notes for reviewers

  • The test app uses local file: dependencies, so the in-repository durable-functions package must be built before the test app build.
  • The existing locked file dependency metadata was preserved to avoid unrelated version and peer dependency changes.

Add the test app npm setting and regenerate its lockfile without changing dependency metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 24, 2026 23:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the E2E Functions test app’s npm configuration and lockfile so that the lockfile no longer records registry tarball URLs (e.g., Azure Artifacts proxy hosts), keeping the lockfile portable across registries while preserving dependency versions, integrity hashes, and local file: links.

Changes:

  • Add omit-lockfile-registry-resolved=true to the test app’s .npmrc to prevent npm from writing registry resolved URLs into the lockfile.
  • Regenerate test/e2e-functions/test-app/package-lock.json to remove registry resolved fields while preserving versions/integrity and local link metadata.
Show a summary per file
File Description
test/e2e-functions/test-app/.npmrc Configures npm to omit registry resolved URLs when generating/updating the lockfile.
test/e2e-functions/test-app/package-lock.json Removes registry URL resolved fields to avoid committing environment-specific registry hosts while keeping dependency metadata stable.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Files not reviewed (1)
  • test/e2e-functions/test-app/package-lock.json: Generated file
  • Files reviewed: 1/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants