Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 2, 2025

Extension IDs in extensionDependencies and extensionPack must use lowercase letters per marketplace requirements. Previously, uppercase IDs would pass validation and fail later during publishing. Additionally, this PR warns developers when using the deprecated github.copilot extension.

Changes

  • src/validation.ts: Added validateExtensionDependencies() to check extension IDs are lowercase
  • src/package.ts: Integrated validation into validateManifestForPackaging() for both extensionDependencies and extensionPack fields, plus added deprecation warning for github.copilot
  • Tests: Added unit and integration tests covering valid/invalid scenarios and deprecation warning

Validation Behavior

// ✅ Valid - all lowercase
{
  "extensionDependencies": ["microsoft.vscode-eslint", "esbenp.prettier-vscode"]
}

// ❌ Invalid - uppercase letters
{
  "extensionDependencies": ["Microsoft.vscode-eslint"]  
}
// Error: The extension IDs in "extensionDependencies" must use lowercase letters only. 
//        Invalid IDs: "Microsoft.vscode-eslint".

Deprecation Warning

When github.copilot is detected in either extensionDependencies or extensionPack, a warning is displayed:

⚠ The "github.copilot" extension is being deprecated. Please use "github.copilot-chat" instead.

The validation only checks case; it does not validate ID format or structure.

[!WARNING]

Original prompt

This section details on the original issue you should resolve

<filter_complete></filter_complete>

<issue_title>Validate extension dependencies are using lower case letters</issue_title>
<issue_description>When an extension is packaged, make sure that the extension dependencies use ids of extensions with only lower case letters.</issue_description>

Comments on the Issue (you are @copilot in this section)

Original prompt

This section details on the original issue you should resolve

<issue_title>Validate extension dependencies are using lower case letters</issue_title>
<issue_description>When an extension is packaged, make sure that the extension dependencies use ids of extensions with only lower case letters.</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits November 2, 2025 23:11
- Add validateExtensionDependencies function to validation.ts
- Integrate validation into validateManifestForPackaging
- Add comprehensive tests for the new validation logic

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
- Clarify that validation only checks for lowercase letters
- Add notes about what the validation does not check
- Address code review feedback

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
Copilot AI changed the title [WIP] Validate extension dependencies for lower case letters Validate extension dependencies use lowercase letters Nov 2, 2025
Copilot AI requested a review from benibenj November 2, 2025 23:17
Copilot finished work on behalf of benibenj November 2, 2025 23:17
@benibenj
Copy link
Contributor

benibenj commented Nov 2, 2025

@copilot now also make sure that if one of the ids is github.copilot then there should be a warning mentioning that the extension is about to be depricated in favor of the chat extension. fieldName should use github.copilot-chat instead of github.copilot

- Warn when github.copilot is used in extensionDependencies or extensionPack
- Suggest using github.copilot-chat instead
- Add comprehensive tests for the warning

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Nov 2, 2025

@copilot now also make sure that if one of the ids is github.copilot then there should be a warning mentioning that the extension is about to be depricated in favor of the chat extension. fieldName ...

Done! Added a warning when github.copilot is found in either extensionDependencies or extensionPack. The warning message suggests using github.copilot-chat instead.

The warning will display:

The "github.copilot" extension is being deprecated. Please use "github.copilot-chat" instead.

Commit: e5a89ab

Copilot AI changed the title Validate extension dependencies use lowercase letters Validate extension dependencies use lowercase letters and warn about deprecated github.copilot Nov 2, 2025
Copilot finished work on behalf of benibenj November 2, 2025 23:32
@benibenj benibenj marked this pull request as ready for review November 3, 2025 08:37
@benibenj benibenj enabled auto-merge November 3, 2025 08:37
@benibenj benibenj merged commit 196cce4 into main Nov 3, 2025
5 checks passed
@benibenj benibenj deleted the copilot/validate-extension-dependencies-case branch November 3, 2025 10:24
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.

Validate extension dependencies are using lower case letters

3 participants