Private NPM deployment with npm-reggie
For private NPMs, instead of paying Gemfury $9/month, just setup your own server with npm-reggie
URL ?= http://fake.com
NAME_CMD := cat package.json | grep -m 1 -o '"name":\s*"\([^"]\)*"' | sed 's/"name":[^"]*"\(.*\)"$$/\1/'
VERSION_CMD := cat package.json | grep -m 1 -o '"version":\s*"\([^"]\)*"' | sed 's/"version":[^"]*"\(.*\)"$$/\1/'
publish delete clean : PACKAGE_NAME:=$(shell ${NAME_CMD})
publish delete : PACKAGE_VERSION:=$(shell ${VERSION_CMD})
clean:
rm -rf ./node_modules
rm -rf ./${PACKAGE_NAME}*.tgz
rm -rf *.log
rm -rf .DS_STORE
pack: clean
npm pack
publish: clean delete
reggie -u ${URL}/ publish
delete:
# npm --registry=${URL}/ unpublish ${PACKAGE_NAME}@${PACKAGE_VERSION} # Not supported yet...
curl -X DELETE ${URL}/package/${PACKAGE_NAME}/${PACKAGE_VERSION}
.PHONY: clean pack delete publish
Simply type in make publish
when you want to publish your package.
Written by Daniel Durante
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Npm
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#