Skip to content

Conversation

@bwateratmsft
Copy link
Collaborator

Plus some other things:

  • Fix a lot of new lint issues
  • Turn the testing client extension into pure JS so it doesn't have to be built
  • Update some dependencies
  • Fix tests that broke after updating dependencies (yaml added new diagnostics and vscode-languageserver-textdocument stopped including newlines at the end of TextDocument.getText())

@bwateratmsft bwateratmsft requested a review from a team as a code owner December 10, 2025 18:29
@bwateratmsft bwateratmsft enabled auto-merge (squash) December 10, 2025 19:05
@bwateratmsft bwateratmsft added the engineering Related to engineering / tests / actions / etc. label Dec 10, 2025
@bwateratmsft bwateratmsft requested a review from Copilot December 10, 2025 19:48
Copy link

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

This PR modernizes the build infrastructure by migrating to the @microsoft/vscode-azext-eng package and implementing dual CJS/ESM output. Key changes include upgrading to ES2022, Node 22+, updating the ESLint configuration to the new flat config format, converting the test client extension to pure JavaScript, and fixing various lint issues that surfaced after dependency updates.

Key Changes:

  • Migrated from CommonJS to dual CJS+ESM build output with separate dist/cjs and dist/esm directories
  • Updated TypeScript target and module settings from ES2018/CommonJS to ES2022/ESM with bundler resolution
  • Replaced custom ESLint configuration with @microsoft/vscode-azext-eng package standards
  • Updated multiple dependencies including vscode-languageserver (8→9), yaml (2.2.2→2.8.2), and testing libraries

Reviewed changes

Copilot reviewed 43 out of 47 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tsconfig.json Updated to ES2022 target/lib, es2022 module with bundler resolution, output to dist/esm
package.json Added dual module exports (CJS/ESM), new build scripts, updated to Node >=22, migrated to @microsoft/vscode-azext-eng
eslint.config.mjs New flat ESLint config using azExtEslintRecommendedTypeChecked preset
.eslintrc.json (deleted) Removed legacy ESLint config in favor of new flat config
src/test/**/*.test.ts Removed unnecessary async keywords, updated import paths, fixed lint issues
src/test/clientExtension/* Converted TypeScript files to JavaScript, removed tsconfig, updated paths to dist/cjs
src/service/**/*.ts Fixed lint issues: updated named group access syntax, added eslint-disable comments, improved error handling
.vscode/* Updated tasks/launch configs for new build structure
bin/docker-compose-langserver Updated require path from lib/ to dist/cjs/
Files not reviewed (1)
  • src/test/clientExtension/package-lock.json: Language not supported

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

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

Labels

engineering Related to engineering / tests / actions / etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants