@@ -18,23 +18,59 @@ cache:
18
18
directories :
19
19
- node_modules
20
20
before_install :
21
- # Skip updating shrinkwrap / lock
22
- - " npm config set shrinkwrap false"
23
-
21
+ # Configure npm
22
+ - |
23
+ # Skip updating shrinkwrap / lock
24
+ npm config set shrinkwrap false
24
25
# Remove all non-test dependencies
25
- - " npm rm --save-dev benchmark beautify-benchmark || true"
26
-
26
+ - |
27
+ # Remove benchmark dependencies
28
+ npm rm --silent --save-dev benchmark beautify-benchmark
27
29
# Setup Node.js version-specific dependencies
28
- - " test $TRAVIS_NODE_VERSION != '0.8' || npm rm --save-dev istanbul"
29
- - " test $TRAVIS_NODE_VERSION = '0.8' || npm install browserify"
30
- - " test $(echo $TRAVIS_NODE_VERSION | cut -d. -f1) -ge 6 || npm rm --save-dev $(grep -E '\" eslint\\ S*\" ' package.json | cut -d'\" ' -f2)"
31
-
30
+ - |
31
+ # istanbul for coverage
32
+ # - remove for Node.js < 0.10
33
+ if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -eq 0 && "$(cut -d. -f2 <<< "$TRAVIS_NODE_VERSION")" -lt 10 ]]; then
34
+ npm rm --silent --save-dev istanbul
35
+ fi
36
+ - |
37
+ # browserify for browser testing
38
+ # - install for Node.js > 0.8
39
+ if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -gt 0 || "$(cut -d. -f2 <<< "$TRAVIS_NODE_VERSION")" -gt 8 ]]; then
40
+ npm install --silent --save-dev browserify
41
+ fi
42
+ - |
43
+ # eslint for linting
44
+ # - remove on Node.js < 6
45
+ if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -lt 6 ]]; then
46
+ node -pe 'Object.keys(require("./package").devDependencies).join("\n")' | \
47
+ grep -E '^eslint(-|$)' | \
48
+ xargs npm rm --save-dev
49
+ fi
32
50
# Update Node.js modules
33
- - " test ! -d node_modules || npm prune"
34
- - " test ! -d node_modules || npm rebuild"
51
+ - |
52
+ # Prune and rebuild node_modules
53
+ if [[ -d node_modules ]]; then
54
+ npm prune
55
+ npm rebuild
56
+ fi
35
57
script :
36
- # Run test script, depending on istanbul install
37
- - " test ! -z $(npm -ps ls istanbul) || npm test"
38
- - " test -z $(npm -ps ls istanbul) || npm run-script test-ci"
39
- - " test -z $(npm -ps ls eslint ) || npm run-script lint"
40
- after_script :
" npm install [email protected] && cat ./coverage/lcov.info | coveralls"
58
+ # Run test script
59
+ - |
60
+ if npm -ps ls istanbul | grep -q istanbul; then
61
+ npm run test-ci
62
+ else
63
+ npm test
64
+ fi
65
+ # Run linting
66
+ - |
67
+ if npm -ps ls eslint | grep -q eslint; then
68
+ npm run lint
69
+ fi
70
+ after_script :
71
+ - |
72
+ # Upload coverage to coveralls
73
+ if [[ -f ./coverage/lcov.info ]]; then
74
+ npm install --save-dev [email protected]
75
+ coveralls < ./coverage/lcov.info
76
+ fi
0 commit comments