hedgedoc/bin/setup
Sheogorath 0ad434a69a
Add some version checks to setup script
There are some distros out there, shipping quite outdated packages with
them, which results in weird issues. Let's check that we have a more or
less up to date version of node and yarn installed.

This patch adds those checks and this way should provide some helpful
error messages to people who try to install CodiMD.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2020-11-17 20:46:42 +01:00

65 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
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
EOF
exit 1
fi
if version_lt "$(yarn --version)" '1.3.2'; then
cat <<EOF
Your yarn version is outdated. Please upgrade to a version
newer than 1.3.2.
EOF
exit 1
fi
if version_lt "$(node --version)" 'v6.0.0'; then
cat <<EOF
Your node version is outdated. Please upgrade to version 6
or higher. (Version 8 or higher is recommended)
EOF
exit 1
fi
echo "copy config files"
if [ ! -f config.json ]; then
cp config.json.example config.json
fi
if [ ! -f .sequelizerc ]; then
cp .sequelizerc.example .sequelizerc
fi
echo "install 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://github.com/hedgedoc/hedgedoc#configuration-files
* config.json -- HedgeDoc config
* .sequelizerc -- db config
EOF
# change directory back
cd "$CURRENT_PATH"