mirror of
https://github.com/Xahau/xahau.js.git
synced 2026-04-29 15:37:50 +00:00
55 lines
1.0 KiB
Bash
Executable File
55 lines
1.0 KiB
Bash
Executable File
#!/bin/bash -ex
|
|
|
|
NODE_INDEX="$1"
|
|
TOTAL_NODES="$2"
|
|
|
|
typecheck() {
|
|
npm install -g flow-bin
|
|
npm run typecheck
|
|
}
|
|
|
|
lint() {
|
|
REPO_URL="https://raw.githubusercontent.com/ripple/javascript-style-guide"
|
|
npm install -g eslint
|
|
npm install -g esprima-fb # allow flow type annotations in eslint
|
|
curl "$REPO_URL/es6/eslintrc" > ./eslintrc
|
|
echo "parser: esprima-fb" >> ./eslintrc
|
|
eslint --reset -c ./eslintrc $(git --no-pager diff --name-only -M100% --diff-filter=AM --relative $(git merge-base FETCH_HEAD origin/HEAD) FETCH_HEAD | grep "\.js$")
|
|
}
|
|
|
|
unittest() {
|
|
npm test --coverage
|
|
npm run coveralls
|
|
}
|
|
|
|
oneNode() {
|
|
lint
|
|
typecheck
|
|
unittest
|
|
}
|
|
|
|
twoNodes() {
|
|
case "$NODE_INDEX" in
|
|
0) lint && unittest;;
|
|
1) typecheck;;
|
|
*) echo "ERROR: invalid usage"; exit 2;;
|
|
esac
|
|
}
|
|
|
|
threeNodes() {
|
|
case "$NODE_INDEX" in
|
|
0) lint;;
|
|
1) typecheck;;
|
|
2) unittest;;
|
|
*) echo "ERROR: invalid usage"; exit 2;;
|
|
esac
|
|
}
|
|
|
|
case "$TOTAL_NODES" in
|
|
"") oneNode;;
|
|
1) oneNode;;
|
|
2) twoNodes;;
|
|
3) threeNodes;;
|
|
*) echo "ERROR: invalid usage"; exit 2;;
|
|
esac
|