Skip to content

Commit c4fbada

Browse files
committed
- move npm install to separate script
1 parent f0c5abf commit c4fbada

File tree

2 files changed

+69
-63
lines changed

2 files changed

+69
-63
lines changed

script/install.sh

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,6 @@
11
#!/usr/bin/env bash
22

3-
semver_compare() {
4-
local version_a version_b pr_a pr_b
5-
# strip word "v" and extract first subset version (x.y.z from x.y.z-foo.n)
6-
version_a=$(echo "${1//v/}" | awk -F'-' '{print $1}')
7-
version_b=$(echo "${2//v/}" | awk -F'-' '{print $1}')
8-
9-
if [ "$version_a" \= "$version_b" ]
10-
then
11-
# check for pre-release
12-
# extract pre-release (-foo.n from x.y.z-foo.n)
13-
pr_a=$(echo "$1" | awk -F'-' '{print $2}')
14-
pr_b=$(echo "$2" | awk -F'-' '{print $2}')
15-
16-
####
17-
# Return 0 when A is equal to B
18-
[ "$pr_a" \= "$pr_b" ] && echo 0 && return 0
19-
20-
####
21-
# Return 1
22-
23-
# Case when A is not pre-release
24-
if [ -z "$pr_a" ]
25-
then
26-
echo 1 && return 0
27-
fi
28-
29-
####
30-
# Case when pre-release A exists and is greater than B's pre-release
31-
32-
# extract numbers -rc.x --> x
33-
number_a=$(echo ${pr_a//[!0-9]/})
34-
number_b=$(echo ${pr_b//[!0-9]/})
35-
[ -z "${number_a}" ] && number_a=0
36-
[ -z "${number_b}" ] && number_b=0
37-
38-
[ "$pr_a" \> "$pr_b" ] && [ -n "$pr_b" ] && [ "$number_a" -gt "$number_b" ] && echo 1 && return 0
39-
40-
####
41-
# Retrun -1 when A is lower than B
42-
echo -1 && return 0
43-
fi
44-
arr_version_a=(${version_a//./ })
45-
arr_version_b=(${version_b//./ })
46-
cursor=0
47-
# Iterate arrays from left to right and find the first difference
48-
while [ "$([ "${arr_version_a[$cursor]}" -eq "${arr_version_b[$cursor]}" ] && [ $cursor -lt ${#arr_version_a[@]} ] && echo true)" == true ]
49-
do
50-
cursor=$((cursor+1))
51-
done
52-
[ "${arr_version_a[$cursor]}" -gt "${arr_version_b[$cursor]}" ] && echo 1 || echo -1
53-
}
54-
55-
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/.."
56-
57-
NVER="$(node -v)"
58-
echo "NODE: $NVER"
59-
if [ $(semver_compare $NVER 11) = -1 ]; then
60-
echo "Install for V10"
61-
npm install [email protected] stylelint@12 --save-dev
62-
else
63-
echo "Install Latest"
64-
npm install eslint stylelint --save-dev
65-
fi
3+
source npm-install.sh
664

675
[ -f ./ruleset.xml ] || cp $DIR/ruleset.xml ./
686
[ -f ./phpmd.xml ] || cp $DIR/phpmd.xml ./

script/npm-install.sh

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/usr/bin/env bash
2+
3+
semver_compare() {
4+
local version_a version_b pr_a pr_b
5+
# strip word "v" and extract first subset version (x.y.z from x.y.z-foo.n)
6+
version_a=$(echo "${1//v/}" | awk -F'-' '{print $1}')
7+
version_b=$(echo "${2//v/}" | awk -F'-' '{print $1}')
8+
9+
if [ "$version_a" \= "$version_b" ]
10+
then
11+
# check for pre-release
12+
# extract pre-release (-foo.n from x.y.z-foo.n)
13+
pr_a=$(echo "$1" | awk -F'-' '{print $2}')
14+
pr_b=$(echo "$2" | awk -F'-' '{print $2}')
15+
16+
####
17+
# Return 0 when A is equal to B
18+
[ "$pr_a" \= "$pr_b" ] && echo 0 && return 0
19+
20+
####
21+
# Return 1
22+
23+
# Case when A is not pre-release
24+
if [ -z "$pr_a" ]
25+
then
26+
echo 1 && return 0
27+
fi
28+
29+
####
30+
# Case when pre-release A exists and is greater than B's pre-release
31+
32+
# extract numbers -rc.x --> x
33+
number_a=$(echo ${pr_a//[!0-9]/})
34+
number_b=$(echo ${pr_b//[!0-9]/})
35+
[ -z "${number_a}" ] && number_a=0
36+
[ -z "${number_b}" ] && number_b=0
37+
38+
[ "$pr_a" \> "$pr_b" ] && [ -n "$pr_b" ] && [ "$number_a" -gt "$number_b" ] && echo 1 && return 0
39+
40+
####
41+
# Retrun -1 when A is lower than B
42+
echo -1 && return 0
43+
fi
44+
arr_version_a=(${version_a//./ })
45+
arr_version_b=(${version_b//./ })
46+
cursor=0
47+
# Iterate arrays from left to right and find the first difference
48+
while [ "$([ "${arr_version_a[$cursor]}" -eq "${arr_version_b[$cursor]}" ] && [ $cursor -lt ${#arr_version_a[@]} ] && echo true)" == true ]
49+
do
50+
cursor=$((cursor+1))
51+
done
52+
[ "${arr_version_a[$cursor]}" -gt "${arr_version_b[$cursor]}" ] && echo 1 || echo -1
53+
}
54+
55+
##########################
56+
# Install NPM packages
57+
58+
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/.."
59+
60+
NVER="$(node -v)"
61+
echo "NODE: $NVER"
62+
if [ $(semver_compare $NVER 11) = -1 ]; then
63+
echo "Install for V10"
64+
npm install [email protected] stylelint@12 --save-dev
65+
else
66+
echo "Install Latest"
67+
npm install eslint stylelint --save-dev
68+
fi

0 commit comments

Comments
 (0)