#!/bin/bash cd "$(dirname $0)/.." version="$2" if [[ -z "$version" ]]; then current=$(grep '"version":' src/drivers/webextension/manifest.json | sed 's/^.*"version": "\(.*\)".*$/\1/') echo "No version specified. Current version is $current." exit 1; fi set -eu ./bin/validate echo "Deleting junk files..." find . -name ".DS_Store" -exec rm {} \; echo "Prettifying apps.json..." jsonlint-cli -ist $'\t' src/apps.json echo "Converting SVG icons to PNG..." svg2png-many -i src/icons/ -o src/icons/converted/ --width=32 --height=32 echo "Compressing PNG icons..." set +e optipng -quiet "src/icons/*.png" optipng -quiet "src/icons/converted/*.png" set -e # NPM sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$version\"/" src/drivers/npm/package.json # WebExtension echo "Building WebExtension..." webextension_dir=src/drivers/webextension pushd $webextension_dir > /dev/null sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$version\"/" manifest.json zip -qr ../../../build/wappalyzer_webextension.zip . popd > /dev/null # Edge echo "Building Edge application..." pushd build > /dev/null webextension_dir="../$webextension_dir" manifest_dir="Wappalyzer/edgeextension/manifest" mv $webextension_dir/manifest.json $webextension_dir/manifest.webextension.json mv $webextension_dir/manifest.edge.json $webextension_dir/manifest.json sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$version\"/" $webextension_dir/manifest.json manifoldjs -l debug -p edgeextension -f edgeextension -m $webextension_dir/manifest.json # Replace symlinks with actual files rm $manifest_dir/Extension/images/icons cp ../src/apps.json $manifest_dir/Extension cp ../src/wappalyzer.js $manifest_dir/Extension/js cp -r ../src/icons $manifest_dir/Extension/images mv $webextension_dir/manifest.json $webextension_dir/manifest.edge.json mv $webextension_dir/manifest.webextension.json $webextension_dir/manifest.json sed -i 's/INSERT-YOUR-PACKAGE-IDENTITY-NAME-HERE/1591Wappalyzer.Wappalyzer/' $manifest_dir/appxmanifest.xml sed -i 's/INSERT-YOUR-PACKAGE-IDENTITY-PUBLISHER-HERE/D240C22F-A6C1-45DF-BF7B-4C835064DF51/' $manifest_dir/appxmanifest.xml sed -i 's/INSERT-YOUR-PACKAGE-PROPERTIES-PUBLISHERDISPLAYNAME-HERE/Wappalyzer/' $manifest_dir/appxmanifest.xml sed -i 's/Version="0.\([^"]\+\)/Version="\1.0/' $manifest_dir/appxmanifest.xml cp $webextension_dir/images/icon_44.png $manifest_dir/Assets/Square44x44Logo.png cp $webextension_dir/images/icon_150.png $manifest_dir/Assets/Square150x150Logo.png cp $webextension_dir/images/icon_50.png $manifest_dir/Assets/StoreLogo.png manifoldjs -l debug -p edgeextension package $manifest_dir mv Wappalyzer/edgeextension/package/edgeExtension.appx wappalyzer_edge.appx rm -rf Wappalyzer popd > /dev/null echo "Done (v$version)."