Skip to content

Commit

Permalink
Switch from npm to yarn for package management
Browse files Browse the repository at this point in the history
Yarn provides much faster package installation, better resilience to npm
registry connection issues and most importantly for us, a much better
lockfile format.

This commit:

1. Replaces the npm shrinkwrap with the yarn lockfile using the
   following steps:

   1. Checkout latest version of master

   2. Remove node_modules folder and re-run `npm install`

   3. Run `yarn import` to generate a lockfile

2. Modifies the Makefile, Jenkinsfile, package.json and .travis.yml
   scripts to run `yarn` instead of `npm`.
  • Loading branch information
robertknight committed Apr 21, 2017
1 parent 99e385b commit ede9e6a
Show file tree
Hide file tree
Showing 6 changed files with 6,014 additions and 7,571 deletions.
8 changes: 3 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
language: node_js
cache:
directories:
- node_modules
cache: yarn
notifications:
slack:
rooms:
Expand All @@ -12,8 +10,8 @@ matrix:
# See https://github.com/hypothesis/client/pull/27#discussion_r70611726
- env: ACTION=lint
node_js: '6.2'
script: npm run lint
script: yarn run lint
- env: ACTION=test
node_js: '6.2'
after_success:
npm run report-coverage
yarn run report-coverage
4 changes: 2 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
node {
checkout scm

nodeEnv = docker.image("node:6.2")
nodeEnv = docker.image("kkarczmarczyk/node-yarn:7.5")
workspace = pwd()

stage 'Build'
Expand All @@ -24,7 +24,7 @@ node {
[$class: 'StringBinding', credentialsId: 'npm-token', variable: 'NPM_TOKEN']]) {

sh "echo '//registry.npmjs.org/:_authToken=${env.NPM_TOKEN}' >> \$HOME/.npmrc"
sh "npm publish"
sh "yarn publish"
}
}

Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ clean:
## Run test suite
.PHONY: test
test: node_modules/.uptodate
npm test
yarn test

.PHONY: lint
lint: node_modules/.uptodate
npm run lint
yarn run lint

.PHONY: docs
docs:
Expand All @@ -26,8 +26,8 @@ docs:
################################################################################

build/manifest.json: node_modules/.uptodate
npm run-script build
yarn run build

node_modules/.uptodate: package.json npm-shrinkwrap.json
npm run-script deps 2>/dev/null || npm install
node_modules/.uptodate: package.json yarn.lock
yarn run deps 2>/dev/null || yarn install
@touch $@

0 comments on commit ede9e6a

Please sign in to comment.