34 lines
983 B
Bash
Executable File
34 lines
983 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
|
set -x
|
|
fi
|
|
|
|
WORK_DIR="${1:-./}"
|
|
|
|
cd "${WORK_DIR}" || exit 1
|
|
|
|
if [ -f ".env" ]; then
|
|
TMP_ENV=`mktemp`
|
|
declare -px > $TMP_ENV
|
|
set -a
|
|
source .env
|
|
source $TMP_ENV
|
|
set +a
|
|
rm -f $TMP_ENV
|
|
fi
|
|
|
|
for f in $(find . -type f \( -regex '.*.html?' -or -regex ".*.[tj]s\(x\|on\)?$" \) | grep -v 'node_modules' | grep -v '.git'); do
|
|
for e in $(cat "${f}" | tr -s '[:blank:]' '\n' | tr -s '["/\\{},();]' '\n' | tr -s "[']" '\n' | egrep -o -e '^CERC_RUNTIME_ENV_.+$' -e '^LACONIC_HOSTED_CONFIG_.+$'); do
|
|
orig_name=$(echo -n "${e}" | sed 's/"//g')
|
|
cur_name=$(echo -n "${orig_name}" | sed 's/CERC_RUNTIME_ENV_//g')
|
|
cur_val=$(echo -n "\$${cur_name}" | envsubst)
|
|
if [ "$CERC_RETAIN_ENV_QUOTES" != "true" ]; then
|
|
cur_val=$(sed "s/^[\"']//" <<< "$cur_val" | sed "s/[\"']//")
|
|
fi
|
|
esc_val=$(sed 's/[&/\]/\\&/g' <<< "$cur_val")
|
|
echo "$f: $cur_name=$cur_val"
|
|
sed -i "s/$orig_name/$esc_val/g" $f
|
|
done
|
|
done
|