react-router-pagination
Version:
A React Router Pagination component
59 lines (47 loc) • 1.61 kB
YAML
version: 2.1
jobs:
publish:
docker:
- image: circleci/node:lts
steps:
- checkout
- run:
name: Publish to NPM
command: |
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
PATTERN="([0-9]+)\.([0-9]+)\.([0-9]+)"
NAME=$(node -p "require('./package').name")
VERSION=$(node -p "require('./package').version")
PUBLISHED_VERSION=$(npm view $NAME version)
echo Version is $VERSION
echo Published version is $PUBLISHED_VERSION
[[ $VERSION =~ $PATTERN ]]
VERSION_MAJOR="${BASH_REMATCH[1]}"
VERSION_MINOR="${BASH_REMATCH[2]}"
VERSION_PATCH="${BASH_REMATCH[3]}"
[[ $PUBLISHED_VERSION =~ $PATTERN ]]
PUBLISHED_VERSION_MAJOR="${BASH_REMATCH[1]}"
PUBLISHED_VERSION_MINOR="${BASH_REMATCH[2]}"
PUBLISHED_VERSION_PATCH="${BASH_REMATCH[3]}"
if [ $VERSION_MAJOR -gt $PUBLISHED_VERSION_MAJOR ] || [ $VERSION_MINOR -gt $PUBLISHED_VERSION_MINOR ] || [ $VERSION_PATCH -gt $PUBLISHED_VERSION_PATCH ]
then
set +e
npm ci
npm publish
if [[ $? != 0 ]];
then
echo Version $VERSION was not published
else
echo Published version $VERSION
fi
fi
workflows:
version: 2
commit-workflow:
jobs:
- publish:
filters:
branches:
only: master
tags:
only: /^v.*/