Skip to content

Commit 51b5c4f

Browse files
committed
fix: use jsonc-parser to parse settings.json
1 parent fc1ba6f commit 51b5c4f

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

client/package-lock.json

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

client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"dependencies": {
2121
"axios": "^1.2.1",
2222
"dayjs": "^1.11.7",
23+
"jsonc-parser": "^3.2.0",
2324
"triple-beam": "^1.3.0",
2425
"vscode-languageclient": "8.0.2",
2526
"winston": "^3.8.2"

client/src/addon_manager/services/settings.service.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as vscode from "vscode";
22
import { createChildLogger } from "./logging.service";
33
import filesystem from "./filesystem.service";
44
import { LIBRARY_SETTING } from "../config";
5+
import * as JSONC from "jsonc-parser";
56

67
const localLogger = createChildLogger("Settings");
78

@@ -44,7 +45,10 @@ export const getWorkspaceSettingsFile = async (
4445
}
4546

4647
try {
47-
return JSON.parse(rawSettings);
48+
return JSONC.parse(rawSettings, null, {
49+
allowTrailingComma: true,
50+
allowEmptyContent: true,
51+
});
4852
} catch (e) {
4953
const relativePath = vscode.workspace.asRelativePath(settingFileUri);
5054
localLogger.warn(

0 commit comments

Comments
 (0)