Um pequeno script útil que fiz, imaginei que outra pessoa poderia precisar. Basicamente, procura os atributos de nome e versão em package.json e, em seguida, constrói seu pacote a partir daí. Eu adicionei fury yank
uma vez que frequentemente desenvolvo apenas com a mesma versão de 0.0.1
todos os tempos.
Makefile
KEY ?= <YOUR KEY HERE>
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/'
build clean : PACKAGE_NAME:=$(shell ${NAME_CMD})
build : PACKAGE_VERSION:=$(shell ${VERSION_CMD})
clean:
rm -rf ./node_modules
rm -rf ./${PACKAGE_NAME}*.tgz
pack: clean
npm pack
build: pack
fury yank ${PACKAGE_NAME} --version=${PACKAGE_VERSION}
curl -F package=@${PACKAGE_NAME}-${PACKAGE_VERSION}.tgz https://push.fury.io/${KEY}/
.PHONY: clean pack build
Basta digitar make build
para implantar.
Nota: Tirei um monte de ‘@’ símbolos que prepends alguns dos comandos (como npm
, rm
, etc.) desde Coderwall foi englobamento-lo e transformá-lo em um literal <a href="">
link. Se você quiser silenciar a saída simplesmente digitemake -s build