@@ -21,35 +21,41 @@ cache:
2121 directories :
2222 - node_modules
2323before_install :
24+ - |
25+ function v () {
26+ tr '.' '\n' <<< "${1}" \
27+ | awk '{ printf "%03d", $0 }' \
28+ | sed 's/^0*//'
29+ }
2430 # Configure npm
2531 - |
2632 # Skip updating shrinkwrap / lock
2733 npm config set shrinkwrap false
2834 # Setup Node.js version-specific dependencies
2935 - |
3036 # eslint for linting
31- # - remove on Node.js < 6
32- if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -lt 6 ]]; then
37+ if [[ "$(v "$TRAVIS_NODE_VERSION")" -lt "$(v '6.0')" ]]; then
38+ # - remove on Node.js < 6
3339 node -pe 'Object.keys(require("./package").devDependencies).join("\n")' | \
3440 grep -E '^eslint(-|$)' | \
3541 xargs npm rm --save-dev
3642 fi
3743 - |
3844 # istanbul for coverage
39- # - remove on Node.js < 0.10
40- if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -eq 0 && "$(cut -d. -f2 <<< "$TRAVIS_NODE_VERSION")" -lt 10 ]]; then
45+ if [[ "$(v "$TRAVIS_NODE_VERSION")" -lt "$(v ' 0.10')" ]]; then
46+ # - remove on Node.js < 0.10
4147 npm rm --save-dev istanbul
4248 fi
4349 - |
4450 # mocha for testing
45- # - use 1.x for Node.js < 0.8
46- # - use 2.x for Node.js < 0.10
47- # - use 3.x for Node.js < 6
48- if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -eq 0 && "$(cut -d. -f2 <<< "$TRAVIS_NODE_VERSION")" -lt 8 ]]; then
51+ if [[ "$(v "$TRAVIS_NODE_VERSION")" -lt "$(v '0.8')" ]]; then
52+ # - use 1.x for Node.js < 0.8
4953 npm install --save-dev mocha@1.21.5
50- elif [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -eq 0 && "$(cut -d. -f2 <<< "$TRAVIS_NODE_VERSION")" -lt 10 ]]; then
54+ elif [[ "$(v "$TRAVIS_NODE_VERSION")" -lt "$(v '0.10')" ]]; then
55+ # - use 2.x for Node.js < 0.10
5156 npm install --save-dev mocha@2.5.3
52- elif [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -lt 6 ]]; then
57+ elif [[ "$(v "$TRAVIS_NODE_VERSION")" -lt "$(v '6.0')" ]]; then
58+ # - use 3.x for Node.js < 6
5359 npm install --save-dev mocha@3.5.3
5460 fi
5561 # Update Node.js modules
0 commit comments