Skip to content

Commit 7602d8e

Browse files
author
Dave Bartolomeo
committed
Merge remote-tracking branch 'origin/main' into dbartol/debug-adapter
2 parents 103e397 + ffa643c commit 7602d8e

Some content is hidden

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

44 files changed

+7799
-1318
lines changed

extensions/ql-vscode/package-lock.json

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

extensions/ql-vscode/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,6 +1581,7 @@
15811581
"fs-extra": "^11.1.1",
15821582
"immutable": "^4.0.0",
15831583
"js-yaml": "^4.1.0",
1584+
"minimatch": "^9.0.0",
15841585
"minimist": "~1.2.6",
15851586
"msw": "^1.2.0",
15861587
"nanoid": "^3.2.0",
@@ -1617,7 +1618,7 @@
16171618
"@storybook/addon-essentials": "^6.5.17-alpha.0",
16181619
"@storybook/addon-interactions": "^6.5.17-alpha.0",
16191620
"@storybook/addon-links": "^6.5.17-alpha.0",
1620-
"@storybook/builder-webpack5": "^6.5.17-alpha.0",
1621+
"@storybook/builder-webpack5": "^7.0.4",
16211622
"@storybook/manager-webpack5": "^6.5.17-alpha.0",
16221623
"@storybook/react": "^6.5.17-alpha.0",
16231624
"@storybook/testing-library": "^0.0.13",
@@ -1651,7 +1652,7 @@
16511652
"@types/through2": "^2.0.36",
16521653
"@types/tmp": "^0.1.0",
16531654
"@types/unzipper": "~0.10.1",
1654-
"@types/vscode": "^1.59.0",
1655+
"@types/vscode": "^1.67.0",
16551656
"@types/webpack": "^5.28.0",
16561657
"@types/webpack-env": "^1.18.0",
16571658
"@types/xml2js": "~0.4.4",
@@ -1675,7 +1676,7 @@
16751676
"eslint-plugin-react-hooks": "^4.6.0",
16761677
"eslint-plugin-storybook": "^0.6.4",
16771678
"file-loader": "^6.2.0",
1678-
"glob": "^9.3.2",
1679+
"glob": "^10.0.0",
16791680
"gulp": "^4.0.2",
16801681
"gulp-esbuild": "^0.10.5",
16811682
"gulp-replace": "^1.1.3",

extensions/ql-vscode/src/data-extensions-editor/data-extensions-editor-module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export class DataExtensionsEditorModule {
5353
return {
5454
"codeQL.openDataExtensionsEditor": async () =>
5555
withProgress(
56-
async (progress) => {
56+
async (progress, token) => {
5757
const db = this.databaseManager.currentDatabaseItem;
5858
if (!db) {
5959
void showAndLogErrorMessage("No database selected");
@@ -69,7 +69,9 @@ export class DataExtensionsEditorModule {
6969

7070
const modelFile = await pickExtensionPackModelFile(
7171
this.cliServer,
72+
db,
7273
progress,
74+
token,
7375
);
7476
if (!modelFile) {
7577
return;

extensions/ql-vscode/src/data-extensions-editor/data-extensions-editor-view.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import {
1414
import { ProgressUpdate } from "../progress";
1515
import { QueryRunner } from "../queryRunner";
1616
import {
17+
showAndLogErrorMessage,
1718
showAndLogExceptionWithTelemetry,
18-
showAndLogWarningMessage,
1919
} from "../helpers";
2020
import { extLogger } from "../common";
21-
import { readFile, writeFile } from "fs-extra";
21+
import { outputFile, readFile } from "fs-extra";
2222
import { load as loadYaml } from "js-yaml";
2323
import { DatabaseItem, DatabaseManager } from "../local-databases";
2424
import { CodeQLCliServer } from "../cli";
@@ -150,7 +150,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
150150
): Promise<void> {
151151
const yaml = createDataExtensionYaml(externalApiUsages, modeledMethods);
152152

153-
await writeFile(this.modelFilename, yaml);
153+
await outputFile(this.modelFilename, yaml);
154154

155155
void extLogger.log(`Saved data extension YAML to ${this.modelFilename}`);
156156
}
@@ -166,7 +166,9 @@ export class DataExtensionsEditorView extends AbstractWebview<
166166
const existingModeledMethods = loadDataExtensionYaml(data);
167167

168168
if (!existingModeledMethods) {
169-
void showAndLogWarningMessage("Failed to parse data extension YAML.");
169+
void showAndLogErrorMessage(
170+
`Failed to parse data extension YAML ${this.modelFilename}.`,
171+
);
170172
return;
171173
}
172174

@@ -175,7 +177,11 @@ export class DataExtensionsEditorView extends AbstractWebview<
175177
modeledMethods: existingModeledMethods,
176178
});
177179
} catch (e: unknown) {
178-
void extLogger.log(`Unable to read data extension YAML: ${e}`);
180+
void showAndLogErrorMessage(
181+
`Unable to read data extension YAML ${
182+
this.modelFilename
183+
}: ${getErrorMessage(e)}`,
184+
);
179185
}
180186
}
181187

@@ -188,7 +194,6 @@ export class DataExtensionsEditorView extends AbstractWebview<
188194
queryRunner: this.queryRunner,
189195
databaseItem: this.databaseItem,
190196
queryStorageDir: this.queryStorageDir,
191-
logger: extLogger,
192197
progress: (progressUpdate: ProgressUpdate) => {
193198
void this.showProgress(progressUpdate, 1500);
194199
},
@@ -208,7 +213,6 @@ export class DataExtensionsEditorView extends AbstractWebview<
208213
const bqrsChunk = await readQueryResults({
209214
cliServer: this.cliServer,
210215
bqrsPath: queryResult.outputDir.bqrsPath,
211-
logger: extLogger,
212216
});
213217
if (!bqrsChunk) {
214218
await this.clearProgress();
@@ -233,7 +237,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
233237
void showAndLogExceptionWithTelemetry(
234238
redactableError(
235239
asError(err),
236-
)`Failed to load external APi usages: ${getErrorMessage(err)}`,
240+
)`Failed to load external API usages: ${getErrorMessage(err)}`,
237241
);
238242
}
239243
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"type": "object",
3+
"properties": {
4+
"extensions": {
5+
"type": "array",
6+
"items": {
7+
"type": "object",
8+
"required": ["addsTo", "data"],
9+
"properties": {
10+
"addsTo": {
11+
"type": "object",
12+
"required": ["pack", "extensible"],
13+
"properties": {
14+
"pack": {
15+
"type": "string"
16+
},
17+
"extensible": {
18+
"type": "string"
19+
}
20+
}
21+
},
22+
"data": {
23+
"type": "array",
24+
"items": {
25+
"type": "array",
26+
"items": {
27+
"oneOf": [
28+
{
29+
"type": "string"
30+
},
31+
{
32+
"type": "boolean"
33+
},
34+
{
35+
"type": "number"
36+
}
37+
]
38+
}
39+
}
40+
}
41+
}
42+
}
43+
}
44+
}
45+
}

0 commit comments

Comments
 (0)