Migrate to use new shared eng package#6600
Merged
bwateratmsft merged 8 commits intomainfrom Jan 27, 2026
Merged
Conversation
bwateratmsft
commented
Jan 23, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the VS Code extension to use a new shared engineering package (@microsoft/vscode-azext-eng) that standardizes build, test, and linting infrastructure across Azure extensions. The migration involves significant tooling changes but maintains functional equivalence.
Changes:
- Migrated build system from webpack to esbuild with updated build scripts and configuration
- Updated test infrastructure to use shared test configuration from
@microsoft/vscode-azext-eng - Upgraded major dependencies (vscode-azext-utils v3→v4, vscode-azureresources-api v2→v3, Node 20→22)
- Applied comprehensive automatic and manual lint fixes throughout the codebase
- Modernized TypeScript configuration (ES2022, nodenext module resolution)
Reviewed changes
Copilot reviewed 73 out of 74 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Updated scripts, dependencies, and devDependencies for new shared eng package |
| tsconfig.json | Modernized module system (commonjs→nodenext) and target (es2020→es2022) |
| webpack.config.js | Removed - replaced by esbuild |
| esbuild.mjs | New build configuration using shared esbuild setup |
| eslint.config.mjs | Simplified to use shared eslint configuration |
| .vscode-test.mjs | New test configuration using shared test setup |
| .vscode/tasks.json, launch.json | Updated for esbuild workflow |
| main.js | Updated to reference new bundle location |
| src/**/*.ts | Applied lint fixes: void expressions, nullish coalescing, optional chaining, type assertions, eslint-disable comments |
| src/test/suite/*.ts | Removed custom test runners, updated tests for new API versions |
| src/commands/azureWorkspace/wizard/RevealStep.ts | Simplified error handling (aligned with API v3 changes) |
| src/services/*.ts | Added dependency injection for better testability |
| eng/pipelines/**/.yml, .github/workflows/.yml | Updated Node version from 20 to 22 |
| ci-test.ps1 | Updated test command |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Collaborator
VSCode Extension Installation Instructions
|
rajeshkamal5050
approved these changes
Jan 27, 2026
rajeshkamal5050
approved these changes
Jan 27, 2026
11 tasks
vhvb1989
added a commit
that referenced
this pull request
Jan 30, 2026
* fix security issue with playwright/test 1.49.1 (#6592) * Checkpoint from VS Code for cloud agent session * Update parameter popup border color to cyan in concurX extension Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Complete concurX parameter popup color update Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * cspell * Remove unintended changes to azure.ai.finetune extension Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * azure.ai.agents - Set `CGO_ENABLED=0` for x64 Linux build (#6611) * Set CGO_ENABLED=0 for x64 Linux build * Bump version * Bump version to 0.1.8-preview (#6613) * Extension update fixes/enhancements (#6604) * Clarify extension list latest version column * Add update availability JSON property and show asterisk besides outdated extensions * Add upgrade hints to extension list output * Fix cooldown logic and shallow copy * Update AGENTS.md --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JeffreyCA <9157833+JeffreyCA@users.noreply.github.com> * Fix bicep CLI uninitialized path in container app deployments (#6610) * fix security issue with playwright/test 1.49.1 (#6592) * Checkpoint from VS Code for cloud agent session * Fix bicep CLI initialization by restoring EnsureInstalled calls - Restore public EnsureInstalled() method in bicep.go - Remove automatic installation from Build() and BuildBicepParam() - Add explicit EnsureInstalled() calls in service_target_containerapp.go and bicep_provider.go - Update all test files to use public EnsureInstalled() method - Reverts incorrect changes from previous checkpoint commit This fix follows the same pattern as PR #6593 for GitHub CLI. Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Checkpoint from VS Code for cloud agent session --------- Co-authored-by: Victor Vazquez <vhvb1989@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Add azure.ai.agent 0.1.8-preview to registry (#6615) * Release 1.23.2 (#6616) * Initial plan * Release 1.23.2 Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Increment CLI version after release (#6617) * Migrate to use new shared eng package (#6600) * Fix VS Code extension commands failing with undefined fsPath in virtual file systems (#6601) * Initial plan * Add defensive checks for undefined fsPath in VS Code extension commands This fixes the issue where provision and other commands would fail with "The 'path' argument must be of type string. Received undefined" when used with virtual file systems or certain VS Code contexts. Changes: - Added validation for selectedFile.fsPath before calling getWorkingFolder - Provides clear error messages that include URI scheme and selectedItem type - Suppresses automatic issue reporting since this is a user error - Applied fix to all affected commands: provision, deploy, up, down, restore, monitor, packageCli, and pipelineConfig - Added unit tests for the new validation logic Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Simplify provision.test.ts based on code review feedback Removed unused stub functions that weren't actually being used. Simplified tests to focus on the core validation logic. Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Refactor validation logic into shared utility function Based on code review feedback: - Extracted duplicated validation logic to validateFileSystemUri() in cmdUtil.ts - Updated all 8 command files to use the shared function - Simplified test assertions - Improved code maintainability by reducing duplication Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Fix validation to use strict equality check for undefined Changed condition from `!selectedFile.fsPath` to `selectedFile.fsPath === undefined` to avoid incorrectly rejecting empty string paths which are valid for root directories. Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Fix l10n.t() to use single string literal instead of concatenation The first argument to vscode.l10n.t() should be a single string literal for proper localization tooling compatibility. Removed string concatenation and used a single multi-line string literal instead. Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * Add missing keys to `azd config options` (#6619) * Add missing config options --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JeffreyCA <9157833+JeffreyCA@users.noreply.github.com> * Raising for missing method type (#6628) * adding project-endpoint to init command * adding 12 preview release * fixig default customization method & adding training type * correct version * RFT grader fixes (#6629) * adding project-endpoint to init command * adding 12 preview release * fixig default customization method & adding training type * correct version * adding grader to cloning code * adding missing grader functionality * merging master * including .14-preview to main registry (#6630) * Add a naive attempt at downloading manifest (#6631) * Add a naive attempt at downloading * Address PR comments Signed-off-by: trangevi <trangevi@microsoft.com> * Update download directory as well Signed-off-by: trangevi <trangevi@microsoft.com> * Use net/url parsing in parseGitHubUrlNaive to handle fragments and query params (#6634) * Initial plan * Use net/url parsing to handle query params and fragments in parseGitHubUrlNaive Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> * Final review completed Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> * Revert unintended changes to other extensions Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> * Address PR comments Signed-off-by: trangevi <trangevi@microsoft.com> * Update download directory as well Signed-off-by: trangevi <trangevi@microsoft.com> * Initial plan * Rebased on latest base branch --------- Signed-off-by: trangevi <trangevi@microsoft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> Co-authored-by: trangevi <trangevi@microsoft.com> --------- Signed-off-by: trangevi <trangevi@microsoft.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> * Dev container feature - allow installing extensions (#6460) * Add extensions option to the azd devcontainer feature to allow specifying extensions to install * Review updates * Revert whitespace changes * Address feedback on shell script. Add multiple extensions to the test config to validate * Enable full figspec generation for extensions with metadata capability (#6620) * Fix indentation * Add metadata capability checks and improve error handling * Support dynamic suggestions for `azd config` commands * Exclude global persistent flags --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JeffreyCA <9157833+JeffreyCA@users.noreply.github.com> * Add concurX binary to gitignore Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> * lint * Update TestAskerConsoleExternalPrompt to use new external prompt mechanism Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> --------- Signed-off-by: trangevi <trangevi@microsoft.com> Co-authored-by: Victor Vazquez <vhvb1989@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vhvb1989 <24213737+vhvb1989@users.noreply.github.com> Co-authored-by: JeffreyCA <jeffreychen@microsoft.com> Co-authored-by: JeffreyCA <9157833+JeffreyCA@users.noreply.github.com> Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: Brandon Waterloo [MSFT] <36966225+bwateratmsft@users.noreply.github.com> Co-authored-by: Amit Chauhan <70937115+achauhan-scc@users.noreply.github.com> Co-authored-by: Travis Angevine <trangevi@microsoft.com> Co-authored-by: trangevi <26490000+trangevi@users.noreply.github.com> Co-authored-by: Stuart Leeks <stuartle@microsoft.com>
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.
This migrates to move to the new shared engineering package we use for the Azure extensions. This PR touches many files, so it is easier to understand if you break it into its constituent commits:
TODO: