Skip to content

Commit 7bc8843

Browse files
authored
Merge branch 'master' into master
2 parents 6c7afbc + 0803101 commit 7bc8843

22 files changed

+223
-93
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ jobs:
2626
include:
2727
- { os: ubuntu-20.04, target: linux, platform: linux-x64 }
2828
- { os: ubuntu-20.04, target: linux, platform: linux-arm64 }
29-
- { os: macos-11, target: darwin, platform: darwin-x64 }
30-
- { os: macos-11, target: darwin, platform: darwin-arm64 }
29+
- { os: macos-latest, target: darwin, platform: darwin-x64 }
30+
- { os: macos-latest, target: darwin, platform: darwin-arm64 }
3131
#- { os: windows-latest, target: windows, platform: win32-ia32 } # 不再支持32位
3232
- { os: windows-latest, target: windows, platform: win32-x64 }
3333
runs-on: ${{ matrix.os }}

client/package-lock.json

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

client/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"url": "https://github.com/Microsoft/vscode-extension-samples"
1515
},
1616
"engines": {
17-
"vscode": "^1.70.0"
17+
"vscode": "^1.85.0"
1818
},
1919
"dependencies": {
2020
"axios": "^1.2.1",
@@ -25,8 +25,8 @@
2525
"winston": "^3.8.2"
2626
},
2727
"devDependencies": {
28-
"@types/node": "^17.0.35",
29-
"@types/vscode": "^1.70.0",
30-
"typescript": "^5.4.5"
28+
"@types/node": "^18.19.18",
29+
"@types/vscode": "1.85.0",
30+
"typescript": "^5.5.0"
3131
}
3232
}

client/src/addon_manager/commands/disable.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ export default async (context: vscode.ExtensionContext, message: Message) => {
1515
const addon = addonManager.addons.get(message.data.name);
1616
const workspaceFolders = vscode.workspace.workspaceFolders;
1717

18+
if (!addon || !workspaceFolders) {
19+
return;
20+
}
21+
1822
let selectedFolders: vscode.WorkspaceFolder[];
1923

2024
if (workspaceFolders && workspaceFolders.length === 1) {
@@ -35,7 +39,7 @@ export default async (context: vscode.ExtensionContext, message: Message) => {
3539
return workspaceFolders.find(
3640
(folder) => folder.name === selection.label
3741
);
38-
});
42+
}).filter((folder) => !!folder);
3943
}
4044

4145
for (const folder of selectedFolders) {

client/src/addon_manager/commands/enable.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ const localLogger = createChildLogger("Enable Addon");
1616
export default async (context: vscode.ExtensionContext, message: Message) => {
1717
const addon = addonManager.addons.get(message.data.name);
1818
const workspaceFolders = vscode.workspace.workspaceFolders;
19+
20+
if (!addon || !workspaceFolders) {
21+
return;
22+
}
23+
1924
let selectedFolders: vscode.WorkspaceFolder[];
2025

2126
if (workspaceFolders && workspaceFolders.length === 1) {
@@ -37,7 +42,7 @@ export default async (context: vscode.ExtensionContext, message: Message) => {
3742
return workspaceFolders.find(
3843
(folder) => folder.name === selection.label
3944
);
40-
});
45+
}).filter((folder) => !!folder);
4146
}
4247

4348
for (const folder of selectedFolders) {
@@ -46,7 +51,7 @@ export default async (context: vscode.ExtensionContext, message: Message) => {
4651
} catch (e) {
4752
const message = `Failed to enable ${addon.name}!`;
4853
localLogger.error(message, { report: false });
49-
localLogger.error(e, { report: false });
54+
localLogger.error(String(e), { report: false });
5055
WebVue.sendNotification({
5156
level: NotificationLevels.error,
5257
message,

client/src/addon_manager/commands/uninstall.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ export default async (
66
message: { data: { name: string } }
77
) => {
88
const addon = addonManagerService.addons.get(message.data.name);
9-
addon.uninstall();
9+
addon?.uninstall();
1010
};

client/src/addon_manager/commands/update.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ type Message = {
1616

1717
export default async (context: vscode.ExtensionContext, message: Message) => {
1818
const addon = addonManager.addons.get(message.data.name);
19+
if (!addon) {
20+
return;
21+
}
1922
try {
2023
await addon.update();
2124
} catch (e) {
2225
const message = `Failed to update ${addon.name}`;
2326
localLogger.error(message, { report: false });
24-
localLogger.error(e, { report: false });
27+
localLogger.error(String(e), { report: false });
2528
WebVue.sendNotification({
2629
level: NotificationLevels.error,
2730
message,

client/src/addon_manager/models/addon.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,7 @@ export class Addon {
117117
const moduleURI = vscode.Uri.joinPath(this.uri, "module");
118118
this.#installed =
119119
(await filesystem.exists(moduleURI)) &&
120-
(await filesystem.readDirectory(moduleURI, { recursive: false }))
121-
.length > 0;
120+
((await filesystem.readDirectory(moduleURI, { recursive: false }))?.length ?? 0) > 0;
122121

123122
return folderStates;
124123
}
@@ -237,7 +236,7 @@ export class Addon {
237236
}
238237

239238
public async uninstall() {
240-
for (const folder of vscode.workspace.workspaceFolders) {
239+
for (const folder of vscode.workspace.workspaceFolders ?? []) {
241240
await this.disable(folder, true);
242241
}
243242
const moduleURI = vscode.Uri.joinPath(this.uri, "module");
@@ -256,7 +255,7 @@ export class Addon {
256255

257256
const { name, description, size, hasPlugin } = await this.fetchInfo();
258257
const enabled = this.#enabled;
259-
const installTimestamp = (await git.log()).latest.date;
258+
const installTimestamp = (await git.log()).latest?.date;
260259
const hasUpdate = this.#hasUpdate;
261260

262261
return {

client/src/addon_manager/panels/WebVue.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export class WebVue {
4848
command: string,
4949
data: { [index: string]: unknown } | unknown
5050
) {
51-
WebVue.currentPanel._panel.webview.postMessage({ command, data });
51+
WebVue.currentPanel?._panel.webview.postMessage({ command, data });
5252
}
5353

5454
public static sendNotification(message: Notification) {
@@ -255,7 +255,7 @@ export class WebVue {
255255
);
256256

257257
try {
258-
commands[command](context, message);
258+
(commands as any)[command](context, message);
259259
} catch (e) {
260260
commandLogger.error(e);
261261
}

client/src/addon_manager/registration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export async function activate(context: vscode.ExtensionContext) {
8484
// Set up git repository for fetching addons
8585
try {
8686
setupGit(context);
87-
} catch (e) {
87+
} catch (e: any) {
8888
const message =
8989
"Failed to set up Git repository. Please check your connection to GitHub.";
9090
logger.error(message, { report: false });

0 commit comments

Comments
 (0)