fix(vscode-web): always apply settings.json configuration
Previously, settings from the module were only applied if the settings.json file didn't exist. This meant that if a user had ever started vscode-web before (even with default settings), their new settings configuration would be ignored. This fix: - Always applies the module settings on startup - Uses jq to merge with existing settings when available - New module settings take precedence over existing settings - Falls back to overwriting settings if jq is not available Fixes #42
This commit is contained in:
parent
69e5dc5c80
commit
f912e485be
@ -28,11 +28,29 @@ run_vscode_web() {
|
||||
"$VSCODE_WEB" serve-local "$EXTENSION_ARG" "$SERVER_BASE_PATH_ARG" "$DISABLE_TRUST_ARG" --port "${PORT}" --host 127.0.0.1 --accept-server-license-terms --without-connection-token --telemetry-level "${TELEMETRY_LEVEL}" > "${LOG_PATH}" 2>&1 &
|
||||
}
|
||||
|
||||
# Check if the settings file exists...
|
||||
if [ ! -f ~/.vscode-server/data/Machine/settings.json ]; then
|
||||
# Apply settings
|
||||
SETTINGS_FILE="$HOME/.vscode-server/data/Machine/settings.json"
|
||||
mkdir -p "$(dirname "$SETTINGS_FILE")"
|
||||
MODULE_SETTINGS='${SETTINGS}'
|
||||
|
||||
# Check if we have settings to apply
|
||||
if [ -n "$MODULE_SETTINGS" ] && [ "$MODULE_SETTINGS" != "{}" ]; then
|
||||
# Check if jq is available for merging settings
|
||||
if command -v jq > /dev/null; then
|
||||
if [ -f "$SETTINGS_FILE" ]; then
|
||||
echo "⚙️ Merging settings..."
|
||||
# Merge existing settings with new settings (new settings take precedence)
|
||||
MERGED_SETTINGS=$(jq -s '.[0] * .[1]' "$SETTINGS_FILE" <(echo "$MODULE_SETTINGS") 2> /dev/null) || MERGED_SETTINGS="$MODULE_SETTINGS"
|
||||
echo "$MERGED_SETTINGS" > "$SETTINGS_FILE"
|
||||
else
|
||||
echo "⚙️ Creating settings file..."
|
||||
mkdir -p ~/.vscode-server/data/Machine
|
||||
echo "${SETTINGS}" > ~/.vscode-server/data/Machine/settings.json
|
||||
echo "$MODULE_SETTINGS" > "$SETTINGS_FILE"
|
||||
fi
|
||||
else
|
||||
# No jq available, overwrite settings
|
||||
echo "⚙️ Creating settings file..."
|
||||
echo "$MODULE_SETTINGS" > "$SETTINGS_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if vscode-server is already installed for offline or cached mode
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user