Newer
Older
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
63
64
65
66
67
68
#!/bin/bash
# builds client, admin & server into one folder
# - client is mounted at /
# - admin is mounted at /admin
# ensure we are in packages/build
MY_DIR="$(cd "$(dirname "$0")"; pwd)"
OUT_DIR="$(cd "$MY_DIR/../../build"; pwd)"
cd $MY_DIR
# empty out directory
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/packages/lib
mkdir -p $OUT_DIR/packages/client
mkdir -p $OUT_DIR/packages/admin
mkdir -p $OUT_DIR/packages/server
mkdir -p $OUT_DIR/prisma
cp $MY_DIR/../../package.json $MY_DIR/../../package-lock.json $OUT_DIR/
LIB_DIR="$MY_DIR/../../packages/lib"
CLIENT_DIR="$MY_DIR/../../packages/client"
ADMIN_DIR="$MY_DIR/../../packages/admin"
SERVER_DIR="$MY_DIR/../../packages/server"
PRISMA_DIR="$SERVER_DIR/prisma"
cp -r $PRISMA_DIR/schema.prisma $PRISMA_DIR/migrations $OUT_DIR/prisma/
# --- Shared Library ---
echo "Building lib..."
cd "$MY_DIR/../.." && npm run-script build:lib
cd $LIB_DIR
mv dist $OUT_DIR/packages/lib
cp package.json $OUT_DIR/packages/lib/
# janky? fix to keep imports in dev
sed -i -e 's/"main": ".*"/"main": ".\/dist\/index.js"/' $OUT_DIR/packages/lib/package.json
# --- Main Client ---
echo "Building client..."
cd "$MY_DIR/../.." && npm run-script build:client
cd $CLIENT_DIR
mv dist/* $OUT_DIR/packages/client
rm -r dist # this dir is empty, delete it to prevent confusion
# --- Admin Client ---
echo "Building admin..."
cd "$MY_DIR/../../" && APP_ROOT=/admin npm run-script build:admin
cd $ADMIN_DIR
mv dist/* $OUT_DIR/packages/admin
rm -r dist # this dir is empty, delete it to prevent confusion
# --- Server ---
echo "Building server..."
cd "$MY_DIR/../../" && npm run-script build:server
cd $SERVER_DIR
mv dist $OUT_DIR/packages/server
cp package.json tool.sh $OUT_DIR/packages/server
# rm -r dist # this dir is empty, delete it to prevent confusion