Skip to content

Commit 1e0cd6a

Browse files
Merge pull request #610 from KxSystems/KXI-64537
KXI-64537 solve dependencies issues
2 parents 78718dc + 342a953 commit 1e0cd6a

File tree

10 files changed

+1062
-1486
lines changed

10 files changed

+1062
-1486
lines changed

package-lock.json

Lines changed: 733 additions & 1179 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,11 +1125,11 @@
11251125
"eslint-plugin-import": "^2.32.0",
11261126
"eslint-plugin-license-header": "^0.8.0",
11271127
"eslint-plugin-unused-imports": "^4.1.4",
1128-
"glob": "^8.1.0",
1128+
"glob": "^11.0.3",
11291129
"istanbul-lib-coverage": "^3.2.2",
1130-
"istanbul-lib-instrument": "^3.3.0",
1131-
"istanbul-lib-report": "^2.0.8",
1132-
"istanbul-lib-source-maps": "^3.0.6",
1130+
"istanbul-lib-instrument": "^6.0.1",
1131+
"istanbul-lib-report": "^3.0.1",
1132+
"istanbul-lib-source-maps": "^5.0.6",
11331133
"istanbul-reports": "^3.1.7",
11341134
"jsdom": "^26.1.0",
11351135
"lit": "^3.3.0",
@@ -1142,17 +1142,15 @@
11421142
"sinon": "^21.0.0",
11431143
"typescript": "^5.8.3",
11441144
"typescript-eslint": "^8.34.1",
1145-
"vscode-dts": "^0.3.3",
11461145
"vscode-extension-tester": "^8.15.0",
11471146
"vscode-languageclient": "^9.0.1",
11481147
"vscode-languageserver": "^9.0.1",
1149-
"vscode-languageserver-textdocument": "^1.0.12",
1150-
"vscode-test": "^1.6.1"
1148+
"vscode-languageserver-textdocument": "^1.0.12"
11511149
},
11521150
"dependencies": {
11531151
"@ag-grid-community/core": "^32.3.5",
1152+
"@vscode/dts": "^0.4.1",
11541153
"@vscode/extension-telemetry": "^1.0.0",
1155-
"@vscode/webview-ui-toolkit": "^1.4.0",
11561154
"@windozer/node-q": "^2.6.0",
11571155
"ag-grid-community": "^33.3.2",
11581156
"axios": "^1.10.0",
@@ -1167,7 +1165,7 @@
11671165
"node-q": "^2.7.0",
11681166
"pick-port": "^2.0.1",
11691167
"semver": "^7.7.2",
1170-
"vscode-languageserver-textdocument": "^1.0.11",
1168+
"vscode-languageserver-textdocument": "^1.0.12",
11711169
"vscode-uri": "^3.1.0"
11721170
}
11731171
}

server/src/qLangServer.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* specific language governing permissions and limitations under the License.
1212
*/
1313

14-
import { sync as glob } from "glob";
14+
import { globSync } from "glob";
1515
import { readFileSync } from "node:fs";
1616
import { fileURLToPath, pathToFileURL } from "node:url";
1717
import {
@@ -80,7 +80,6 @@ import {
8080
lamdaDefinition,
8181
} from "./parser";
8282

83-
8483
interface Settings {
8584
debug: boolean;
8685
linting: boolean;
@@ -499,7 +498,7 @@ export default class QLangServer {
499498
try {
500499
for (const folder of folders) {
501500
this.parseFiles(
502-
glob("**/*.{q,quke}", {
501+
globSync("**/*.{q,quke}", {
503502
dot: true,
504503
absolute: true,
505504
nodir: true,

src/webview/components/kdbNewConnectionView.ts

Lines changed: 45 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -339,16 +339,16 @@ export class KdbNewConnectionView extends LitElement {
339339
renderInsecureSSL() {
340340
return html`
341341
<div class="row mt-1">
342-
<vscode-checkbox
343-
.checked="${this.insightsServer.insecure}"
344-
@change="${(event: Event) => {
342+
<sl-checkbox
343+
.checked="${this.insightsServer.insecure ?? false}"
344+
@sl-change="${(event: Event) => {
345345
/* istanbul ignore next */
346346
this.insightsServer.insecure = (
347347
event.target as HTMLInputElement
348348
).checked;
349-
}}"
350-
>Accept insecure SSL certifcates</vscode-checkbox
351-
>
349+
}}">
350+
Accept insecure SSL certifcates
351+
</sl-checkbox>
352352
</div>
353353
`;
354354
}
@@ -564,27 +564,25 @@ export class KdbNewConnectionView extends LitElement {
564564
<div class="row">
565565
<div class="col gap-0">
566566
<div class="row">
567-
<vscode-text-field
567+
<sl-input
568568
class="text-field larger option-title"
569-
value="${this.kdbServer.username ? this.kdbServer.username : ""}"
570-
@input="${(event: Event) =>
569+
label="Username"
570+
.value="${this.kdbServer.username || ""}"
571+
@sl-input="${(event: Event) =>
571572
(this.kdbServer.username = (
572-
event.target as HTMLSelectElement
573-
).value)}"
574-
>Username</vscode-text-field
575-
>
573+
event.target as HTMLInputElement
574+
).value)}"></sl-input>
576575
</div>
577576
<div class="row">
578-
<vscode-text-field
577+
<sl-input
579578
type="password"
580579
class="text-field larger option-title"
581-
value="${this.kdbServer.password ? this.kdbServer.password : ""}"
582-
@input="${(event: Event) =>
580+
label="Password"
581+
.value="${this.kdbServer.password || ""}"
582+
@sl-input="${(event: Event) =>
583583
(this.kdbServer.password = (
584-
event.target as HTMLSelectElement
585-
).value)}"
586-
>Password</vscode-text-field
587-
>
584+
event.target as HTMLInputElement
585+
).value)}"></sl-input>
588586
</div>
589587
<div class="row option-description option-help">
590588
Add required authentication to get access to the server connection
@@ -596,11 +594,11 @@ export class KdbNewConnectionView extends LitElement {
596594
<div class="col gap-0">
597595
<div class="row option-title">Optional: Enable TLS Encryption</div>
598596
<div class="row">
599-
<vscode-checkbox
600-
value="${this.kdbServer.tls}"
601-
@click="${() => this.changeTLS()}"
602-
>Enable TLS Encryption on the kdb connection</vscode-checkbox
603-
>
597+
<sl-checkbox
598+
.checked="${this.kdbServer.tls}"
599+
@sl-change="${() => this.changeTLS()}">
600+
Enable TLS Encryption on the kdb connection
601+
</sl-checkbox>
604602
</div>
605603
</div>
606604
</div>
@@ -878,11 +876,11 @@ export class KdbNewConnectionView extends LitElement {
878876
<div class="col gap-0">
879877
<div class="row option-title">Optional: Edit Auth options</div>
880878
<div class="row">
881-
<vscode-checkbox
882-
value="${this.editAuth}"
883-
@click="${() => this.editAuthOfConn()}"
884-
>Edit existing auth on the kdb connection</vscode-checkbox
885-
>
879+
<sl-checkbox
880+
.checked="${this.editAuth}"
881+
@sl-change="${() => this.editAuthOfConn()}">
882+
Edit existing auth on the kdb connection
883+
</sl-checkbox>
886884
</div>
887885
</div>
888886
</div>
@@ -891,31 +889,25 @@ export class KdbNewConnectionView extends LitElement {
891889
<div class="row">
892890
<div class="col gap-0">
893891
<div class="row">
894-
<vscode-text-field
892+
<sl-input
895893
class="text-field larger option-title"
896-
value="${this.kdbServer.username
897-
? this.kdbServer.username
898-
: ""}"
899-
@input="${(event: Event) =>
894+
label="Username"
895+
.value="${this.kdbServer.username || ""}"
896+
@sl-input="${(event: Event) =>
900897
(this.kdbServer.username = (
901-
event.target as HTMLSelectElement
902-
).value)}"
903-
>Username</vscode-text-field
904-
>
898+
event.target as HTMLInputElement
899+
).value)}"></sl-input>
905900
</div>
906901
<div class="row">
907-
<vscode-text-field
902+
<sl-input
908903
type="password"
909904
class="text-field larger option-title"
910-
value="${this.kdbServer.password
911-
? this.kdbServer.password
912-
: ""}"
913-
@input="${(event: Event) =>
905+
label="Password"
906+
.value="${this.kdbServer.password || ""}"
907+
@sl-input="${(event: Event) =>
914908
(this.kdbServer.password = (
915-
event.target as HTMLSelectElement
916-
).value)}"
917-
>Password</vscode-text-field
918-
>
909+
event.target as HTMLInputElement
910+
).value)}"></sl-input>
919911
</div>
920912
<div class="row option-description option-help">
921913
Add required authentication to get access to the server
@@ -929,11 +921,11 @@ export class KdbNewConnectionView extends LitElement {
929921
<div class="col gap-0">
930922
<div class="row option-title">Optional: Enable TLS Encryption</div>
931923
<div class="row">
932-
<vscode-checkbox
933-
value="${this.kdbServer.tls}"
934-
@click="${() => this.changeTLS()}"
935-
>Enable TLS Encryption on the kdb connection</vscode-checkbox
936-
>
924+
<sl-checkbox
925+
.checked="${this.kdbServer.tls}"
926+
@sl-change="${() => this.changeTLS()}">
927+
Enable TLS Encryption on the kdb connection
928+
</sl-checkbox>
937929
</div>
938930
</div>
939931
</div>

src/webview/main.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,6 @@ import "@shoelace-style/shoelace/dist/components/menu/menu.js";
3232
import "@shoelace-style/shoelace/dist/components/menu-item/menu-item.js";
3333
import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
3434

35-
import {
36-
allComponents,
37-
provideVSCodeDesignSystem,
38-
} from "@vscode/webview-ui-toolkit";
3935
import "./components/kdbDataSourceView";
4036
import "./components/kdbNewConnectionView";
4137
import "./components/kdbChartView";
42-
43-
provideVSCodeDesignSystem().register(allComponents);

test/coverage.ts

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313

1414
import * as fs from "fs";
1515
import { createCoverageMap } from "istanbul-lib-coverage";
16+
import { createInstrumenter } from "istanbul-lib-instrument";
17+
import { createContext } from "istanbul-lib-report";
1618
import { create } from "istanbul-reports";
1719
import * as path from "path";
1820

1921
const REPO_ROOT = path.join(__dirname, "../..");
2022

2123
export function instrument() {
22-
// eslint-disable-next-line @typescript-eslint/no-require-imports
23-
const iLibInstrument = require("istanbul-lib-instrument");
24-
25-
const instrumenter = iLibInstrument.createInstrumenter();
24+
const instrumenter = createInstrumenter();
2625
const files = rreaddir(path.resolve(REPO_ROOT, "out"));
26+
2727
for (let i = 0; i < files.length; i++) {
2828
const file = files[i];
2929
if (/\.js\.map$/.test(file)) {
@@ -38,11 +38,12 @@ export function instrument() {
3838
continue;
3939
}
4040

41-
let map = null;
41+
let map = undefined;
4242
try {
43-
map = JSON.parse(fs.readFileSync(`${inputPath}.map`).toString());
43+
const mapContent = fs.readFileSync(`${inputPath}.map`).toString();
44+
map = JSON.parse(mapContent);
4445
} catch {
45-
// missing source map
46+
// missing source map - map remains undefined
4647
}
4748

4849
const instrumentedCode = instrumenter.instrumentSync(
@@ -55,20 +56,19 @@ export function instrument() {
5556
}
5657

5758
export function createReport(): void {
58-
// eslint-disable-next-line @typescript-eslint/no-require-imports
59-
const iLibSourceMaps = require("istanbul-lib-source-maps");
60-
// eslint-disable-next-line @typescript-eslint/no-require-imports
61-
const iLibReport = require("istanbul-lib-report");
62-
6359
const global = new Function("return this")();
6460

65-
const mapStore = iLibSourceMaps.createSourceMapStore();
61+
if (!global.__coverage__ || Object.keys(global.__coverage__).length === 0) {
62+
console.warn("No coverage data available to generate report");
63+
return;
64+
}
65+
6666
const coverageMap = createCoverageMap(global.__coverage__);
67-
const transformed = mapStore.transformCoverage(coverageMap);
6867

69-
const tree = iLibReport.summarizers.flat(transformed.map);
70-
const context = iLibReport.createContext({
68+
// Use the simpler approach that we know works
69+
const context = createContext({
7170
dir: path.join(REPO_ROOT, `coverage-reports`),
71+
coverageMap: coverageMap,
7272
});
7373

7474
const reports = [
@@ -78,7 +78,17 @@ export function createReport(): void {
7878
create("html"),
7979
create("text"),
8080
];
81-
reports.forEach((report) => tree.visit(report, context));
81+
82+
reports.forEach((report) => {
83+
try {
84+
report.execute(context);
85+
} catch (err) {
86+
console.error(
87+
`Failed to generate ${report.constructor.name} report:`,
88+
err,
89+
);
90+
}
91+
});
8292
}
8393

8494
function copyFile(inputPath: string, outputPath: string): void {

0 commit comments

Comments
 (0)