Skip to content

Commit 6624313

Browse files
committed
Converting MSG to ESM only
This patch is a preparation for cases where we have to import code directly into webviews and it is generally a good idea to fully advance to ESM. VS Code (Node.js) still uses CommonJS, but that's handled by our building system (based on esbuild). ESM support in Node.js is already working and just a matter of time to become the main module type everywhere. But because browsers cannot automatically resolve imports these have to be explicit, which means: the exact path plus the script extension (usually .js). With TypeScript a new moduleResolution option was introduced recently (`Node16`) which enforces this restriction. Hence most of the changes in this patch are adding the required extension for this module resolution type. I also moved a preact helper method out from the TS helpers to avoid importing Monaco and TS when using the preact stuff. Change-Id: I4331f6df8cc8a052133850b5de9bbfcb0c5d1262
1 parent f3a7c0d commit 6624313

File tree

445 files changed

+2442
-2838
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

445 files changed

+2442
-2838
lines changed

gui/extension/cspell.json

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"backends",
77
"browserslist",
88
"charsets",
9+
"chromedriver",
910
"codicon",
1011
"DBHOSTNAME",
1112
"DBPASSWORD",
@@ -19,12 +20,14 @@
1920
"informations",
2021
"innodb",
2122
"ISAM",
23+
"Kubuntu",
2224
"lightbulb",
2325
"Logfile",
2426
"MIDDLEINT",
2527
"mixins",
2628
"mutator",
2729
"mutators",
30+
"mysqlrouter",
2831
"nchar",
2932
"nohide",
3033
"nohover",
@@ -36,6 +39,8 @@
3639
"Preformat",
3740
"pytest",
3841
"rdbms",
42+
"redistributable",
43+
"regedit",
3944
"resizer",
4045
"Sakila",
4146
"savepoint",
@@ -66,14 +71,10 @@
6671
"varbinary",
6772
"varchar",
6873
"VARCHARACTER",
69-
"whitespaces",
70-
"ZEROFILL",
71-
"chromedriver",
7274
"vsix",
73-
"redistributable",
74-
"regedit",
75-
"Kubuntu",
76-
"mysqlrouter"
75+
"webviews",
76+
"whitespaces",
77+
"ZEROFILL"
7778
],
7879
"ignoreWords": [
7980
"Divs",
@@ -90,6 +91,7 @@
9091
"autogenerated",
9192
"camelcase",
9293
"certfile",
94+
"clipboardy",
9395
"dbconnections",
9496
"esbuild",
9597
"eucjpms",
@@ -99,6 +101,7 @@
99101
"keybcs",
100102
"keyfile",
101103
"killall",
104+
"libcurl",
102105
"macce",
103106
"mochawesome",
104107
"multiselect",
@@ -111,6 +114,7 @@
111114
"oraclecloud",
112115
"outdir",
113116
"outfile",
117+
"preact",
114118
"relcom",
115119
"saturationl",
116120
"scol",
@@ -123,9 +127,7 @@
123127
"uuidv",
124128
"webrootpath",
125129
"winx",
126-
"zstd",
127-
"libcurl",
128-
"clipboardy"
130+
"zstd"
129131
],
130132
"ignorePaths": [
131133
"./.eslintrc.json"

gui/extension/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
"activationEvents": [
2626
"onStartupFinished"
2727
],
28-
"main": "./out/main.js",
28+
"main": "./out/main.cjs",
29+
"type": "module",
2930
"contributes": {
3031
"languages": [
3132
{
@@ -1641,7 +1642,7 @@
16411642
"build-packages-win": "scripts/package_extension.ps1",
16421643
"publish-packages": "scripts/publish_packages.sh",
16431644
"vscode:prepublish": "npm run esbuild -- --minify",
1644-
"esbuild": "esbuild ./src/extension.ts --main-fields=module,main --bundle --outfile=out/main.js --external:vscode --format=cjs --platform=node",
1645+
"esbuild": "esbuild ./src/extension.ts --main-fields=module,main --bundle --outfile=out/main.cjs --external:vscode --format=cjs --platform=node",
16451646
"esbuild-watch": "npm run esbuild -- --sourcemap --watch",
16461647
"unit-tests": "mkdir -p .vscode-test/vscode-dummy/ && touch .vscode-test/vscode-dummy/dummy.txt"
16471648
}

gui/extension/src/CodeBlocks.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ import {
3030

3131
import { CharStreams, CommonTokenStream } from "antlr4ng";
3232

33-
import { PythonLexer } from "../../frontend/src/parsing/python/generated/PythonLexer";
33+
import { PythonLexer } from "../../frontend/src/parsing/python/generated/PythonLexer.js";
3434

3535
import {
3636
IRequestListEntry, IRequestTypeMap, IWebviewProvider, requisitions,
37-
} from "../../frontend/src/supplement/Requisitions";
38-
import { printChannelOutput } from "./extension";
39-
import { IDictionary } from "../../frontend/src/app-logic/Types";
37+
} from "../../frontend/src/supplement/Requisitions.js";
38+
import { printChannelOutput } from "./extension.js";
39+
import { IDictionary } from "../../frontend/src/app-logic/Types.js";
4040

4141
/** A record of white spaces in a code block, which must be re-applied when replacing the original block. */
4242
interface IWhiteSpaces {

gui/extension/src/DBEditorCommandHandler.ts

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,40 @@ import { commands, ConfigurationTarget, TextEditor, Uri, window, workspace } fro
2828

2929
import {
3030
IRequestListEntry, IRequestTypeMap, IWebviewProvider, requisitions,
31-
} from "../../frontend/src/supplement/Requisitions";
32-
33-
import { OciDbSystemTreeItem } from "./tree-providers/OCITreeProvider";
34-
import { ScriptTreeItem } from "./tree-providers/ScriptTreeItem";
35-
36-
import { EntityType, IDBEditorScriptState } from "../../frontend/src/modules/db-editor";
37-
import { EditorLanguage, INewEditorRequest, IRunQueryRequest, IScriptRequest } from "../../frontend/src/supplement";
38-
import { DBConnectionViewProvider } from "./web-views/DBConnectionViewProvider";
39-
40-
import { IMrsDbObjectData } from "../../frontend/src/communication/ProtocolMrs";
41-
import { DBType } from "../../frontend/src/supplement/ShellInterface";
42-
import { ShellInterfaceSqlEditor } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceSqlEditor";
43-
import { uuid } from "../../frontend/src/utilities/helpers";
44-
import { CodeBlocks } from "./CodeBlocks";
45-
import { WebviewProvider } from "./web-views/WebviewProvider";
46-
import { ExtensionHost } from "./ExtensionHost";
47-
import { ConnectionsTreeBaseItem } from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeBaseItem";
31+
} from "../../frontend/src/supplement/Requisitions.js";
32+
33+
import { ScriptTreeItem } from "./tree-providers/ScriptTreeItem.js";
34+
35+
import { EntityType, IDBEditorScriptState } from "../../frontend/src/modules/db-editor/index.js";
36+
import {
37+
EditorLanguage, INewEditorRequest, IRunQueryRequest, IScriptRequest,
38+
} from "../../frontend/src/supplement/index.js";
39+
import { DBConnectionViewProvider } from "./WebviewProviders/DBConnectionViewProvider.js";
40+
41+
import { IMrsDbObjectData } from "../../frontend/src/communication/ProtocolMrs.js";
42+
import { DBType } from "../../frontend/src/supplement/ShellInterface/index.js";
43+
import { ShellInterfaceSqlEditor } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceSqlEditor.js";
44+
import { uuid } from "../../frontend/src/utilities/helpers.js";
45+
import { CodeBlocks } from "./CodeBlocks.js";
46+
import { WebviewProvider } from "./WebviewProviders/WebviewProvider.js";
47+
import { ExtensionHost } from "./ExtensionHost.js";
48+
import { ConnectionsTreeBaseItem } from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeBaseItem.js";
4849
import {
4950
CdmSchemaGroupMember,
5051
ConnectionsTreeDataModelEntry, ICdmConnectionEntry, ICdmRestDbObjectEntry, ICdmRoutineEntry, ICdmSchemaEntry,
5152
ICdmTableEntry, ICdmTriggerEntry,
52-
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel";
53+
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel.js";
5354
import {
5455
ConnectionsTreeDataProvider,
55-
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeProvider";
56-
import { ConnectionTreeItem } from "./tree-providers/ConnectionsTreeProvider/ConnectionTreeItem";
57-
import { SchemaEventTreeItem } from "./tree-providers/ConnectionsTreeProvider/SchemaEventTreeItem";
56+
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeProvider.js";
57+
import { ConnectionTreeItem } from "./tree-providers/ConnectionsTreeProvider/ConnectionTreeItem.js";
58+
import { SchemaEventTreeItem } from "./tree-providers/ConnectionsTreeProvider/SchemaEventTreeItem.js";
5859
import {
5960
IEditorConnectionEntry, IOpenEditorBaseEntry, IOpenEditorEntry, OpenEditorsTreeDataProvider,
60-
} from "./tree-providers/OpenEditorsTreeProvider/OpenEditorsTreeProvider";
61-
import { showMessageWithTimeout } from "./utilities";
62-
import { snakeToCamelCase } from "../../frontend/src/utilities/string-helpers";
61+
} from "./tree-providers/OpenEditorsTreeProvider/OpenEditorsTreeProvider.js";
62+
import { showMessageWithTimeout } from "./utilities.js";
63+
import { snakeToCamelCase } from "../../frontend/src/utilities/string-helpers.js";
64+
import { OciDbSystemTreeItem } from "./tree-providers/OCITreeProvider/OciDbSystemTreeItem.js";
6365

6466
/** A class to handle all DB editor related commands and jobs. */
6567
export class DBEditorCommandHandler {
@@ -387,18 +389,18 @@ export class DBEditorCommandHandler {
387389
}));
388390

389391
context.subscriptions.push(commands.registerCommand("msg.copyCreateScriptWithDelimitersToClipboard",
390-
(entry?: ConnectionsTreeDataModelEntry) => {
391-
if (entry && entry.treeItem instanceof ConnectionsTreeBaseItem) {
392-
entry.treeItem.copyCreateScriptToClipboard(true);
393-
}
394-
}));
392+
(entry?: ConnectionsTreeDataModelEntry) => {
393+
if (entry && entry.treeItem instanceof ConnectionsTreeBaseItem) {
394+
entry.treeItem.copyCreateScriptToClipboard(true);
395+
}
396+
}));
395397

396398
context.subscriptions.push(commands.registerCommand("msg.copyDropCreateScriptWithDelimitersToClipboard",
397-
(entry?: ConnectionsTreeDataModelEntry) => {
398-
if (entry && entry.treeItem instanceof ConnectionsTreeBaseItem) {
399-
entry.treeItem.copyCreateScriptToClipboard(true, true);
400-
}
401-
}));
399+
(entry?: ConnectionsTreeDataModelEntry) => {
400+
if (entry && entry.treeItem instanceof ConnectionsTreeBaseItem) {
401+
entry.treeItem.copyCreateScriptToClipboard(true, true);
402+
}
403+
}));
402404

403405
context.subscriptions.push(commands.registerCommand("msg.editInScriptEditor", async (uri?: Uri) => {
404406
if (uri?.scheme === "file") {

gui/extension/src/ExtensionHost.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,36 +26,36 @@ import {
2626
WorkspaceConfiguration,
2727
} from "vscode";
2828

29-
import { ShellTask } from "../../frontend/src/shell-tasks/ShellTask";
30-
import { Settings } from "../../frontend/src/supplement/Settings/Settings";
31-
import { ISettingCategory, settingCategories } from "../../frontend/src/supplement/Settings/SettingsRegistry";
32-
import { DBType } from "../../frontend/src/supplement/ShellInterface";
33-
import { webSession } from "../../frontend/src/supplement/WebSession";
34-
35-
import { printChannelOutput, taskOutputChannel } from "./extension";
36-
import { ScriptsTreeDataProvider } from "./tree-providers/ScriptsTreeProvider";
37-
import { ShellTasksTreeDataProvider } from "./tree-providers/ShellTreeProvider/ShellTasksTreeProvider";
38-
39-
import { IStatusbarInfo } from "../../frontend/src/app-logic/Types";
40-
import { IShellModuleDataCategoriesEntry, IShellProfile } from "../../frontend/src/communication/ProtocolGui";
29+
import { ShellTask } from "../../frontend/src/shell-tasks/ShellTask.js";
30+
import { Settings } from "../../frontend/src/supplement/Settings/Settings.js";
31+
import { ISettingCategory, settingCategories } from "../../frontend/src/supplement/Settings/SettingsRegistry.js";
32+
import { DBType } from "../../frontend/src/supplement/ShellInterface/index.js";
33+
import { webSession } from "../../frontend/src/supplement/WebSession.js";
34+
35+
import { printChannelOutput, taskOutputChannel } from "./extension.js";
36+
import { ScriptsTreeDataProvider } from "./tree-providers/ScriptsTreeProvider.js";
37+
import { ShellTasksTreeDataProvider } from "./tree-providers/ShellTreeProvider/ShellTasksTreeProvider.js";
38+
39+
import { IStatusbarInfo } from "../../frontend/src/app-logic/Types.js";
40+
import { IShellModuleDataCategoriesEntry, IShellProfile } from "../../frontend/src/communication/ProtocolGui.js";
4141
import {
4242
IRequestListEntry, IRequestTypeMap, IRequisitionCallbackValues, IWebviewProvider, requisitions,
43-
} from "../../frontend/src/supplement/Requisitions";
44-
import { ShellInterface } from "../../frontend/src/supplement/ShellInterface/ShellInterface";
45-
import { NodeMessageScheduler } from "./communication/NodeMessageScheduler";
46-
import { DBEditorCommandHandler } from "./DBEditorCommandHandler";
47-
import { NotebookEditorProvider } from "./editor-providers/NotebookEditorProvider";
48-
import { MDSCommandHandler } from "./MDSCommandHandler";
49-
import { MRSCommandHandler } from "./MRSCommandHandler";
50-
import { ShellConsoleCommandHandler } from "./ShellConsoleCommandHandler";
43+
} from "../../frontend/src/supplement/Requisitions.js";
44+
import { ShellInterface } from "../../frontend/src/supplement/ShellInterface/ShellInterface.js";
45+
import { NodeMessageScheduler } from "./communication/NodeMessageScheduler.js";
46+
import { DBEditorCommandHandler } from "./DBEditorCommandHandler.js";
47+
import { NotebookEditorProvider } from "./editor-providers/NotebookEditorProvider.js";
48+
import { MDSCommandHandler } from "./MDSCommandHandler.js";
49+
import { MRSCommandHandler } from "./MRSCommandHandler.js";
50+
import { ShellConsoleCommandHandler } from "./ShellConsoleCommandHandler.js";
5151
import {
5252
ICdmConnectionEntry, ICdmSchemaEntry,
53-
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel";
53+
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel.js";
5454
import {
5555
ConnectionsTreeDataProvider,
56-
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeProvider";
57-
import { DBConnectionViewProvider } from "./web-views/DBConnectionViewProvider";
58-
import { WebviewProvider } from "./web-views/WebviewProvider";
56+
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeProvider.js";
57+
import { DBConnectionViewProvider } from "./WebviewProviders/DBConnectionViewProvider.js";
58+
import { WebviewProvider } from "./WebviewProviders/WebviewProvider.js";
5959

6060
/** This class manages some extension wide things like authentication handling etc. */
6161
export class ExtensionHost {

gui/extension/src/MDSCommandHandler.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,30 @@ import {
2828
import { homedir } from "os";
2929
import { existsSync } from "fs";
3030

31-
import { ICompartment, IPortForwardingSessionTargetResourceDetails } from "../../frontend/src/communication";
32-
import { taskOutputChannel } from "./extension";
33-
34-
import { ExtensionHost } from "./ExtensionHost";
35-
import { OciTreeDataProvider } from "./tree-providers/OCITreeProvider";
36-
import { OciBastionTreeItem } from "./tree-providers/OCITreeProvider/OciBastionTreeItem";
37-
import { OciCompartmentTreeItem } from "./tree-providers/OCITreeProvider/OciCompartmentTreeItem";
38-
import { OciComputeInstanceTreeItem } from "./tree-providers/OCITreeProvider/OciComputeInstanceTreeItem";
39-
import { OciDbSystemTreeItem } from "./tree-providers/OCITreeProvider/OciDbSystemTreeItem";
40-
import { OciLoadBalancerTreeItem } from "./tree-providers/OCITreeProvider/OciLoadBalancerTreeItem";
41-
import { OciConfigProfileTreeItem } from "./tree-providers/OCITreeProvider/OciProfileTreeItem";
42-
import { DbSystem } from "../../frontend/src/oci-typings/oci-mysql/lib/model";
43-
44-
import { DialogResponseClosure, IDictionary, MdsDialogType } from "../../frontend/src/app-logic/Types";
45-
import { DialogWebviewManager } from "./web-views/DialogWebviewProvider";
46-
import { SchemaMySQLTreeItem } from "./tree-providers/ConnectionsTreeProvider/SchemaMySQLTreeItem";
47-
import { IMdsProfileData } from "../../frontend/src/communication/ProtocolMds";
48-
import { ShellInterfaceShellSession } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceShellSession";
49-
import { ICdmSchemaEntry } from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel";
50-
import { ShellInterface } from "../../frontend/src/supplement/ShellInterface/ShellInterface";
51-
import { webSession } from "../../frontend/src/supplement/WebSession";
52-
import { requisitions } from "../../frontend/src/supplement/Requisitions";
53-
import { DBType } from "../../frontend/src/supplement/ShellInterface";
54-
import { MySQLConnCompression, MySQLConnectionScheme } from "../../frontend/src/communication/MySQL";
31+
import { ICompartment, IPortForwardingSessionTargetResourceDetails } from "../../frontend/src/communication/index.js";
32+
import { taskOutputChannel } from "./extension.js";
33+
34+
import { ExtensionHost } from "./ExtensionHost.js";
35+
import { OciTreeDataProvider } from "./tree-providers/OCITreeProvider/index.js";
36+
import { OciBastionTreeItem } from "./tree-providers/OCITreeProvider/OciBastionTreeItem.js";
37+
import { OciCompartmentTreeItem } from "./tree-providers/OCITreeProvider/OciCompartmentTreeItem.js";
38+
import { OciComputeInstanceTreeItem } from "./tree-providers/OCITreeProvider/OciComputeInstanceTreeItem.js";
39+
import { OciDbSystemTreeItem } from "./tree-providers/OCITreeProvider/OciDbSystemTreeItem.js";
40+
import { OciLoadBalancerTreeItem } from "./tree-providers/OCITreeProvider/OciLoadBalancerTreeItem.js";
41+
import { OciConfigProfileTreeItem } from "./tree-providers/OCITreeProvider/OciProfileTreeItem.js";
42+
import { DbSystem } from "../../frontend/src/oci-typings/oci-mysql/lib/model/index.js";
43+
44+
import { DialogResponseClosure, IDictionary, MdsDialogType } from "../../frontend/src/app-logic/Types.js";
45+
import { DialogWebviewManager } from "./WebviewProviders/DialogWebviewProvider.js";
46+
import { SchemaMySQLTreeItem } from "./tree-providers/ConnectionsTreeProvider/SchemaMySQLTreeItem.js";
47+
import { IMdsProfileData } from "../../frontend/src/communication/ProtocolMds.js";
48+
import { ShellInterfaceShellSession } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceShellSession.js";
49+
import { ICdmSchemaEntry } from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel.js";
50+
import { ShellInterface } from "../../frontend/src/supplement/ShellInterface/ShellInterface.js";
51+
import { webSession } from "../../frontend/src/supplement/WebSession.js";
52+
import { requisitions } from "../../frontend/src/supplement/Requisitions.js";
53+
import { DBType } from "../../frontend/src/supplement/ShellInterface/index.js";
54+
import { MySQLConnCompression, MySQLConnectionScheme } from "../../frontend/src/communication/MySQL.js";
5555

5656
export class MDSCommandHandler {
5757
private dialogManager = new DialogWebviewManager();

gui/extension/src/MRSCommandHandler.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,23 @@ import {
2929
commands, env, ExtensionContext, ExtensionMode, TerminalExitStatus, Uri, ViewColumn, WebviewPanel, window,
3030
} from "vscode";
3131

32-
import { DBType } from "../../frontend/src/supplement/ShellInterface";
33-
34-
import { IMySQLConnectionOptions, MySQLConnectionScheme } from "../../frontend/src/communication/MySQL";
35-
import { IMrsServiceData } from "../../frontend/src/communication/ProtocolMrs";
36-
import { DBEditorModuleId } from "../../frontend/src/modules/ModuleInfo";
37-
import { ShellInterfaceSqlEditor } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceSqlEditor";
38-
import { findExecutable } from "../../frontend/src/utilities/file-utilities";
39-
import { MySQLShellLauncher } from "../../frontend/src/utilities/MySQLShellLauncher";
40-
import { pathToCamelCase } from "../../frontend/src/utilities/string-helpers";
41-
import { ExtensionHost } from "./ExtensionHost";
32+
import { DBType } from "../../frontend/src/supplement/ShellInterface/index.js";
33+
34+
import { IMySQLConnectionOptions, MySQLConnectionScheme } from "../../frontend/src/communication/MySQL.js";
35+
import { IMrsServiceData } from "../../frontend/src/communication/ProtocolMrs.js";
36+
import { DBEditorModuleId } from "../../frontend/src/modules/ModuleInfo.js";
37+
import { ShellInterfaceSqlEditor } from "../../frontend/src/supplement/ShellInterface/ShellInterfaceSqlEditor.js";
38+
import { findExecutable } from "../../frontend/src/utilities/file-utilities.js";
39+
import { MySQLShellLauncher } from "../../frontend/src/utilities/MySQLShellLauncher.js";
40+
import { pathToCamelCase } from "../../frontend/src/utilities/string-helpers.js";
41+
import { ExtensionHost } from "./ExtensionHost.js";
4242
import {
4343
ICdmConnectionEntry,
4444
ICdmRestAuthAppEntry, ICdmRestContentFileEntry, ICdmRestContentSetEntry, ICdmRestDbObjectEntry, ICdmRestRootEntry,
4545
ICdmRestRouterEntry, ICdmRestSchemaEntry, ICdmRestServiceEntry, ICdmRestUserEntry, ICdmSchemaEntry,
46-
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel";
47-
import { showMessageWithTimeout, showModalDialog } from "./utilities";
48-
import { openSqlEditorConnection, openSqlEditorSessionAndConnection } from "./utilitiesShellGui";
46+
} from "./tree-providers/ConnectionsTreeProvider/ConnectionsTreeDataModel.js";
47+
import { showMessageWithTimeout, showModalDialog } from "./utilities.js";
48+
import { openSqlEditorConnection, openSqlEditorSessionAndConnection } from "./utilitiesShellGui.js";
4949

5050
export class MRSCommandHandler {
5151
#docsWebviewPanel?: WebviewPanel;

0 commit comments

Comments
 (0)