diff options
-rwxr-xr-x | bin/setup | 41 |
1 files changed, 31 insertions, 10 deletions
@@ -2,24 +2,46 @@ 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 +if ! type yarn > /dev/null; then cat << EOF -yarn is not installed, please install Node.js, npm and yarn. -Read more on Node.js official website: https://nodejs.org -And for yarn package manager at: https://yarnpkg.com/en/ -Setup will not be run +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 outdated. + +Please upgrade to version 1.22.0 or higher and try again. +See https://classic.yarnpkg.com/en/docs/install for instructions. EOF - exit 0 + exit 1 fi -echo "copy config files" +if version_lt "$(node --version)" 'v10.13.0'; then + cat << EOF +FATAL: Your Node.js version is outdated. + +Please upgrade to version 10.13 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 @@ -28,7 +50,7 @@ if [ ! -f .sequelizerc ]; then cp .sequelizerc.example .sequelizerc fi -echo "install packages" +echo "Installing packages..." yarn install --pure-lockfile yarn install --production=false --pure-lockfile @@ -40,7 +62,6 @@ Read more info at https://github.com/hedgedoc/hedgedoc#configuration-files * config.json -- HedgeDoc config * .sequelizerc -- db config - EOF # change directory back |