From aea6eebee55f1f3258cf6bb539c1f94146cb9b04 Mon Sep 17 00:00:00 2001 From: thewahome Date: Mon, 14 Oct 2024 14:06:28 +0300 Subject: [PATCH] utilise folder movement changes --- .../src/GeneratedOutputState.ts | 4 - vscode/microsoft-kiota/src/apiManifest.ts | 6 - .../generate/generateClientCommand.ts | 8 +- .../src/commands/generate/generatePlugin.ts | 3 +- .../generate}/getLanguageInformation.ts | 5 +- .../migrate}/migrateFromLockFile.ts | 9 +- .../migrateFromLockFileCommand.ts | 6 +- .../addAllToSelectedEndpointsCommand.ts | 0 .../addToSelectedEndpointsCommand.ts | 0 .../filterDescriptionCommand.ts | 0 .../openDocumentationPageCommand.ts | 0 .../removeAllFromSelectedEndpointsCommand.ts | 0 .../removeFromSelectedEndpointsCommand.ts | 0 .../searchDescription.ts | 2 +- .../searchOrOpenApiDescriptionCommand.ts | 16 +- .../commands/regenerate/regenerate.service.ts | 8 +- .../regenerate/regenerateButtonCommand.ts | 2 +- .../commands/regenerate/regenerateCommand.ts | 2 +- vscode/microsoft-kiota/src/enums.ts | 38 --- vscode/microsoft-kiota/src/extension.ts | 24 +- .../microsoft-kiota/src/extensionSettings.ts | 53 ---- vscode/microsoft-kiota/src/getKiotaVersion.ts | 20 -- vscode/microsoft-kiota/src/kiotaInstall.ts | 163 ----------- vscode/microsoft-kiota/src/kiotaInterop.ts | 273 ------------------ .../src/providers/dependenciesViewProvider.ts | 2 +- .../src/providers/openApiTreeProvider.ts | 2 +- vscode/microsoft-kiota/src/util.ts | 5 +- .../src/utilities/deep-linking.ts | 4 +- 28 files changed, 51 insertions(+), 604 deletions(-) delete mode 100644 vscode/microsoft-kiota/src/GeneratedOutputState.ts delete mode 100644 vscode/microsoft-kiota/src/apiManifest.ts rename vscode/microsoft-kiota/src/{ => commands/generate}/getLanguageInformation.ts (94%) rename vscode/microsoft-kiota/src/{ => commands/migrate}/migrateFromLockFile.ts (92%) rename vscode/microsoft-kiota/src/commands/{ => migrate}/migrateFromLockFileCommand.ts (84%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/addAllToSelectedEndpointsCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/addToSelectedEndpointsCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/filterDescriptionCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/openDocumentationPageCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/removeAllFromSelectedEndpointsCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view => openApiTreeView}/removeFromSelectedEndpointsCommand.ts (100%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view/search-or-open-api-description => openApidescription}/searchDescription.ts (95%) rename vscode/microsoft-kiota/src/commands/{open-api-tree-view/search-or-open-api-description => openApidescription}/searchOrOpenApiDescriptionCommand.ts (82%) delete mode 100644 vscode/microsoft-kiota/src/enums.ts delete mode 100644 vscode/microsoft-kiota/src/extensionSettings.ts delete mode 100644 vscode/microsoft-kiota/src/getKiotaVersion.ts delete mode 100644 vscode/microsoft-kiota/src/kiotaInstall.ts delete mode 100644 vscode/microsoft-kiota/src/kiotaInterop.ts diff --git a/vscode/microsoft-kiota/src/GeneratedOutputState.ts b/vscode/microsoft-kiota/src/GeneratedOutputState.ts deleted file mode 100644 index 58bbf97446..0000000000 --- a/vscode/microsoft-kiota/src/GeneratedOutputState.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface GeneratedOutputState { - outputPath: string; - clientClassName: string; -} diff --git a/vscode/microsoft-kiota/src/apiManifest.ts b/vscode/microsoft-kiota/src/apiManifest.ts deleted file mode 100644 index 5a0491bcff..0000000000 --- a/vscode/microsoft-kiota/src/apiManifest.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface ApiManifest { - apiDependencies: Record; -} -export interface ApiDependency { - apiDescriptionUrl: string; -} \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/commands/generate/generateClientCommand.ts b/vscode/microsoft-kiota/src/commands/generate/generateClientCommand.ts index 79e87d26ad..e5a3380d9a 100644 --- a/vscode/microsoft-kiota/src/commands/generate/generateClientCommand.ts +++ b/vscode/microsoft-kiota/src/commands/generate/generateClientCommand.ts @@ -3,16 +3,15 @@ import * as path from "path"; import * as vscode from "vscode"; import { API_MANIFEST_FILE, extensionId, treeViewFocusCommand, treeViewId } from "../../constants"; -import { GenerationType, KiotaGenerationLanguage, KiotaPluginType } from "../../enums"; -import { ExtensionSettings, getExtensionSettings } from "../../extensionSettings"; -import { GeneratedOutputState } from "../../GeneratedOutputState"; -import { getLanguageInformation, getLanguageInformationForDescription } from "../../getLanguageInformation"; import { setGenerationConfiguration } from "../../handlers/configurationHandler"; import { clearDeepLinkParams, getDeepLinkParams } from "../../handlers/deepLinkParamsHandler"; import { ConsumerOperation, generationLanguageToString, getLogEntriesForLevel, KiotaLogEntry, LogLevel } from "../../kiotaInterop"; import { DependenciesViewProvider } from "../../providers/dependenciesViewProvider"; import { OpenApiTreeProvider } from "../../providers/openApiTreeProvider"; import { GenerateState, generateSteps } from "../../steps"; +import { GenerationType, KiotaGenerationLanguage, KiotaPluginType } from "../../types/enums"; +import { ExtensionSettings, getExtensionSettings } from "../../types/extensionSettings"; +import { GeneratedOutputState } from "../../types/GeneratedOutputState"; import { WorkspaceGenerationContext } from "../../types/WorkspaceGenerationContext"; import { getSanitizedString, getWorkspaceJsonDirectory, parseGenerationLanguage, parseGenerationType, parsePluginType, updateTreeViewIcons } from "../../util"; import { isDeeplinkEnabled, transformToGenerationConfig } from "../../utilities/deep-linking"; @@ -22,6 +21,7 @@ import { Command } from "../Command"; import { generateClient } from "./generateClient"; import { generatePlugin } from "./generatePlugin"; import { checkForSuccess, displayGenerationResults } from "./generation-util"; +import { getLanguageInformation, getLanguageInformationForDescription } from "./getLanguageInformation"; export class GenerateClientCommand extends Command { private _openApiTreeProvider: OpenApiTreeProvider; diff --git a/vscode/microsoft-kiota/src/commands/generate/generatePlugin.ts b/vscode/microsoft-kiota/src/commands/generate/generatePlugin.ts index 3031141713..e4cb2b7b79 100644 --- a/vscode/microsoft-kiota/src/commands/generate/generatePlugin.ts +++ b/vscode/microsoft-kiota/src/commands/generate/generatePlugin.ts @@ -1,7 +1,8 @@ import * as vscode from "vscode"; import * as rpc from "vscode-jsonrpc/node"; -import { KiotaPluginType } from "../../enums"; + import { connectToKiota, ConsumerOperation, GenerationConfiguration, KiotaLogEntry } from "../../kiotaInterop"; +import { KiotaPluginType } from "../../types/enums"; import { getWorkspaceJsonDirectory } from "../../util"; export function generatePlugin(context: vscode.ExtensionContext, diff --git a/vscode/microsoft-kiota/src/getLanguageInformation.ts b/vscode/microsoft-kiota/src/commands/generate/getLanguageInformation.ts similarity index 94% rename from vscode/microsoft-kiota/src/getLanguageInformation.ts rename to vscode/microsoft-kiota/src/commands/generate/getLanguageInformation.ts index eec21808f6..71a2a8fc88 100644 --- a/vscode/microsoft-kiota/src/getLanguageInformation.ts +++ b/vscode/microsoft-kiota/src/commands/generate/getLanguageInformation.ts @@ -1,6 +1,7 @@ -import { connectToKiota, LanguagesInformation } from "./kiotaInterop"; -import * as rpc from "vscode-jsonrpc/node"; import * as vscode from "vscode"; +import * as rpc from "vscode-jsonrpc/node"; + +import { connectToKiota, LanguagesInformation } from "../../kiotaInterop"; let _languageInformation: LanguagesInformation | undefined; // doesn't change over the lifecycle of the extension export async function getLanguageInformation(context: vscode.ExtensionContext): Promise { diff --git a/vscode/microsoft-kiota/src/migrateFromLockFile.ts b/vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFile.ts similarity index 92% rename from vscode/microsoft-kiota/src/migrateFromLockFile.ts rename to vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFile.ts index 893412f557..179834940b 100644 --- a/vscode/microsoft-kiota/src/migrateFromLockFile.ts +++ b/vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFile.ts @@ -1,8 +1,9 @@ -import { connectToKiota, KiotaLogEntry, LogLevel } from "./kiotaInterop"; -import * as rpc from "vscode-jsonrpc/node"; import * as vscode from "vscode"; -import { KIOTA_LOCK_FILE } from "./constants"; -import { getWorkspaceJsonPath, handleMigration } from "./util"; +import * as rpc from "vscode-jsonrpc/node"; + +import { KIOTA_LOCK_FILE } from "../../constants"; +import { connectToKiota, KiotaLogEntry, LogLevel } from "../../kiotaInterop"; +import { getWorkspaceJsonPath, handleMigration } from "../../util"; export function migrateFromLockFile(context: vscode.ExtensionContext, lockFileDirectory: string): Promise { return connectToKiota(context, async (connection) => { diff --git a/vscode/microsoft-kiota/src/commands/migrateFromLockFileCommand.ts b/vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFileCommand.ts similarity index 84% rename from vscode/microsoft-kiota/src/commands/migrateFromLockFileCommand.ts rename to vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFileCommand.ts index a534f460fc..3c6c732706 100644 --- a/vscode/microsoft-kiota/src/commands/migrateFromLockFileCommand.ts +++ b/vscode/microsoft-kiota/src/commands/migrate/migrateFromLockFileCommand.ts @@ -1,9 +1,9 @@ import * as vscode from "vscode"; import { ExtensionContext, Uri, workspace } from "vscode"; -import { extensionId } from "../constants"; -import { Command } from "./Command"; -import { handleMigration } from "../util"; +import { extensionId } from "../../constants"; +import { handleMigration } from "../../util"; +import { Command } from "../Command"; export class MigrateFromLockFileCommand extends Command { private _context: ExtensionContext; diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/addAllToSelectedEndpointsCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/addAllToSelectedEndpointsCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/addAllToSelectedEndpointsCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/addAllToSelectedEndpointsCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/addToSelectedEndpointsCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/addToSelectedEndpointsCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/addToSelectedEndpointsCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/addToSelectedEndpointsCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/filterDescriptionCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/filterDescriptionCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/filterDescriptionCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/filterDescriptionCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/openDocumentationPageCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/openDocumentationPageCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/openDocumentationPageCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/openDocumentationPageCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/removeAllFromSelectedEndpointsCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/removeAllFromSelectedEndpointsCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/removeAllFromSelectedEndpointsCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/removeAllFromSelectedEndpointsCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/removeFromSelectedEndpointsCommand.ts b/vscode/microsoft-kiota/src/commands/openApiTreeView/removeFromSelectedEndpointsCommand.ts similarity index 100% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/removeFromSelectedEndpointsCommand.ts rename to vscode/microsoft-kiota/src/commands/openApiTreeView/removeFromSelectedEndpointsCommand.ts diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchDescription.ts b/vscode/microsoft-kiota/src/commands/openApidescription/searchDescription.ts similarity index 95% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchDescription.ts rename to vscode/microsoft-kiota/src/commands/openApidescription/searchDescription.ts index c1b4e82839..967c4c6669 100644 --- a/vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchDescription.ts +++ b/vscode/microsoft-kiota/src/commands/openApidescription/searchDescription.ts @@ -1,7 +1,7 @@ import * as rpc from "vscode-jsonrpc/node"; import * as vscode from "vscode"; -import { KiotaSearchResultItem, connectToKiota, KiotaSearchResult } from "../../../kiotaInterop"; +import { KiotaSearchResultItem, connectToKiota, KiotaSearchResult } from "../../kiotaInterop"; export function searchDescription(context: vscode.ExtensionContext, searchTerm: string, clearCache: boolean): Promise | undefined> { return connectToKiota>(context, async (connection) => { diff --git a/vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchOrOpenApiDescriptionCommand.ts b/vscode/microsoft-kiota/src/commands/openApidescription/searchOrOpenApiDescriptionCommand.ts similarity index 82% rename from vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchOrOpenApiDescriptionCommand.ts rename to vscode/microsoft-kiota/src/commands/openApidescription/searchOrOpenApiDescriptionCommand.ts index e524fb3441..7aca393698 100644 --- a/vscode/microsoft-kiota/src/commands/open-api-tree-view/search-or-open-api-description/searchOrOpenApiDescriptionCommand.ts +++ b/vscode/microsoft-kiota/src/commands/openApidescription/searchOrOpenApiDescriptionCommand.ts @@ -1,15 +1,15 @@ import TelemetryReporter from "@vscode/extension-telemetry"; import * as vscode from "vscode"; -import { extensionId, treeViewId } from "../../../constants"; -import { getExtensionSettings } from "../../../extensionSettings"; -import { setDeepLinkParams } from "../../../handlers/deepLinkParamsHandler"; -import { OpenApiTreeProvider } from "../../../providers/openApiTreeProvider"; -import { searchSteps } from "../../../steps"; -import { IntegrationParams, validateDeepLinkQueryParams } from "../../../utilities/deep-linking"; -import { Command } from "../../Command"; +import { extensionId, treeViewId } from "../../constants"; +import { setDeepLinkParams } from "../../handlers/deepLinkParamsHandler"; +import { OpenApiTreeProvider } from "../../providers/openApiTreeProvider"; +import { searchSteps } from "../../steps"; +import { getExtensionSettings } from "../../types/extensionSettings"; +import { IntegrationParams, validateDeepLinkQueryParams } from "../../utilities/deep-linking"; +import { openTreeViewWithProgress } from "../../utilities/progress"; +import { Command } from "../Command"; import { searchDescription } from "./searchDescription"; -import { openTreeViewWithProgress } from "../../../utilities/progress"; export class SearchOrOpenApiDescriptionCommand extends Command { diff --git a/vscode/microsoft-kiota/src/commands/regenerate/regenerate.service.ts b/vscode/microsoft-kiota/src/commands/regenerate/regenerate.service.ts index fc181274d1..36ebefece1 100644 --- a/vscode/microsoft-kiota/src/commands/regenerate/regenerate.service.ts +++ b/vscode/microsoft-kiota/src/commands/regenerate/regenerate.service.ts @@ -3,14 +3,14 @@ import * as vscode from "vscode"; import { ExtensionContext } from "vscode"; import { extensionId } from "../../constants"; -import { KiotaGenerationLanguage, KiotaPluginType } from "../../enums"; -import { ExtensionSettings } from "../../extensionSettings"; -import { generateClient } from "../../generateClient"; -import { generatePlugin } from "../generate/generatePlugin"; import { ClientObjectProperties, ClientOrPluginProperties, ConsumerOperation, getLogEntriesForLevel, LogLevel, PluginObjectProperties } from "../../kiotaInterop"; import { OpenApiTreeProvider } from "../../providers/openApiTreeProvider"; +import { KiotaGenerationLanguage, KiotaPluginType } from "../../types/enums"; +import { ExtensionSettings } from "../../types/extensionSettings"; import { parseGenerationLanguage, parsePluginType } from "../../util"; import { exportLogsAndShowErrors } from "../../utilities/logging"; +import { generateClient } from "../generate/generateClient"; +import { generatePlugin } from "../generate/generatePlugin"; import { checkForSuccess } from "../generate/generation-util"; export class RegenerateService { diff --git a/vscode/microsoft-kiota/src/commands/regenerate/regenerateButtonCommand.ts b/vscode/microsoft-kiota/src/commands/regenerate/regenerateButtonCommand.ts index 9dd735a4b4..25ad81022b 100644 --- a/vscode/microsoft-kiota/src/commands/regenerate/regenerateButtonCommand.ts +++ b/vscode/microsoft-kiota/src/commands/regenerate/regenerateButtonCommand.ts @@ -2,9 +2,9 @@ import * as vscode from "vscode"; import { ExtensionContext } from "vscode"; import { extensionId, treeViewId } from "../../constants"; -import { getExtensionSettings } from "../../extensionSettings"; import { getGenerationConfiguration, setGenerationConfiguration } from "../../handlers/configurationHandler"; import { OpenApiTreeProvider } from "../../providers/openApiTreeProvider"; +import { getExtensionSettings } from "../../types/extensionSettings"; import { WorkspaceGenerationContext } from "../../types/WorkspaceGenerationContext"; import { isClientType, isPluginType } from "../../util"; import { confirmOverride } from "../../utilities/regeneration"; diff --git a/vscode/microsoft-kiota/src/commands/regenerate/regenerateCommand.ts b/vscode/microsoft-kiota/src/commands/regenerate/regenerateCommand.ts index ff486c1a86..a2688351d0 100644 --- a/vscode/microsoft-kiota/src/commands/regenerate/regenerateCommand.ts +++ b/vscode/microsoft-kiota/src/commands/regenerate/regenerateCommand.ts @@ -2,8 +2,8 @@ import * as vscode from "vscode"; import { ExtensionContext } from "vscode"; import { extensionId, KIOTA_WORKSPACE_FILE } from "../../constants"; -import { getExtensionSettings } from "../../extensionSettings"; import { OpenApiTreeProvider } from "../../providers/openApiTreeProvider"; +import { getExtensionSettings } from "../../types/extensionSettings"; import { WorkspaceGenerationContext } from "../../types/WorkspaceGenerationContext"; import { isClientType, isPluginType } from "../../util"; import { confirmOverride } from "../../utilities/regeneration"; diff --git a/vscode/microsoft-kiota/src/enums.ts b/vscode/microsoft-kiota/src/enums.ts deleted file mode 100644 index e3340f0b2c..0000000000 --- a/vscode/microsoft-kiota/src/enums.ts +++ /dev/null @@ -1,38 +0,0 @@ -export enum GenerationType { - // eslint-disable-next-line @typescript-eslint/naming-convention - Client = 0, - // eslint-disable-next-line @typescript-eslint/naming-convention - Plugin = 1, - // eslint-disable-next-line @typescript-eslint/naming-convention - ApiManifest = 2, -}; - -export enum KiotaGenerationLanguage { - // eslint-disable-next-line @typescript-eslint/naming-convention - CSharp = 0, - // eslint-disable-next-line @typescript-eslint/naming-convention - Java = 1, - // eslint-disable-next-line @typescript-eslint/naming-convention - TypeScript = 2, - // eslint-disable-next-line @typescript-eslint/naming-convention - PHP = 3, - // eslint-disable-next-line @typescript-eslint/naming-convention - Python = 4, - // eslint-disable-next-line @typescript-eslint/naming-convention - Go = 5, - // eslint-disable-next-line @typescript-eslint/naming-convention - Swift = 6, - // eslint-disable-next-line @typescript-eslint/naming-convention - Ruby = 7, - // eslint-disable-next-line @typescript-eslint/naming-convention - CLI = 8, -}; - -export enum KiotaPluginType { - // eslint-disable-next-line @typescript-eslint/naming-convention - OpenAI = 0, - // eslint-disable-next-line @typescript-eslint/naming-convention - ApiManifest = 1, - // eslint-disable-next-line @typescript-eslint/naming-convention - ApiPlugin = 2, -}; diff --git a/vscode/microsoft-kiota/src/extension.ts b/vscode/microsoft-kiota/src/extension.ts index f3fe91a53e..e168512633 100644 --- a/vscode/microsoft-kiota/src/extension.ts +++ b/vscode/microsoft-kiota/src/extension.ts @@ -7,32 +7,32 @@ import { CloseDescriptionCommand } from './commands/closeDescriptionCommand'; import { EditPathsCommand } from './commands/editPathsCommand'; import { GenerateClientCommand } from './commands/generate/generateClientCommand'; import { displayGenerationResults } from './commands/generate/generation-util'; -import { MigrateFromLockFileCommand } from './commands/migrateFromLockFileCommand'; -import { AddAllToSelectedEndpointsCommand } from './commands/open-api-tree-view/addAllToSelectedEndpointsCommand'; -import { AddToSelectedEndpointsCommand } from './commands/open-api-tree-view/addToSelectedEndpointsCommand'; -import { FilterDescriptionCommand } from './commands/open-api-tree-view/filterDescriptionCommand'; -import { OpenDocumentationPageCommand } from './commands/open-api-tree-view/openDocumentationPageCommand'; -import { RemoveAllFromSelectedEndpointsCommand } from './commands/open-api-tree-view/removeAllFromSelectedEndpointsCommand'; -import { RemoveFromSelectedEndpointsCommand } from './commands/open-api-tree-view/removeFromSelectedEndpointsCommand'; -import { SearchOrOpenApiDescriptionCommand } from './commands/open-api-tree-view/search-or-open-api-description/searchOrOpenApiDescriptionCommand'; +import { checkForLockFileAndPrompt } from "./commands/migrate/migrateFromLockFile"; +import { MigrateFromLockFileCommand } from './commands/migrate/migrateFromLockFileCommand'; +import { AddAllToSelectedEndpointsCommand } from './commands/openApiTreeView/addAllToSelectedEndpointsCommand'; +import { AddToSelectedEndpointsCommand } from './commands/openApiTreeView/addToSelectedEndpointsCommand'; +import { FilterDescriptionCommand } from './commands/openApiTreeView/filterDescriptionCommand'; +import { OpenDocumentationPageCommand } from './commands/openApiTreeView/openDocumentationPageCommand'; +import { RemoveAllFromSelectedEndpointsCommand } from './commands/openApiTreeView/removeAllFromSelectedEndpointsCommand'; +import { RemoveFromSelectedEndpointsCommand } from './commands/openApiTreeView/removeFromSelectedEndpointsCommand'; +import { SearchOrOpenApiDescriptionCommand } from './commands/openApidescription/searchOrOpenApiDescriptionCommand'; import { RegenerateButtonCommand } from './commands/regenerate/regenerateButtonCommand'; import { RegenerateCommand } from './commands/regenerate/regenerateCommand'; import { SelectLockCommand } from './commands/selectLockCommand'; import { StatusCommand } from './commands/statusCommand'; import { API_MANIFEST_FILE, dependenciesInfo, extensionId, statusBarCommandId, treeViewId } from "./constants"; -import { getExtensionSettings } from "./extensionSettings"; -import { GeneratedOutputState } from './GeneratedOutputState'; -import { getKiotaVersion } from "./getKiotaVersion"; import { getGenerationConfiguration } from './handlers/configurationHandler'; import { UriHandler } from './handlers/uriHandler'; import { ClientOrPluginProperties } from "./kiotaInterop"; -import { checkForLockFileAndPrompt } from "./migrateFromLockFile"; +import { getKiotaVersion } from './kiotaInterop/getKiotaVersion'; import { CodeLensProvider } from './providers/codelensProvider'; import { DependenciesViewProvider } from "./providers/dependenciesViewProvider"; import { OpenApiTreeNode, OpenApiTreeProvider } from "./providers/openApiTreeProvider"; import { loadTreeView } from './providers/workspaceTreeProvider'; +import { getExtensionSettings } from "./types/extensionSettings"; +import { GeneratedOutputState } from './types/GeneratedOutputState'; import { WorkspaceGenerationContext } from "./types/WorkspaceGenerationContext"; import { updateClients } from "./updateClients"; import { IntegrationParams } from './utilities/deep-linking'; diff --git a/vscode/microsoft-kiota/src/extensionSettings.ts b/vscode/microsoft-kiota/src/extensionSettings.ts deleted file mode 100644 index 531b2af813..0000000000 --- a/vscode/microsoft-kiota/src/extensionSettings.ts +++ /dev/null @@ -1,53 +0,0 @@ -import * as vscode from "vscode"; -import { KiotaGenerationLanguage } from "./enums"; - -export function getExtensionSettings(extensionId: string) : ExtensionSettings { - return { - includeAdditionalData: getBooleanConfiguration(extensionId, "generate.includeAdditionalData.enabled"), - backingStore: getBooleanConfiguration(extensionId, "generate.backingStore.enabled"), - excludeBackwardCompatible: getBooleanConfiguration(extensionId, "generate.excludeBackwardCompatible.enabled"), - cleanOutput: getBooleanConfiguration(extensionId, "cleanOutput.enabled"), - clearCache: getBooleanConfiguration(extensionId, "clearCache.enabled"), - disableValidationRules: getStringArrayConfiguration(extensionId, "generate.disableValidationRules"), - structuredMimeTypes: getStringArrayConfiguration(extensionId, "generate.structuredMimeTypes"), - languagesSerializationConfiguration: { - [KiotaGenerationLanguage.CLI]: getLanguageSerializationConfiguration(extensionId, "CSharp"), - [KiotaGenerationLanguage.CSharp]: getLanguageSerializationConfiguration(extensionId, "CSharp"), - [KiotaGenerationLanguage.Go]: getLanguageSerializationConfiguration(extensionId, "Go"), - [KiotaGenerationLanguage.Java]: getLanguageSerializationConfiguration(extensionId, "Java"), - [KiotaGenerationLanguage.PHP]: getLanguageSerializationConfiguration(extensionId, "PHP"), - [KiotaGenerationLanguage.Python]: getLanguageSerializationConfiguration(extensionId, "Python"), - [KiotaGenerationLanguage.Ruby]: getLanguageSerializationConfiguration(extensionId, "Ruby"), - [KiotaGenerationLanguage.Swift]: getLanguageSerializationConfiguration(extensionId, "Swift"), - [KiotaGenerationLanguage.TypeScript]: getLanguageSerializationConfiguration(extensionId, "TypeScript"), - }, - }; -} -function getBooleanConfiguration(extensionId: string, configurationName: string): boolean { - return vscode.workspace.getConfiguration(extensionId).get(configurationName) ?? false; -} -function getStringArrayConfiguration(extensionId: string, configurationName: string): string[] { - return vscode.workspace.getConfiguration(extensionId).get(configurationName) ?? []; -} -function getLanguageSerializationConfiguration(extensionId: string, languageName: string): LanguageSerializationConfiguration { - return { - serializers: getStringArrayConfiguration(extensionId, `generate.serializer.${languageName}`), - deserializers: getStringArrayConfiguration(extensionId, `generate.deserializer.${languageName}`), - }; -} - -export interface ExtensionSettings { - backingStore: boolean; - excludeBackwardCompatible: boolean; - cleanOutput: boolean; - clearCache: boolean; - disableValidationRules: string[]; - structuredMimeTypes: string[]; - includeAdditionalData: boolean; - languagesSerializationConfiguration: Record; -} - -interface LanguageSerializationConfiguration { - serializers: string[]; - deserializers: string[]; -} diff --git a/vscode/microsoft-kiota/src/getKiotaVersion.ts b/vscode/microsoft-kiota/src/getKiotaVersion.ts deleted file mode 100644 index 2a09e6bc98..0000000000 --- a/vscode/microsoft-kiota/src/getKiotaVersion.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { connectToKiota } from "./kiotaInterop"; -import * as rpc from "vscode-jsonrpc/node"; -import * as vscode from "vscode"; - -export function getKiotaVersion(context: vscode.ExtensionContext, kiotaOutputChannel: vscode.LogOutputChannel): Promise { - return connectToKiota(context, async (connection) => { - const request = new rpc.RequestType0("GetVersion"); - const result = await connection.sendRequest(request); - if (result) { - const version = result.split("+")[0]; - if (version) { - kiotaOutputChannel.info(`kiota: ${version}`); - return version; - } - } - kiotaOutputChannel.error(`kiota: ${vscode.l10n.t('not found')}`); - kiotaOutputChannel.show(); - return undefined; - }); -}; \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/kiotaInstall.ts b/vscode/microsoft-kiota/src/kiotaInstall.ts deleted file mode 100644 index 25e84c90e5..0000000000 --- a/vscode/microsoft-kiota/src/kiotaInstall.ts +++ /dev/null @@ -1,163 +0,0 @@ -import * as path from 'path'; -import * as https from 'https'; -import * as fs from 'fs'; -import {createHash} from 'crypto'; -import * as admZip from 'adm-zip'; -import * as vscode from "vscode"; -import isOnline from 'is-online'; - - -const kiotaInstallStatusKey = "kiotaInstallStatus"; -const installDelayInMs = 30000; // 30 seconds -async function runIfNotLocked(context: vscode.ExtensionContext, action: () => Promise) { - const installStartTimeStamp = context.globalState.get(kiotaInstallStatusKey); - const currentTimeStamp = new Date().getTime(); - if (!installStartTimeStamp || (currentTimeStamp - installStartTimeStamp) > installDelayInMs) { - //locking the context to prevent multiple downloads across multiple instances of vscode - //overriding after 30 seconds to prevent stale locks - await context.globalState.update(kiotaInstallStatusKey, currentTimeStamp); - try { - await action(); - } finally { - await context.globalState.update(kiotaInstallStatusKey, undefined); - } - } -} -export async function ensureKiotaIsPresent(context: vscode.ExtensionContext) { - const runtimeDependencies = getRuntimeDependenciesPackages(context); - const currentPlatform = getCurrentPlatform(); - const installPath = getKiotaPathInternal(context, false); - if (installPath) { - if (!fs.existsSync(installPath) || fs.readdirSync(installPath).length === 0) { - await vscode.window.withProgress({ - location: vscode.ProgressLocation.Notification, - cancellable: false, - title: vscode.l10n.t("Downloading kiota...") - - }, async (progress, _) => { - const online = await isOnline(); - if (!online) { - await vscode.window.showErrorMessage( - vscode.l10n.t("Downloading kiota requires an internet connection. Please check your connection and try again.") - ); - return; - } - await runIfNotLocked(context, async () => { - try { - const packageToInstall = runtimeDependencies.find((p) => p.platformId === currentPlatform); - if (!packageToInstall) { - throw new Error("Could not find package to install"); - } - fs.mkdirSync(installPath, { recursive: true }); - const zipFilePath = `${installPath}.zip`; - await downloadFileFromUrl(getDownloadUrl(context, currentPlatform), zipFilePath); - if (await doesFileHashMatch(zipFilePath, packageToInstall.sha256)) { - unzipFile(zipFilePath, installPath); - const kiotaPath = getKiotaPathInternal(context); - if ((currentPlatform.startsWith(linuxPlatform) || currentPlatform.startsWith(osxPlatform)) && kiotaPath) { - makeExecutable(kiotaPath); - } - } else { - throw new Error("Hash mismatch"); - } - } catch(error) { - await vscode.window.showErrorMessage( - vscode.l10n.t("Kiota download failed. Try closing all Visual Studio Code windows and open only one. Check the extension host logs for more information.") - ); - fs.rmdirSync(installPath, { recursive: true }); - } - }); - }); - } - } -} - -let kiotaPath: string | undefined; - -export function getKiotaPath(context: vscode.ExtensionContext): string { - if (!kiotaPath) { - kiotaPath = getKiotaPathInternal(context); - if(!kiotaPath) { - throw new Error("Could not find kiota"); - } - } - return kiotaPath; -} -function makeExecutable(path: string) { - fs.chmodSync(path, 0o755); -} - -const binariesRootDirectory = '.kiotabin'; -function getKiotaPathInternal(context: vscode.ExtensionContext, withFileName = true): string | undefined { - const fileName = process.platform === 'win32' ? 'kiota.exe' : 'kiota'; - const runtimeDependencies = getRuntimeDependenciesPackages(context); - const currentPlatform = getCurrentPlatform(); - const packageToInstall = runtimeDependencies.find((p) => p.platformId === currentPlatform); - if (packageToInstall) { - const installPath = context.asAbsolutePath(binariesRootDirectory); - const directoryPath = path.join(installPath, context.extension.packageJSON.kiotaVersion, currentPlatform); - if (withFileName) { - return path.join(directoryPath, fileName); - } - return directoryPath; - } - return undefined; -} - -function unzipFile(zipFilePath: string, destinationPath: string) { - const zip = new admZip(zipFilePath); - zip.extractAllTo(destinationPath, true); -} - -async function doesFileHashMatch(destinationPath: string, hashValue: string) : Promise { - const hash = createHash('sha256'); - return new Promise((resolve, reject) => { - fs.createReadStream(destinationPath).pipe(hash).on('finish', () => {; - const computedValue = hash.digest('hex'); - hash.destroy(); - resolve(computedValue.toUpperCase() === hashValue.toUpperCase()); - }); - }); -} - -function downloadFileFromUrl(url: string, destinationPath: string) { - return new Promise((resolve, reject) => { - https.get(url, (response) => { - if (response.statusCode && response.statusCode >= 300 && response.statusCode < 400 && response.headers.location) { - resolve(downloadFileFromUrl(response.headers.location, destinationPath)); - } else { - const filePath = fs.createWriteStream(destinationPath); - response.pipe(filePath); - filePath.on('finish', () => { - filePath.close(); - resolve(undefined); - }); - } - }); - }); -} -const baseDownloadUrl = "https://github.com/microsoft/kiota/releases/download"; -function getDownloadUrl(context: vscode.ExtensionContext, platform: string): string { - return `${baseDownloadUrl}/v${context.extension.packageJSON.kiotaVersion}/${platform}.zip`; -} - -function getRuntimeDependenciesPackages(context: vscode.ExtensionContext): Package[] { - const packageJSON = context.extension.packageJSON; - if (packageJSON.runtimeDependencies) { - return JSON.parse(JSON.stringify(packageJSON.runtimeDependencies)); - } - throw new Error("No runtime dependencies found"); -} - -export interface Package { - platformId: string; - sha256: string; -} - -const windowsPlatform = 'win'; -const osxPlatform = 'osx'; -const linuxPlatform = 'linux'; -export function getCurrentPlatform(): string { - const binPathSegmentOS = process.platform === 'win32' ? windowsPlatform : process.platform === 'darwin' ? osxPlatform : linuxPlatform; - return `${binPathSegmentOS}-${process.arch}`; -} \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/kiotaInterop.ts b/vscode/microsoft-kiota/src/kiotaInterop.ts deleted file mode 100644 index 433b720c00..0000000000 --- a/vscode/microsoft-kiota/src/kiotaInterop.ts +++ /dev/null @@ -1,273 +0,0 @@ -import * as cp from 'child_process'; -import * as vscode from "vscode"; -import * as rpc from 'vscode-jsonrpc/node'; -import { KiotaGenerationLanguage, KiotaPluginType } from './enums'; -import { ensureKiotaIsPresent, getKiotaPath } from './kiotaInstall'; -import { getWorkspaceJsonDirectory } from "./util"; - -export async function connectToKiota(context: vscode.ExtensionContext, callback: (connection: rpc.MessageConnection) => Promise, workingDirectory: string = getWorkspaceJsonDirectory()): Promise { - const kiotaPath = getKiotaPath(context); - await ensureKiotaIsPresent(context); - const childProcess = cp.spawn(kiotaPath, ["rpc"], { - cwd: workingDirectory, - env: { - ...process.env, - // eslint-disable-next-line @typescript-eslint/naming-convention - KIOTA_CONFIG_PREVIEW: "true", - } - }); - let connection = rpc.createMessageConnection( - new rpc.StreamMessageReader(childProcess.stdout), - new rpc.StreamMessageWriter(childProcess.stdin)); - connection.listen(); - try { - return await callback(connection); - } catch (error) { - const errorMessage = (error as { data?: { message: string } })?.data?.message - || 'An unknown error occurred'; - vscode.window.showErrorMessage(errorMessage); - } finally { - connection.dispose(); - childProcess.kill(); - } -} - -export interface KiotaLogEntry { - level: LogLevel; - message: string; -} - -export interface KiotaOpenApiNode { - segment: string, - path: string, - children: KiotaOpenApiNode[], - selected?: boolean, - isOperation?: boolean; - documentationUrl?: string; - clientNameOrPluginName?: string; -} -interface CacheClearableConfiguration { - clearCache: boolean; -} - -export interface KiotaShowConfiguration extends CacheClearableConfiguration { - includeFilters: string[]; - excludeFilters: string[]; - descriptionPath: string; -} -export interface KiotaGetManifestDetailsConfiguration extends CacheClearableConfiguration { - manifestPath: string; - apiIdentifier: string; -} - -interface KiotaLoggedResult { - logs: KiotaLogEntry[]; -} -export interface KiotaShowResult extends KiotaLoggedResult { - rootNode?: KiotaOpenApiNode; - apiTitle?: string; -} - -export interface KiotaManifestResult extends KiotaLoggedResult { - apiDescriptionPath?: string; - selectedPaths?: string[]; -} - -export interface KiotaSearchResult extends KiotaLoggedResult { - results: Record; -} -export interface KiotaSearchResultItem { - // eslint-disable-next-line @typescript-eslint/naming-convention - Title: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - Description: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - ServiceUrl?: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - DescriptionUrl?: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - VersionLabels?: string[]; -} - -export enum ConsumerOperation { - // eslint-disable-next-line @typescript-eslint/naming-convention - Add, - // eslint-disable-next-line @typescript-eslint/naming-convention - Edit, - // eslint-disable-next-line @typescript-eslint/naming-convention - Remove, - // eslint-disable-next-line @typescript-eslint/naming-convention - Generate -} - -export function generationLanguageToString(language: KiotaGenerationLanguage): string { - switch (language) { - case KiotaGenerationLanguage.CSharp: - return "CSharp"; - case KiotaGenerationLanguage.Java: - return "Java"; - case KiotaGenerationLanguage.TypeScript: - return "TypeScript"; - case KiotaGenerationLanguage.PHP: - return "PHP"; - case KiotaGenerationLanguage.Python: - return "Python"; - case KiotaGenerationLanguage.Go: - return "Go"; - case KiotaGenerationLanguage.Swift: - return "Swift"; - case KiotaGenerationLanguage.Ruby: - return "Ruby"; - case KiotaGenerationLanguage.CLI: - return "CLI"; - default: - throw new Error("unknown language"); - } -} - -export const allGenerationLanguages = [ - KiotaGenerationLanguage.CSharp, - KiotaGenerationLanguage.Go, - KiotaGenerationLanguage.Java, - KiotaGenerationLanguage.PHP, - KiotaGenerationLanguage.Python, - KiotaGenerationLanguage.Ruby, - KiotaGenerationLanguage.CLI, - KiotaGenerationLanguage.Swift, - KiotaGenerationLanguage.TypeScript, -]; - -/** - * The log level from Kiota - * @see https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel?view=dotnet-plat-ext-7.0 - */ -export enum LogLevel { - trace = 0, - debug = 1, - information = 2, - warning = 3, - error = 4, - critical = 5, - none = 6, -} -export function getLogEntriesForLevel(logEntries: KiotaLogEntry[], ...levels: LogLevel[]): KiotaLogEntry[] { - return logEntries.filter((entry) => levels.indexOf(entry.level) !== -1); -} - -export interface LanguagesInformation { - [key: string]: LanguageInformation; -} -export interface LanguageInformation { - // eslint-disable-next-line @typescript-eslint/naming-convention - MaturityLevel: MaturityLevel; - // eslint-disable-next-line @typescript-eslint/naming-convention - Dependencies: LanguageDependency[]; - // eslint-disable-next-line @typescript-eslint/naming-convention - DependencyInstallCommand: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - ClientNamespaceName: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - ClientClassName: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - StructuredMimeTypes: string[]; -} -export interface LanguageDependency { - // eslint-disable-next-line @typescript-eslint/naming-convention - Name: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - Version: string; - // eslint-disable-next-line @typescript-eslint/naming-convention - DependencyType: DependencyType; -} -export enum MaturityLevel { - experimental = 0, - preview = 1, - stable = 2, -} -export function maturityLevelToString(level: MaturityLevel): string { - switch (level) { - case MaturityLevel.experimental: - return "experimental"; - case MaturityLevel.preview: - return "preview"; - case MaturityLevel.stable: - return "stable"; - default: - throw new Error("unknown level"); - } -} -export enum DependencyType { - abstractions, - serialization, - authentication, - http, - bundle, - additional, -} -export function dependencyTypeToString(type: DependencyType): string { - switch (type) { - case DependencyType.abstractions: - return "abstractions"; - case DependencyType.serialization: - return "serialization"; - case DependencyType.authentication: - return "authentication"; - case DependencyType.http: - return "http"; - case DependencyType.bundle: - return "bundle"; - case DependencyType.additional: - return "additional"; - default: - throw new Error("unknown type"); - } -} -export interface ConfigurationFile { - version: string; - clients: Record; - plugins: Record; -} - -export interface GenerationConfiguration { - cleanOutput: boolean; - clearCache: boolean; - clientClassName: string; - clientNamespaceName: string; - deserializers: string[]; - disabledValidationRules: string[]; - excludeBackwardCompatible: boolean; - excludePatterns: string[]; - includeAdditionalData: boolean; - includePatterns: string[]; - language: KiotaGenerationLanguage; - openAPIFilePath: string; - outputPath: string; - serializers: string[]; - structuredMimeTypes: string[]; - usesBackingStore: boolean; - pluginTypes: KiotaPluginType[]; - operation: ConsumerOperation; -} - -interface WorkspaceObjectProperties { - descriptionLocation: string; - includePatterns: string[]; - excludePatterns: string[]; - outputPath: string; -} - -export interface ClientObjectProperties extends WorkspaceObjectProperties { - language: string; - structuredMimeTypes: string[]; - clientNamespaceName: string; - usesBackingStore: boolean; - includeAdditionalData: boolean; - excludeBackwardCompatible: boolean; - disabledValidationRules: string[]; -} - -export interface PluginObjectProperties extends WorkspaceObjectProperties { - types: string[]; -} - -export type ClientOrPluginProperties = ClientObjectProperties | PluginObjectProperties; diff --git a/vscode/microsoft-kiota/src/providers/dependenciesViewProvider.ts b/vscode/microsoft-kiota/src/providers/dependenciesViewProvider.ts index 2777a6eecf..5b81879cd8 100644 --- a/vscode/microsoft-kiota/src/providers/dependenciesViewProvider.ts +++ b/vscode/microsoft-kiota/src/providers/dependenciesViewProvider.ts @@ -1,7 +1,7 @@ import * as vscode from 'vscode'; -import { KiotaGenerationLanguage } from '../enums'; import { DependencyType, dependencyTypeToString, generationLanguageToString, LanguageInformation, LanguagesInformation } from '../kiotaInterop'; +import { KiotaGenerationLanguage } from '../types/enums'; export class DependenciesViewProvider implements vscode.WebviewViewProvider { private _view?: vscode.WebviewView; diff --git a/vscode/microsoft-kiota/src/providers/openApiTreeProvider.ts b/vscode/microsoft-kiota/src/providers/openApiTreeProvider.ts index 81fc38621f..7f8cdc81d0 100644 --- a/vscode/microsoft-kiota/src/providers/openApiTreeProvider.ts +++ b/vscode/microsoft-kiota/src/providers/openApiTreeProvider.ts @@ -6,7 +6,6 @@ import * as vscode from 'vscode'; import * as rpc from 'vscode-jsonrpc/node'; import { treeViewId } from '../constants'; -import { ExtensionSettings } from '../extensionSettings'; import { ClientObjectProperties, ClientOrPluginProperties, @@ -20,6 +19,7 @@ import { KiotaShowResult, PluginObjectProperties } from '../kiotaInterop'; +import { ExtensionSettings } from '../types/extensionSettings'; import { updateTreeViewIcons } from '../util'; export class OpenApiTreeProvider implements vscode.TreeDataProvider { diff --git a/vscode/microsoft-kiota/src/util.ts b/vscode/microsoft-kiota/src/util.ts index 4f9367e686..c61ab8fcb4 100644 --- a/vscode/microsoft-kiota/src/util.ts +++ b/vscode/microsoft-kiota/src/util.ts @@ -2,10 +2,11 @@ import * as fs from 'fs'; import * as path from 'path'; import * as vscode from 'vscode'; import { QuickPickItem } from "vscode"; + +import { displayMigrationMessages, migrateFromLockFile } from './commands/migrate/migrateFromLockFile'; import { APIMANIFEST, CLIENT, CLIENTS, KIOTA_DIRECTORY, KIOTA_WORKSPACE_FILE, PLUGIN, PLUGINS } from './constants'; -import { GenerationType, KiotaGenerationLanguage, KiotaPluginType } from './enums'; import { allGenerationLanguages } from './kiotaInterop'; -import { displayMigrationMessages, migrateFromLockFile } from './migrateFromLockFile'; +import { GenerationType, KiotaGenerationLanguage, KiotaPluginType } from './types/enums'; const clientTypes = [CLIENT, CLIENTS]; const pluginTypes = [PLUGIN, PLUGINS, APIMANIFEST]; diff --git a/vscode/microsoft-kiota/src/utilities/deep-linking.ts b/vscode/microsoft-kiota/src/utilities/deep-linking.ts index fde5ecb6ed..b67f03fc34 100644 --- a/vscode/microsoft-kiota/src/utilities/deep-linking.ts +++ b/vscode/microsoft-kiota/src/utilities/deep-linking.ts @@ -1,6 +1,6 @@ -import { KiotaGenerationLanguage, KiotaPluginType } from "../enums"; import { GenerateState } from "../steps"; -import { getSanitizedString, parseGenerationLanguage, allGenerationLanguagesToString, parsePluginType } from "../util"; +import { KiotaGenerationLanguage, KiotaPluginType } from "../types/enums"; +import { allGenerationLanguagesToString, getSanitizedString, parseGenerationLanguage, parsePluginType } from "../util"; import { createTemporaryFolder } from "./temporary-folder"; export function isDeeplinkEnabled(deepLinkParams: Partial): boolean {