Skip to content

Commit 6dbbd22

Browse files
Merge pull request #2497 from github/robertbrignull/cleanup_workspace_folders
Remove workspaceFolders from app because it turned out not to be useful
2 parents d71f210 + eb93803 commit 6dbbd22

File tree

6 files changed

+24
-48
lines changed

6 files changed

+24
-48
lines changed

extensions/ql-vscode/src/common/app.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@ import { AppEventEmitter } from "./events";
44
import { Logger } from "./logging";
55
import { Memento } from "./memento";
66
import { AppCommandManager } from "./commands";
7-
import type {
8-
WorkspaceFolder,
9-
Event,
10-
WorkspaceFoldersChangeEvent,
11-
} from "vscode";
127

138
export interface App {
149
createEventEmitter<T>(): AppEventEmitter<T>;
@@ -19,8 +14,6 @@ export interface App {
1914
readonly globalStoragePath: string;
2015
readonly workspaceStoragePath?: string;
2116
readonly workspaceState: Memento;
22-
readonly workspaceFolders: readonly WorkspaceFolder[] | undefined;
23-
readonly onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>;
2417
readonly credentials: Credentials;
2518
readonly commands: AppCommandManager;
2619
readonly environment: EnvironmentContext;

extensions/ql-vscode/src/common/vscode/vscode-app.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,6 @@ export class ExtensionApp implements App {
4040
return this.extensionContext.workspaceState;
4141
}
4242

43-
public get workspaceFolders(): readonly vscode.WorkspaceFolder[] | undefined {
44-
return vscode.workspace.workspaceFolders;
45-
}
46-
47-
public get onDidChangeWorkspaceFolders(): vscode.Event<vscode.WorkspaceFoldersChangeEvent> {
48-
return vscode.workspace.onDidChangeWorkspaceFolders;
49-
}
50-
5143
public get subscriptions(): Disposable[] {
5244
return this.extensionContext.subscriptions;
5345
}

extensions/ql-vscode/src/queries-panel/queries-module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class QueriesModule extends DisposableObject {
1919
}
2020
void extLogger.log("Initializing queries panel.");
2121

22-
const queryDiscovery = new QueryDiscovery(app, cliServer);
22+
const queryDiscovery = new QueryDiscovery(app.environment, cliServer);
2323
this.push(queryDiscovery);
2424
void queryDiscovery.refresh();
2525

extensions/ql-vscode/src/queries-panel/query-discovery.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
import { dirname, basename, normalize, relative } from "path";
22
import { Discovery } from "../common/discovery";
33
import { CodeQLCliServer } from "../codeql-cli/cli";
4-
import { Event, RelativePattern, Uri, WorkspaceFolder } from "vscode";
4+
import {
5+
Event,
6+
EventEmitter,
7+
RelativePattern,
8+
Uri,
9+
WorkspaceFolder,
10+
workspace,
11+
} from "vscode";
512
import { MultiFileSystemWatcher } from "../common/vscode/multi-file-system-watcher";
6-
import { App } from "../common/app";
13+
import { EnvironmentContext } from "../common/app";
714
import { FileTreeDirectory, FileTreeLeaf } from "../common/file-tree-nodes";
815
import { getOnDiskWorkspaceFoldersObjects } from "../helpers";
916
import { AppEventEmitter } from "../common/events";
@@ -42,13 +49,13 @@ export class QueryDiscovery
4249
);
4350

4451
constructor(
45-
private readonly app: App,
52+
private readonly env: EnvironmentContext,
4653
private readonly cliServer: CodeQLCliServer,
4754
) {
4855
super("Query Discovery", extLogger);
4956

50-
this.onDidChangeQueriesEmitter = this.push(app.createEventEmitter<void>());
51-
this.push(app.onDidChangeWorkspaceFolders(this.refresh.bind(this)));
57+
this.onDidChangeQueriesEmitter = this.push(new EventEmitter<void>());
58+
this.push(workspace.onDidChangeWorkspaceFolders(this.refresh.bind(this)));
5259
this.push(this.watcher.onDidChange(this.refresh.bind(this)));
5360
}
5461

@@ -130,7 +137,7 @@ export class QueryDiscovery
130137
const rootDirectory = new FileTreeDirectory<string>(
131138
fullPath,
132139
name,
133-
this.app.environment,
140+
this.env,
134141
);
135142
for (const queryPath of resolvedQueries) {
136143
const relativePath = normalize(relative(fullPath, queryPath));

extensions/ql-vscode/test/__mocks__/appMock.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,13 @@ import { testCredentialsWithStub } from "../factories/authentication";
88
import { Credentials } from "../../src/common/authentication";
99
import { AppCommandManager } from "../../src/common/commands";
1010
import { createMockCommandManager } from "./commandsMock";
11-
import type {
12-
Event,
13-
WorkspaceFolder,
14-
WorkspaceFoldersChangeEvent,
15-
} from "vscode";
1611

1712
export function createMockApp({
1813
extensionPath = "/mock/extension/path",
1914
workspaceStoragePath = "/mock/workspace/storage/path",
2015
globalStoragePath = "/mock/global/storage/path",
2116
createEventEmitter = <T>() => new MockAppEventEmitter<T>(),
2217
workspaceState = createMockMemento(),
23-
workspaceFolders = [],
24-
onDidChangeWorkspaceFolders = jest.fn(),
2518
credentials = testCredentialsWithStub(),
2619
commands = createMockCommandManager(),
2720
environment = createMockEnvironmentContext(),
@@ -31,8 +24,6 @@ export function createMockApp({
3124
globalStoragePath?: string;
3225
createEventEmitter?: <T>() => AppEventEmitter<T>;
3326
workspaceState?: Memento;
34-
workspaceFolders?: readonly WorkspaceFolder[] | undefined;
35-
onDidChangeWorkspaceFolders?: Event<WorkspaceFoldersChangeEvent>;
3627
credentials?: Credentials;
3728
commands?: AppCommandManager;
3829
environment?: EnvironmentContext;
@@ -45,8 +36,6 @@ export function createMockApp({
4536
workspaceStoragePath,
4637
globalStoragePath,
4738
workspaceState,
48-
workspaceFolders,
49-
onDidChangeWorkspaceFolders,
5039
createEventEmitter,
5140
credentials,
5241
commands,

extensions/ql-vscode/test/vscode-tests/minimal-workspace/queries-panel/query-discovery.test.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from "vscode";
88
import { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
99
import { QueryDiscovery } from "../../../../src/queries-panel/query-discovery";
10-
import { createMockApp } from "../../../__mocks__/appMock";
10+
import { createMockEnvironmentContext } from "../../../__mocks__/appMock";
1111
import { mockedObject } from "../../utils/mocking.helpers";
1212
import { basename, join, sep } from "path";
1313

@@ -23,7 +23,7 @@ describe("QueryDiscovery", () => {
2323
resolveQueries,
2424
});
2525

26-
const discovery = new QueryDiscovery(createMockApp({}), cli);
26+
const discovery = new QueryDiscovery(createMockEnvironmentContext(), cli);
2727
await discovery.refresh();
2828
const queries = discovery.queries;
2929

@@ -43,7 +43,7 @@ describe("QueryDiscovery", () => {
4343
]),
4444
});
4545

46-
const discovery = new QueryDiscovery(createMockApp({}), cli);
46+
const discovery = new QueryDiscovery(createMockEnvironmentContext(), cli);
4747
await discovery.refresh();
4848
const queries = discovery.queries;
4949
expect(queries).toBeDefined();
@@ -69,7 +69,7 @@ describe("QueryDiscovery", () => {
6969
]),
7070
});
7171

72-
const discovery = new QueryDiscovery(createMockApp({}), cli);
72+
const discovery = new QueryDiscovery(createMockEnvironmentContext(), cli);
7373
await discovery.refresh();
7474
const queries = discovery.queries;
7575
expect(queries).toBeDefined();
@@ -114,7 +114,7 @@ describe("QueryDiscovery", () => {
114114
resolveQueries,
115115
});
116116

117-
const discovery = new QueryDiscovery(createMockApp({}), cli);
117+
const discovery = new QueryDiscovery(createMockEnvironmentContext(), cli);
118118
await discovery.refresh();
119119
const queries = discovery.queries;
120120
expect(queries).toBeDefined();
@@ -153,12 +153,7 @@ describe("QueryDiscovery", () => {
153153
.mockResolvedValue([join(workspaceRoot, "query1.ql")]),
154154
});
155155

156-
const discovery = new QueryDiscovery(
157-
createMockApp({
158-
createEventEmitter: () => new EventEmitter(),
159-
}),
160-
cli,
161-
);
156+
const discovery = new QueryDiscovery(createMockEnvironmentContext(), cli);
162157

163158
const onDidChangeQueriesSpy = jest.fn();
164159
discovery.onDidChangeQueries(onDidChangeQueriesSpy);
@@ -180,12 +175,12 @@ describe("QueryDiscovery", () => {
180175
it("should refresh when workspace folders change", async () => {
181176
const onDidChangeWorkspaceFoldersEvent =
182177
new EventEmitter<WorkspaceFoldersChangeEvent>();
178+
jest
179+
.spyOn(workspace, "onDidChangeWorkspaceFolders")
180+
.mockImplementation(onDidChangeWorkspaceFoldersEvent.event);
183181

184182
const discovery = new QueryDiscovery(
185-
createMockApp({
186-
createEventEmitter: () => new EventEmitter(),
187-
onDidChangeWorkspaceFolders: onDidChangeWorkspaceFoldersEvent.event,
188-
}),
183+
createMockEnvironmentContext(),
189184
mockedObject<CodeQLCliServer>({
190185
resolveQueries: jest.fn().mockResolvedValue([]),
191186
}),

0 commit comments

Comments
 (0)