Skip to content

Commit 8c81c2a

Browse files
committed
Merge remote-tracking branch 'origin/dev' into KXI-68287
2 parents 02aad27 + 3291744 commit 8c81c2a

Some content is hidden

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

68 files changed

+1949
-2078
lines changed

.github/workflows/dev.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,25 @@ jobs:
5151
name: lcov
5252
path: coverage-reports/lcov.info
5353
retention-days: 1
54+
test-q:
55+
runs-on: ubuntu-latest
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v4
59+
- name: Login to GitLab
60+
uses: docker/login-action@v3
61+
with:
62+
registry: registry.gitlab.com
63+
username: ${{ secrets.GL_REG_USERNAME }}
64+
password: ${{ secrets.GL_REG_TOKEN }}
65+
- name: Run qCumber
66+
run: ./qcumber.sh -src test/q/main.q -test test/q/tests
67+
env:
68+
KDB_K4LICENSE_B64: ${{ secrets.KDB_K4LICENSE_B64 }}
69+
5470

5571
app-sec:
56-
needs: test
72+
needs: [test, test-q]
5773
if: "! github.event.pull_request.head.repo.fork "
5874
uses: ./.github/workflows/app-sec-template.yml
5975
with:

.github/workflows/main.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,24 @@ jobs:
5151
name: lcov
5252
path: coverage-reports/lcov.info
5353
retention-days: 1
54+
test-q:
55+
runs-on: ubuntu-latest
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v4
59+
- name: Login to GitLab
60+
uses: docker/login-action@v3
61+
with:
62+
registry: registry.gitlab.com
63+
username: ${{ secrets.GL_REG_USERNAME }}
64+
password: ${{ secrets.GL_REG_TOKEN }}
65+
- name: Run qCumber
66+
run: ./qcumber.sh -src test/q/main.q -test test/q/tests
67+
env:
68+
KDB_K4LICENSE_B64: ${{ secrets.KDB_K4LICENSE_B64 }}
5469

5570
app-sec:
56-
needs: test
71+
needs: [test, test-q]
5772
if: "! github.event.pull_request.head.repo.fork "
5873
uses: ./.github/workflows/app-sec-template.yml
5974
with:

.vscode/extensions.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"dbaeumer.vscode-eslint",
44
"esbenp.prettier-vscode",
55
"runem.lit-plugin",
6-
"connor4312.esbuild-problem-matchers",
76
"ecmel.vscode-launcher"
87
]
98
}

.vscode/tasks.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,24 @@
55
"type": "npm",
66
"script": "watch",
77
"group": "build",
8-
"problemMatcher": "$esbuild-watch",
98
"isBackground": true,
10-
"label": "npm: watch"
9+
"label": "npm: watch",
10+
"problemMatcher": {
11+
"base": "$eslint-stylish",
12+
"background": {
13+
"beginsPattern": {
14+
"regexp": "^esbuild:started$"
15+
},
16+
"endsPattern": {
17+
"regexp": "^esbuild:watching$"
18+
}
19+
}
20+
}
1121
},
1222
{
1323
"type": "npm",
1424
"script": "build",
1525
"group": "build",
16-
"problemMatcher": "$esbuild",
1726
"label": "npm: build"
1827
}
1928
]

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,32 @@
22

33
All notable changes to the **kdb VS Code extension** are documented in this file.
44

5+
# v1.17.0
6+
7+
### Enhancements
8+
9+
- Added quick connections
10+
- Run on REPL by default
11+
- SQL Workbook
12+
- Connect and auto execute query functionality
13+
- Use own grid instead of ag-grid-community for kdb Results View
14+
- Add support for KDB-X modules in language server
15+
- Moved documentation to its own site
16+
17+
### Fixes
18+
19+
- kdb output channel should support log levels
20+
- CSV export does not work properly for cells that contain lists or strings
21+
- Auto resizing of grid columns
22+
- Specific python query executions not working
23+
24+
### Internal Improvements
25+
26+
- Updated telemetry data sent
27+
- Use structured text for datasources
28+
- Integrate KDB-X KX_TTY feature in REPL
29+
- Update query wrappers and added q CI testing
30+
531
# v1.16.1
632

733
### Fixes

esbuild.js

Lines changed: 0 additions & 73 deletions
This file was deleted.

esbuild.mjs

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import { context, build } from "esbuild";
2+
import { copyFileSync, mkdirSync } from "fs";
3+
import { sync } from "glob";
4+
import { join, basename } from "path";
5+
6+
function copyFiles(srcPattern, destDir) {
7+
sync(srcPattern).forEach((file) => {
8+
const destFile = join(destDir, basename(file));
9+
copyFileSync(file, destFile);
10+
});
11+
}
12+
13+
const minify = process.argv.includes("--minify");
14+
const sourcemap = process.argv.includes("--sourcemap");
15+
const keepNames = process.argv.includes("--keep-names");
16+
const watch = process.argv.includes("--watch");
17+
18+
const baseConfig = {
19+
minify,
20+
sourcemap,
21+
keepNames,
22+
bundle: true,
23+
};
24+
25+
const extensionConfig = {
26+
...baseConfig,
27+
outfile: "./out/extension.js",
28+
entryPoints: ["./src/extension.ts"],
29+
external: ["vscode"],
30+
format: "cjs",
31+
platform: "node",
32+
};
33+
34+
const serverConfig = {
35+
...baseConfig,
36+
outfile: "./out/server.js",
37+
entryPoints: ["./server/src/server.ts"],
38+
format: "cjs",
39+
external: ["vscode"],
40+
platform: "node",
41+
};
42+
43+
const webviewConfig = {
44+
...baseConfig,
45+
target: "es2020",
46+
format: "esm",
47+
entryPoints: ["./src/webview/main.ts"],
48+
external: ["vscode"],
49+
outfile: "./out/webview.js",
50+
};
51+
52+
(async () => {
53+
try {
54+
mkdirSync("./out", { recursive: true });
55+
copyFiles("src/webview/styles/*.css", "./out");
56+
57+
if (watch) {
58+
console.log("esbuild:started");
59+
const contexts = await Promise.all([
60+
context(serverConfig),
61+
context(webviewConfig),
62+
context(extensionConfig),
63+
]);
64+
await Promise.all(contexts.map((ctx) => ctx.rebuild())).finally(() =>
65+
Promise.all(contexts.map((ctx) => ctx.watch({ delay: 500 })))
66+
.then(() => console.log("esbuild:watching"))
67+
.catch((err) => {
68+
console.error(err);
69+
process.exit(1);
70+
}),
71+
);
72+
} else {
73+
await build(serverConfig);
74+
await build(webviewConfig);
75+
await build(extensionConfig);
76+
}
77+
} catch (err) {
78+
console.error(err);
79+
}
80+
})();

eslint.config.mjs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,3 @@
1-
/*
2-
* Copyright (c) 1998-2025 KX Systems Inc.
3-
*
4-
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
5-
* License. You may obtain a copy of the License at
6-
*
7-
* http://www.apache.org/licenses/LICENSE-2.0
8-
*
9-
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
10-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
11-
* specific language governing permissions and limitations under the License.
12-
*/
13-
141
import js from "@eslint/js";
152
import headerPlugin from "eslint-plugin-header";
163
import importPlugin from "eslint-plugin-import";
@@ -22,7 +9,7 @@ const currentYear = new Date().getFullYear();
229

2310
export default [
2411
{
25-
ignores: ["**/*.d.ts", "**/*.js", "src/ipc/**"],
12+
ignores: ["**/*.d.ts", "**/*.js", "**/*.mjs", "src/ipc/**", "test/fixtures/**"],
2613
},
2714
js.configs.recommended,
2815
...tseslint.configs.recommended,

0 commit comments

Comments
 (0)