Skip to content
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

Task: remove kiota interop tight coupling #6096

Open
wants to merge 63 commits into
base: main
Choose a base branch
from

Conversation

thewahome
Copy link
Contributor

@thewahome thewahome commented Feb 5, 2025

Overview

Closes #6084

Notes

Introduces a new module to decouple the Kiota Interop code from the VS Code extension. The most significant changes involve the addition of unit tests, and refactoring of command implementations of the interop module by moving all of them away into the module.

Changes

  • The installation of the binaries is done inside the Application folder > {AppData}\Microsoft Kiota\.kiotabin regardless of OS. Moving the .kiotabin folder outside of the vscode extension environment enabling sharing with different apps on the same device
  • All references to vscode were removed from the kiota interop code
  • Command implementations that depended on connectToKiota have moved to the module library as independent functions exported via the index.ts file
  • Added unit tests to directly test functions related to the interop changes without spinning up a vscode environment
  • For ease of use, the modlue exposes all functions with more than one argument to use a monad instead of multiple arguments
  • Introduced the runtime.json file with the intent to ship it together with the module so that it can carry the binary information (in the runtimeDependencies property) and the kiotaVersion number.
  • The package.json file in the vscode extension no-longer carries the runtimeDependencies and kiotaVersion properties.
  • Update the powershell scripts and build pipelines to support the new version and runtime locations

baywet
baywet previously approved these changes Feb 13, 2025
Copy link
Member

@baywet baywet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for making the changes!

Copy link
Contributor

@calebkiage calebkiage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the addition of parameter names to the functions. It's made reviewing a lot easier. Thanks for that.

.azure-pipelines/ci-build.yml Outdated Show resolved Hide resolved
.github/workflows/build-vscode-extension.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@calebkiage calebkiage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more comments on the PR.

baywet
baywet previously approved these changes Feb 17, 2025
calebkiage
calebkiage previously approved these changes Feb 18, 2025
Onokaev
Onokaev previously approved these changes Feb 18, 2025
calebkiage
calebkiage previously approved these changes Feb 18, 2025
@thewahome thewahome dismissed stale reviews from Onokaev and calebkiage via 81c5ff3 February 18, 2025 19:01
Copy link

Quality Gate Failed Quality Gate failed for 'kiota'

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

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.

Remove tight coupling of Kiota Interop code and the VS Code Extension
4 participants