BIN = ./node_modules/.bin .PHONY: test clean test: @npm test define release VERSION=`node -pe "require('./package.json').version"` && \ NEXT_VERSION=`node -pe "require('semver').inc(\"$$VERSION\", '$(1)')"` && \ node -e "\ var j = require('./package.json');\ j.version = \"$$NEXT_VERSION\";\ var s = JSON.stringify(j, null, 2);\ require('fs').writeFileSync('./package.json', s);" && \ git commit -am "Release v$$NEXT_VERSION" && \ git tag "v$$NEXT_VERSION" -m "Version $$NEXT_VERSION" endef release-patch: test @$(call release,patch) release-minor: test @$(call release,minor) release-major: test @$(call release,major) publish: git push git push --tags origin HEAD:master npm publish