|
|
|
@ -8,6 +8,14 @@ aliases: |
|
|
|
|
docker: |
|
|
|
|
- image: circleci/node:8 |
|
|
|
|
|
|
|
|
|
- &npm_install_if_necessary |
|
|
|
|
run: |
|
|
|
|
name: Install npm dependencies |
|
|
|
|
command: | |
|
|
|
|
if [ ! -d node_modules ]; then |
|
|
|
|
npm ci |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
- &cache_key_node_modules |
|
|
|
|
key: v1-node_modules-{{ checksum "package-lock.json" }} |
|
|
|
|
|
|
|
|
@ -18,12 +26,7 @@ jobs: |
|
|
|
|
- checkout |
|
|
|
|
- restore_cache: |
|
|
|
|
<<: *cache_key_node_modules |
|
|
|
|
- run: |
|
|
|
|
name: Install npm dependencies |
|
|
|
|
command: | |
|
|
|
|
if [ ! -d node_modules ]; then |
|
|
|
|
npm ci |
|
|
|
|
fi |
|
|
|
|
- *npm_install_if_necessary |
|
|
|
|
- save_cache: |
|
|
|
|
paths: |
|
|
|
|
- node_modules |
|
|
|
@ -35,6 +38,7 @@ jobs: |
|
|
|
|
- checkout |
|
|
|
|
- restore_cache: |
|
|
|
|
<<: *cache_key_node_modules |
|
|
|
|
- *npm_install_if_necessary |
|
|
|
|
- run: |
|
|
|
|
name: Linter |
|
|
|
|
command: npm run lint |
|
|
|
@ -44,6 +48,7 @@ jobs: |
|
|
|
|
- checkout |
|
|
|
|
- restore_cache: |
|
|
|
|
<<: *cache_key_node_modules |
|
|
|
|
- *npm_install_if_necessary |
|
|
|
|
- run: |
|
|
|
|
name: Unit tests |
|
|
|
|
command: npm run test |
|
|
|
@ -54,6 +59,7 @@ jobs: |
|
|
|
|
- checkout |
|
|
|
|
- restore_cache: |
|
|
|
|
<<: *cache_key_node_modules |
|
|
|
|
- *npm_install_if_necessary |
|
|
|
|
- run: |
|
|
|
|
name: Unit tests with coverage report |
|
|
|
|
command: npm run test |
|
|
|
|