Skip to content

Fix extension matching to support external identifiers#7160

Merged
isaacroldan merged 3 commits intomainfrom
isaac/refactor-extension-module-spec-matching
Apr 2, 2026
Merged

Fix extension matching to support external identifiers#7160
isaacroldan merged 3 commits intomainfrom
isaac/refactor-extension-module-spec-matching

Conversation

@isaacroldan
Copy link
Copy Markdown
Contributor

@isaacroldan isaacroldan commented Apr 2, 2026

WHY are these changes introduced?

Extension matching was failing when comparing local extension specifications with remote app module versions that use external identifiers, causing extensions to be incorrectly categorized during deployment breakdown.

WHAT is this pull request doing?

Updates the extension matching logic in loadExtensionsIdentifiersBreakdown to check both the standard identifier and externalIdentifier fields when comparing local specs against remote app module specifications. This ensures extensions with external identifiers are properly recognized as unchanged rather than being marked for creation or update.

How to test your changes?

  1. Create an extension with an external identifier specification
  2. Deploy the extension to create a remote registration
  3. Run the deployment breakdown process
  4. Verify the extension is correctly identified as "unchanged" rather than being flagged for creation

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
  • Existing analytics will cater for this addition
  • PR includes analytics changes to measure impact

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@isaacroldan isaacroldan force-pushed the isaac/refactor-extension-module-spec-matching branch from ae6186b to 6ef9188 Compare April 2, 2026 11:34
@isaacroldan isaacroldan changed the title Refactor extension module spec matching Fix extension matching to support external identifiers Apr 2, 2026
@isaacroldan isaacroldan marked this pull request as ready for review April 2, 2026 11:40
@isaacroldan isaacroldan requested a review from a team as a code owner April 2, 2026 11:40
Copilot AI review requested due to automatic review settings April 2, 2026 11:40
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

We detected some changes at packages/*/src and there are no updates in the .changeset.
If the changes are user-facing, run pnpm changeset add to track your changes and include them in the next release CHANGELOG.

Caution

DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the deploy/release breakdown logic to correctly recognize extension app modules whose specification.identifier is an external identifier, so they are categorized correctly during deploy/release flows.

Changes:

  • Extend extension-module/spec matching to accept spec.externalIdentifier as a match for appModuleVersion.specification.identifier.
  • Add a regression test covering an active app version module identified via a spec external identifier.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
packages/app/src/cli/services/context/breakdown-extensions.ts Adjusts spec matching when filtering active app modules so extension modules can be recognized by external identifiers.
packages/app/src/cli/services/context/breakdown-extensions.test.ts Adds test coverage to ensure external-identifier module specs are treated as unchanged CLI extensions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

isaacroldan and others added 3 commits April 2, 2026 14:15
Co-authored-by: Claude Code <claude-code@anthropic.com>
Co-authored-by: Claude Code <claude-code@anthropic.com>
Co-authored-by: Claude Code <claude-code@anthropic.com>
@isaacroldan isaacroldan force-pushed the isaac/refactor-extension-module-spec-matching branch from 7e48002 to d562fdc Compare April 2, 2026 12:15
@isaacroldan isaacroldan merged commit 5097444 into main Apr 2, 2026
27 checks passed
@isaacroldan isaacroldan deleted the isaac/refactor-extension-module-spec-matching branch April 2, 2026 13:17
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.

3 participants