node package manager


ci-npm-update CircleCI

This command keeps npm dependencies up-to-date by making pull-requests from CI.

For example:

This is inspired by circleci-bundle-update-pr.


npm install --save-dev ci-npm-update



This command is designed to be executed by CI nightly builds.

Set GITHUB_ACCESS_TOKEN environment to make a pull-requesto to github repositories, and set SSH keys to push to the repos from CI.

If the CI environment has no git configuration, also set GIT_USER_NAME and GIT_USER_EMAIL to commit patches in CI.

export GIT_USER_NAME=gfx


By default, ci-npm-update runs in dry-run mode. Set --execute to make pull-requests.

ci-npm-update --execute

Local Tests

If you only run it in dry-run mode, no configuration is required:

# run in dry-run mode:

If you want to make pull-requests in your local machine, use GITHUB_ACCESS_TOKEN:

# envchain is recommended
envchain --set github GITHUB_ACCESS_TOKEN
# run:
envchain github ci-npm-update --execute



npm run setup

Easy test command in dry-run mode:

npm run build && envchain github node bin/ci-npm-update

Heroku Scheduler

If you want to setup heroku schedulers, there's a template for it:


To test it, run the following command:

heroku run './build-circleci'


Copyright (c) 2016 Bit Journey, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.