forked from Tryneus/horizon
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetupDev.sh
More file actions
executable file
·68 lines (53 loc) · 1.45 KB
/
setupDev.sh
File metadata and controls
executable file
·68 lines (53 loc) · 1.45 KB
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
#!/usr/bin/env bash
set -e
if [[ "$1" == "--clean" ]]; then
do_clean=true
fi
green () {
echo -e "\033[1;32m== $1 \033[0m"
}
# $1: path to module to link
# $...: dependencies to link into this module
link_dir () {
dir=$1
shift
pushd $dir
if [[ "$do_clean" == "true" ]]; then
echo Removing $dir/node_modules
rm -rf node_modules
fi
green "Unlinking $dir"
npm unlink
green "Linking $dir deps"
while (( "$#" )); do
npm link "$1"
shift
done
green "Linking $dir"
npm link --unsafe-perm --cache-min 9999999
popd
}
link_dir client
link_dir server "@horizon/client"
link_dir plugin-utils
# Link all the routers - base links to the server, the rest link to base
link_dir router/base "@horizon/server"
pushd router
router_names=($(ls -1d * | grep -v base))
for router_name in "${router_names[@]}"; do
link_dir "$router_name" "@horizon/base-router"
done
popd
# Link all the plugins, 'defaults' must go last
pushd plugins
plugin_names=($(ls -1d * | grep -v defaults))
plugin_modules=()
for plugin_name in "${plugin_names[@]}"; do
link_dir "$plugin_name" "@horizon/plugin-utils" "@horizon/server"
plugin_modules+=("@horizon-plugins/$plugin_name")
done
link_dir defaults ${plugin_modules[@]}
popd
link_dir cli "@horizon/express-router" "@horizon-plugins/defaults" "@horizon/server" "@horizon/plugin-utils"
link_dir test "@horizon-plugins/defaults" "@horizon/base-router" "@horizon/plugin-utils" "horizon"
green "Dev environment ready"