Skip to content

Conversation

@ericsciple
Copy link
Collaborator

@ericsciple ericsciple commented Dec 21, 2025

Summary

Adds .js extensions to all relative imports in the languageserver package as preparation for ESM migration.

This is a partial migration for package languageserver which is blocked from completing the migration because vscode-languageserver@8.0.2 lacks ESM exports.

Follow-up from PR:

Related Issues:

Changes

  • Updated 24 source files in languageserver/src/ to use .js extensions in imports
  • Added skipLibCheck: true to languageserver/tsconfig.build.json (required for @types/node compatibility)
  • Updated docs/esm-migration-plan.md with current status and documentation
  • Synced package-lock.json

Why partial?

Full migration requires moduleResolution: "node16", which fails because vscode-languageserver doesn't have an exports field for subpath imports like vscode-languageserver/node. Once stable v10+ releases with ESM support, we can complete the migration.

@ericsciple ericsciple force-pushed the users/ericsciple/25-12-esm2 branch 3 times, most recently from 48bef09 to 52c2bec Compare December 21, 2025 21:25
@ericsciple ericsciple force-pushed the users/ericsciple/25-12-esm2 branch from 52c2bec to c4af83e Compare December 21, 2025 21:38
@ericsciple ericsciple marked this pull request as ready for review December 21, 2025 21:41
@ericsciple ericsciple requested a review from a team as a code owner December 21, 2025 21:41
Copilot AI review requested due to automatic review settings December 21, 2025 21:41
Copy link
Contributor

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 adds .js extensions to all relative imports in the languageserver package as a preparatory step for ESM migration. The full migration is blocked because vscode-languageserver@8.0.2 lacks proper ESM exports with an exports field for subpath imports.

Key changes:

  • Added .js extensions to relative imports across 24 source files in languageserver/src/
  • Added skipLibCheck: true to languageserver/tsconfig.build.json to work around type errors in @types/node
  • Updated documentation in docs/esm-migration-plan.md to reflect partial migration status

Reviewed changes

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

Show a summary per file
File Description
languageserver/tsconfig.build.json Added skipLibCheck: true compiler option
languageserver/src/value-providers/runs-on.ts Updated relative imports to include .js extensions
languageserver/src/value-providers/job-environment.ts Updated relative imports to include .js extensions
languageserver/src/value-providers/action-inputs.ts Updated relative imports to include .js extensions
languageserver/src/value-providers.ts Updated relative imports to include .js extensions
languageserver/src/utils/username.ts Updated relative imports to include .js extensions
languageserver/src/utils/repo-permission.ts Updated relative imports to include .js extensions
languageserver/src/utils/action-metadata.ts Updated relative imports to include .js extensions
languageserver/src/utils/action-metadata.test.ts Updated relative imports to include .js extensions
languageserver/src/on-completion.ts Updated relative imports to include .js extensions
languageserver/src/index.ts Updated relative imports to include .js extensions
languageserver/src/file-provider.ts Updated relative imports to include .js extensions
languageserver/src/description-providers/action-input.ts Updated relative imports to include .js extensions
languageserver/src/description-providers/action-input.test.ts Updated relative imports to include .js extensions
languageserver/src/description-providers/action-description.ts Updated relative imports to include .js extensions
languageserver/src/description-providers/action-description.test.ts Updated relative imports to include .js extensions
languageserver/src/description-provider.ts Updated relative imports to include .js extensions
languageserver/src/context-providers/variables.ts Updated relative imports to include .js extensions
languageserver/src/context-providers/steps.ts Updated relative imports to include .js extensions
languageserver/src/context-providers/steps.test.ts Updated relative imports to include .js extensions
languageserver/src/context-providers/secrets.ts Updated relative imports to include .js extensions
languageserver/src/context-providers/action-outputs.ts Updated relative imports to include .js extensions
languageserver/src/context-providers.ts Updated relative imports to include .js extensions
languageserver/src/context-providers.test.ts Updated relative imports to include .js extensions
languageserver/src/connection.ts Updated relative imports to include .js extensions
docs/esm-migration-plan.md Updated migration status, added TL;DR section, documented skipLibCheck requirement, and updated completion status for languageserver package

💡 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants