summaryrefslogtreecommitdiff
path: root/bin/setup
blob: 907567cab733e79d2e56018948b0f26933516eb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/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 --production=true --pure-lockfile

cat << EOF
If you want to build the frontend yourself, you need to run 'yarn install' before 'yarn build' to install the devDependencies for the build process.

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"