#!/usr/bin/env bash BABEL=./node_modules/babel-cli/bin/babel.js SASS=./node_modules/node-sass/bin/node-sass MUSTACHE=./node_modules/mustache/bin/mustache DATA_FILE=data.json SOURCE_ROOT=src TARGET_DIR="iTunes Extras.ite" rm -r "${TARGET_DIR}" mkdir -p "${TARGET_DIR}" cp -R TuneKit/ "${TARGET_DIR}/TuneKit/" for file in $(find ${SOURCE_ROOT} -type f) do echo -n "Compiling $file..." dir=$(dirname "$file") filename=$(basename "$file") extension="${filename##*.}" filename="${filename%.*}" filename="${filename%.*}" # For double extensions if [[ $filename == _* ]]; then echo -en "\033[0;33m" echo " Skipping" echo -en "\033[0;00m" continue fi targetDir="${TARGET_DIR}${dir#${SOURCE_ROOT}}" partialTarget="${targetDir}/${filename}" mkdir -p "$targetDir" case "$file" in *.xml.mustache ) ${MUSTACHE} "${DATA_FILE}" "${file}" "${partialTarget}.xml" ;; *.plist.mustache ) ${MUSTACHE} "${DATA_FILE}" "${file}" "${partialTarget}.plist" ;; *.js.mustache ) ${MUSTACHE} "${DATA_FILE}" "${file}" | ${BABEL} --out-file "${partialTarget}.js" --presets env ;; *.js ) ${BABEL} "${file}" --out-file "${partialTarget}.js" --presets env ;; *.scss ) ${SASS} --no-cache --output-style compressed "$file" > "${partialTarget}.css" ;; *) cp "$file" "${partialTarget}.${extension}" ;; esac echo -en "\033[0;92m" echo " Done" echo -en "\033[0;00m" done echo -n "Copying Assets... " cp -R assets/ "${TARGET_DIR}/" echo -en "\033[0;92m" echo " Done" echo -en "\033[0;00m"