You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.6 KiB

#!/bin/bash
if [ -z $WAPPALYZER_ROOT ]
then
echo "\$WAPPALYZER_ROOT not set"
exit 1
fi
if [ -z $WAPPALYZER_NODE_PATH ]
then
echo "\$WAPPALYZER_NODE_PATH not set"
exit 1
fi
set -eu
wappalyzer validate
echo "Prettifying apps.json..."
node $WAPPALYZER_NODE_PATH/node_modules/jsonlint/lib/cli.js -ist $'\t' $WAPPALYZER_ROOT/src/apps.json
echo "Compressing PNG and SVG icons..."
node $WAPPALYZER_NODE_PATH/node_modules/imagemin-cli/cli.js $WAPPALYZER_ROOT/src/icons/* --out-dir $WAPPALYZER_ROOT/src/icons 2>&1 > /dev/null
echo "Converting SVG icons to PNG..."
OIFS="$IFS"
IFS=$'\n'
for svg in $(find $WAPPALYZER_ROOT/src/icons -type f -name "*.svg")
do
echo " Converting $(basename "$svg")..."
dest="$WAPPALYZER_ROOT/src/icons/converted/$(basename "$svg").png"
if [[ -f "$dest" ]]; then
rm "$dest"
fi
node $WAPPALYZER_NODE_PATH/node_modules/svg2png/bin/svg2png-cli "$svg" --width=32 --height=32 --output "$dest" || true
done
IFS="$OIFS"
echo "Compressing converted PNG icons..."
node $WAPPALYZER_NODE_PATH/node_modules/imagemin-cli/cli.js $WAPPALYZER_ROOT/src/icons/converted/* $WAPPALYZER_ROOT/src/icons/converted
wappalyzer links
# WebExtension
echo "Building WebExtension driver..."
pushd $WAPPALYZER_ROOT/src/drivers/webextension > /dev/null
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.zip . -x manifest.edge.json
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip . -x manifest.json
printf "@ manifest.edge.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip
popd > /dev/null
echo "Done. Builds have been created in $WAPPALYZER_ROOT/build."