mirror of
https://github.com/vector-im/element-web.git
synced 2025-11-10 05:01:24 +01:00
* Set nullglob * Replace with a if statement (because we're using sh) * combine if (cherry picked from commit 1c30bec083e7460c0ca70696c644fe2a1dc5b3e0) Co-authored-by: Will Hunt <will@half-shot.uk>
34 lines
1005 B
Bash
Executable File
34 lines
1005 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Loads modules from `/modules` into config.json's `modules` field
|
|
|
|
set -e
|
|
|
|
entrypoint_log() {
|
|
if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
|
echo "$@"
|
|
fi
|
|
}
|
|
|
|
# Copy these config files as a base
|
|
mkdir -p /tmp/element-web-config
|
|
cp /app/config*.json /tmp/element-web-config/
|
|
|
|
# If the module directory exists AND the module directory has modules in it
|
|
if [ -d "/modules" ] && [ "$( ls -A '/modules' )" ]; then
|
|
cd /modules
|
|
for MODULE in *
|
|
do
|
|
# If the module has a package.json, use its main field as the entrypoint
|
|
ENTRYPOINT="index.js"
|
|
if [ -f "/modules/$MODULE/package.json" ]; then
|
|
ENTRYPOINT=$(jq -r '.main' "/modules/$MODULE/package.json")
|
|
fi
|
|
|
|
entrypoint_log "Loading module $MODULE with entrypoint $ENTRYPOINT"
|
|
|
|
# Append the module to the config
|
|
jq ".modules += [\"/modules/$MODULE/$ENTRYPOINT\"]" /tmp/element-web-config/config.json | sponge /tmp/element-web-config/config.json
|
|
done
|
|
fi
|