hedgedoc/bin/setup
David Mehren d52a43e811
Fix version error wording in bin/setup
The previous error message stated that the version of Node or
Yarn is "outdated", which might be accurate coincidentally,
but is not what the script checks.

This commit changes the wording to use "not supported", which
is more accurate to the true check in the script.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-04-22 22:52:53 +02:00

63 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
set -e
version_lt() { test "$(printf '%s\n' "$@" | { [ "$(uname)" = "Linux" ] && (sort -V || sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n;) } | tail -n 1)" != "$1"; }
# run command at repo root
CURRENT_PATH=$PWD
if [ -d .git ]; then
cd "$(git rev-parse --show-toplevel)"
fi
if ! type yarn > /dev/null; then
cat << EOF
FATAL: Yarn could not be found.
Please follow the official installation instructions at
https://classic.yarnpkg.com/en/docs/install
and try again.
EOF
exit 1
fi
if version_lt "$(yarn --version)" '1.22.0'; then
cat << EOF
FATAL: Your Yarn version is not supported.
Please upgrade to version 1.22.0 or higher and try again.
See https://classic.yarnpkg.com/en/docs/install for instructions.
EOF
exit 1
fi
if version_lt "$(node --version)" 'v12.0.0'; then
cat << EOF
FATAL: Your Node.js version is not supported.
Please upgrade to version 12 or higher and try again.
We recommend running the latest LTS release, see https://nodejs.org/en/about/releases/ for details.
EOF
exit 1
fi
echo "Copying config files..."
if [ ! -f config.json ]; then
cp config.json.example config.json
fi
echo "Installing packages..."
yarn install --pure-lockfile
yarn install --production=false --pure-lockfile
cat << EOF
Edit the following config file to setup HedgeDoc server and client.
Read more info at https://docs.hedgedoc.org/configuration/
* config.json -- HedgeDoc config
EOF
# change directory back
cd "$CURRENT_PATH"