summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--package-lock.json13
-rw-r--r--package.json3
-rwxr-xr-xscripts/sandbox_command.sh6
-rwxr-xr-xscripts/setup-dev.sh14
5 files changed, 21 insertions, 17 deletions
diff --git a/README.md b/README.md
index d72003b0..c73c8a21 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ As with most Node projects, major development scripts can be found in the `packa
#### Dependencies
-The build toolchain requires `npm` and `jq` to be installed. You can use the `scripts/setup-dev.sh` script to install these prerequisites.
+The build toolchain requires `npm` to be installed. You can install it using `scripts/setup-dev.sh`.
#### Enabling Sandboxing
diff --git a/package-lock.json b/package-lock.json
index e7ca807f..0c3d8427 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,6 +24,7 @@
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"globals": "^16.0.0",
+ "json": "^11.0.0",
"lodash": "^4.17.21",
"memfs": "^4.17.2",
"prettier": "^3.5.3",
@@ -5920,6 +5921,18 @@
}
}
},
+ "node_modules/json": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/json/-/json-11.0.0.tgz",
+ "integrity": "sha512-N/ITv3Yw9Za8cGxuQqSqrq6RHnlaHWZkAFavcfpH/R52522c26EbihMxnY7A1chxfXJ4d+cEFIsyTgfi9GihrA==",
+ "dev": true,
+ "bin": {
+ "json": "lib/json.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/json-bigint": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
diff --git a/package.json b/package.json
index 33cb916a..d9037bbb 100644
--- a/package.json
+++ b/package.json
@@ -60,6 +60,7 @@
"prettier": "^3.5.3",
"react-devtools-core": "^4.28.5",
"typescript-eslint": "^8.30.1",
- "yargs": "^17.7.2"
+ "yargs": "^17.7.2",
+ "json": "^11.0.0"
}
}
diff --git a/scripts/sandbox_command.sh b/scripts/sandbox_command.sh
index 61dd3178..7c140c61 100755
--- a/scripts/sandbox_command.sh
+++ b/scripts/sandbox_command.sh
@@ -32,11 +32,11 @@ done
shift $((OPTIND - 1))
# if GEMINI_SANDBOX is not set, see if it is set in user settings
-# note it can be string or boolean, and if missing jq will return null
+# note it can be string or boolean, and if missing `npx json` will return empty string
USER_SETTINGS_FILE="$HOME/.gemini/settings.json"
if [ -z "${GEMINI_SANDBOX:-}" ] && [ -f "$USER_SETTINGS_FILE" ]; then
- USER_SANDBOX_SETTING=$(sed -e 's/\/\/.*//' -e 's/\/\*.*\*\///g' -e '/^[[:space:]]*\/\//d' "$USER_SETTINGS_FILE" | jq -r '.sandbox')
- if [ "$USER_SANDBOX_SETTING" != null ]; then
+ USER_SANDBOX_SETTING=$(sed -e 's/\/\/.*//' -e 's/\/\*.*\*\///g' -e '/^[[:space:]]*\/\//d' "$USER_SETTINGS_FILE" | npx json 'sandbox')
+ if [ -n "$USER_SANDBOX_SETTING" ]; then
GEMINI_SANDBOX=$USER_SANDBOX_SETTING
fi
fi
diff --git a/scripts/setup-dev.sh b/scripts/setup-dev.sh
index f8d0bf13..de2ae336 100755
--- a/scripts/setup-dev.sh
+++ b/scripts/setup-dev.sh
@@ -16,8 +16,7 @@
set -euo pipefail
# Check if npm is installed
-if ! command -v npm &> /dev/null
-then
+if ! command -v npm &>/dev/null; then
echo "npm not found. Installing npm via nvm..."
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
@@ -26,19 +25,10 @@ then
# Download and install Node.js:
nvm install 22
# Verify the Node.js version:
- node -v # Should print "v22.15.0".
+ node -v # Should print "v22.15.0".
nvm current # Should print "v22.15.0".
# Verify npm version:
npm -v # Should print "10.9.2".
fi
-# Check if jq is installed
-if ! command -v jq &> /dev/null
-then
- echo "jq not found. Installing jq..."
- # This assumes a Debian/Ubuntu based system. Adjust for other distributions.
- sudo apt-get update
- sudo apt-get install -y jq
-fi
-
echo "Development environment setup complete."