diff --git a/.prettierignore b/.prettierignore index 7db14f85c..6d25ff241 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ package.json package-lock.json +CHANGELOG.md /coverage dist/ diff --git a/.releaserc.json b/.releaserc.json index 98c0f2d5a..87145d358 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -1,14 +1,18 @@ { "pkgRoot": "dist/cashmere", + "verifyConditions": ["@semantic-release/changelog", "@semantic-release/npm", "@semantic-release/git", "@semantic-release/github"], "prepare": [ { "path": "@semantic-release/changelog", "changelogFile": "CHANGELOG.md" }, "@semantic-release/npm", + { + "path": "@semantic-release/exec", + "cmd": "./scripts/replace-package-version.sh ${nextRelease.version}" + }, "@semantic-release/git" ], - "verifyConditions": ["@semantic-release/changelog", "@semantic-release/npm", "@semantic-release/git", "@semantic-release/github"], "publish": [ { "path": "@semantic-release/npm", diff --git a/package-lock.json b/package-lock.json index 6a788f890..e6240185d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1947,6 +1947,74 @@ "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", "dev": true }, + "@semantic-release/exec": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@semantic-release/exec/-/exec-2.2.4.tgz", + "integrity": "sha512-saQa10P3iccHsCm4QDXfkT7TxlHf23f2cr/HmtFmtzwkDfr0c3sXAzhXaU1wrYoCfLm6R1oZZRiYQVA3n5rKkQ==", + "dev": true, + "requires": { + "@semantic-release/error": "^2.1.0", + "debug": "^3.1.0", + "execa": "^0.10.0", + "lodash": "^4.17.4", + "parse-json": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } + } + }, "@semantic-release/git": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-5.0.0.tgz", diff --git a/package.json b/package.json index 9b8ca4690..8a232a0b3 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "Cashmere documentation website", "publishConfig": { "registry": "https://registry.npmjs.org/", - "tag": "alpha" + "tag": "beta" }, "repository": { "type": "git", @@ -23,7 +23,6 @@ "postbuild:lib": "node scripts/postbuild.js", "build:user": "ng build user-guide --prod", "build": "npm run build:lib && npm run build:user", - "postpublish": "./scripts/replace-package-version.sh", "precommit": "lint-staged", "commitmsg": "commitlint -e $GIT_PARAMS", "cm": "git-cz", @@ -72,6 +71,7 @@ "@commitlint/config-conventional": "^6.1.3", "@commitlint/travis-cli": "^6.2.0", "@semantic-release/changelog": "^2.0.2", + "@semantic-release/exec": "^2.2.4", "@semantic-release/git": "^5.0.0", "@types/d3": "^5.0.0", "@types/jasmine": "~2.8.6", diff --git a/projects/cashmere/package.json b/projects/cashmere/package.json index 166dde67e..f9620d745 100644 --- a/projects/cashmere/package.json +++ b/projects/cashmere/package.json @@ -3,6 +3,10 @@ "version": "0.0.0-development", "license": "Apache-2.0", "description": "Reusable Health Catalyst Components", + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "tag": "beta" + }, "repository": { "type": "Git", "url": "https://github.com/HealthCatalyst/Fabric.Cashmere" diff --git a/scripts/replace-package-version.sh b/scripts/replace-package-version.sh index 2e494614d..dfd9f5504 100755 --- a/scripts/replace-package-version.sh +++ b/scripts/replace-package-version.sh @@ -1,14 +1,15 @@ #!/usr/bin/env bash +if [ -z "$1" ]; then + echo "Must pass package version as first argument" + exit 1 +fi + # Grab package version set by semantic release -PACKAGE_VERSION=$(cat dist/cashmere/package.json \ - | grep version \ - | head -1 \ - | awk -F: '{ print $2 }' \ - | sed 's/[",]//g') +PACKAGE_VERSION=$1 # Replace package.json version with generated version sed -i "" -E "s/(\"version\":[[:space:]]*\").+(\")/\1${PACKAGE_VERSION}\2/g" package.json # Update package-lock.json version also -npm install --package-lock-only +sed -i "" -E "s/(\"version\":[[:space:]]*\").+(\")/\1${PACKAGE_VERSION}\2/g" package-lock.json