#!/bin/sh
#
# @author René Schwaiger <sanssecours@me.com>
# @brief Reformat JavaScript files
# @date 13.10.2019
# @tags reformat

SCRIPTS_DIR=$(dirname "$0")
. "${SCRIPTS_DIR}/include-common"

cd "$SOURCE" || {
	printf 'Unable to change into source directory'
	exit 1
}

NPX="$(which npx)"

if [ -z "${PRETTIER}" ]; then
	printf 2>&1 'Please install `npx` (Included in npm >= 5.2.0)\n'
	exit 1
fi

if [ $# -gt 0 ]; then
	javascript_files=$(printf "%s\n" "$@" | grep -Ex '.*\.jsx?')
	[ -z "$javascript_files" ] && exit
else
	# The file `TooltipCreator.js` contains the text `.pragma library`, which is not valid JavaScript code.
	javascript_files=$(git ls-files '*.js' '*.jsx' | grep -v 'src/tools/qt-gui/qml/TooltipCreator.js')
fi
printf "%s\n" "$javascript_files" | sed -nE 's/(.*)/'"'"'\1'"'"'/p' | xargs "${NPX}" --quiet prettier@1.19.1 --write -- > /dev/null
