# JavaScript Node CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-javascript/ for more details # version: 2 commands: create_concatenated_package_lock: description: "Concatenate all package-lock.json files recognized by lerna.js into single file. File is used as checksum source for part of caching key." parameters: filename: type: string steps: - run: name: Combine package-lock.json files to single file command: npx lerna list -p -a | awk -F packages '{printf "\"packages%s/package-lock.json\" ", $2}' | xargs cat > << parameters.filename >> jobs: build: docker: # specify the version you desire here - image: circleci/node:7.10 # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ # - image: circleci/mongo:3.4.4 working_directory: ~/node-go steps: - checkout # Download and cache dependencies - restore_cache: keys: - v1-dependencies-{{ checksum "package-lock.json" }} # fallback to using the latest cache if no exact match is found - run: npm install - save_cache: paths: - node_modules key: v1-dependencies-{{ checksum "package-lock.json" }} # run tests! - run: npm run lerna run test