diff options
| author | olcan <[email protected]> | 2025-05-18 10:47:57 -0700 |
|---|---|---|
| committer | Olcan <[email protected]> | 2025-05-18 10:58:20 -0700 |
| commit | 6cc00871054f9749db96b3eb5a99f02542ca45f8 (patch) | |
| tree | d1c713e574cf05d373900eee04749f656ca139be | |
| parent | e4d978da7ce5422cd4d2a92d369985df6387ad79 (diff) | |
allow comments in settings.json
| -rw-r--r-- | package-lock.json | 2 | ||||
| -rw-r--r-- | packages/cli/package.json | 1 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 5 |
3 files changed, 5 insertions, 3 deletions
diff --git a/package-lock.json b/package-lock.json index 4cc3325f..3797ec58 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7067,7 +7067,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8163,6 +8162,7 @@ "shell-quote": "^1.8.2", "string-width": "^7.1.0", "strip-ansi": "^7.1.0", + "strip-json-comments": "^3.1.1", "yargs": "^17.7.2" }, "bin": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 433b9a58..0c088dc6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -45,6 +45,7 @@ "shell-quote": "^1.8.2", "string-width": "^7.1.0", "strip-ansi": "^7.1.0", + "strip-json-comments": "^3.1.1", "yargs": "^17.7.2" }, "devDependencies": { diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 1689a2f4..25ec5cb4 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -8,6 +8,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { homedir } from 'os'; import { MCPServerConfig } from '@gemini-code/server/src/config/config.js'; +import stripJsonComments from 'strip-json-comments'; export const SETTINGS_DIRECTORY_NAME = '.gemini'; export const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME); @@ -92,7 +93,7 @@ export function loadSettings(workspaceDir: string): LoadedSettings { try { if (fs.existsSync(USER_SETTINGS_PATH)) { const userContent = fs.readFileSync(USER_SETTINGS_PATH, 'utf-8'); - userSettings = JSON.parse(userContent); + userSettings = JSON.parse(stripJsonComments(userContent)); } } catch (error) { console.error('Error reading user settings file:', error); @@ -108,7 +109,7 @@ export function loadSettings(workspaceDir: string): LoadedSettings { try { if (fs.existsSync(workspaceSettingsPath)) { const projectContent = fs.readFileSync(workspaceSettingsPath, 'utf-8'); - workspaceSettings = JSON.parse(projectContent); + workspaceSettings = JSON.parse(stripJsonComments(projectContent)); } } catch (error) { console.error('Error reading workspace settings file:', error); |
