PATH=$PATH:./node_modules/.bin which browserify > /dev/null || (echo "can not find browserify" && false) || exit # prepare / update testing environment if needed JASMINE_VER=3.2.1 JASMINE_LIB="test/lib/jasmine-$JASMINE_VER" if ! [ -d "$JASMINE_LIB" ]; then mkdir -p test/lib rm -rf test/lib/jasmine-* JASMINE_URL="https://github.com/jasmine/jasmine/releases/download/v$JASMINE_VER/jasmine-standalone-$JASMINE_VER.zip" curl -L -o "$JASMINE_LIB.zip" "$JASMINE_URL" && unzip -d test/ $JASMINE_LIB.zip lib/** rm -f "$JASMINE_LIB.zip" fi # Build the main file browserify main_background.js -o bundle.js # Create a temp directory mkdir ./build_temp # Move source files to temp directory if [ "$1" == "-t" -o "$1" == "--test" ]; then cp -r ./test ./build_temp fi cp -r ./icons ./build_temp cp -r ./html ./build_temp cp -r ./content ./build_temp cp -r ./common ./build_temp cp manifest.json ./build_temp cp bundle.js ./build_temp # build zip file from temp directory cd ./build_temp zip -r librejs.zip * # remove old file rm ../librejs.xpi || true # move new zip file mv librejs.zip ../ # go back to source dir and remove temp directory cd ../ rm -r ./build_temp # change the zip file to a xpi file that can be uploaded mv librejs.zip librejs.xpi