Skip to content

[POC] Pages Metadata Diff Tool #1142

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

MrRishabhJain
Copy link

@MrRishabhJain MrRishabhJain commented Feb 28, 2025

The staged code introduces a new feature called "Metadata Diff" for the Power Platform VS Code extension.

What's Added?

Feature Gate (ecsFeatureGates.ts):

Adds a new feature flag EnableMetadataDiff to control the availability of the Metadata Diff feature.
Constants (Constants.ts):

Defines telemetry event names for initialization and error handling related to Metadata Diff.
Metadata Diff Initialization (MetadataDiff.ts):

Initializes the Metadata Diff feature based on the ECS feature flag.
Sets VS Code context (microsoft.powerplatform.pages.metadataDiffEnabled) to control UI visibility.
Logs telemetry events for initialization success or failure.
Tree Data Provider (MetadataDiffTreeDataProvider.ts):

Implements a VS Code Tree Data Provider to display file differences.
Recursively scans workspace files, creates backup copies, and mocks file changes for testing.
Builds a hierarchical tree structure representing changed files and folders.
Tree Items (MetadataDiffTreeItem.ts, MetadataDiffFileItem.ts, MetadataDiffFolderItem.ts):

Defines abstract and concrete classes for tree items representing files and folders.
Implements commands to open file diffs using VS Code's built-in diff viewer.
Extension Activation (extension.ts):

Registers the Metadata Diff Tree Data Provider with VS Code.
Initializes the Metadata Diff feature during extension activation.
Localization (package.nls.json, bundle.l10n.json):

Adds localized strings for the Metadata Diff feature.
Package Manifest (package.json):

Registers the new Metadata Diff view in the VS Code explorer.

@MrRishabhJain MrRishabhJain self-assigned this Feb 28, 2025
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.

1 participant