aboutsummaryrefslogtreecommitdiff
path: root/bin/vsce_publish_package_when_outdated
diff options
context:
space:
mode:
Diffstat (limited to 'bin/vsce_publish_package_when_outdated')
-rwxr-xr-xbin/vsce_publish_package_when_outdated22
1 files changed, 22 insertions, 0 deletions
diff --git a/bin/vsce_publish_package_when_outdated b/bin/vsce_publish_package_when_outdated
new file mode 100755
index 0000000..4d428c9
--- /dev/null
+++ b/bin/vsce_publish_package_when_outdated
@@ -0,0 +1,22 @@
+#!/usr/bin/env sh
+set -e
+
+PACKAGE_LOCAL_VERSION=$(node --print "require('./package.json').version")
+PUBLISHER=$(node --print "require('./package.json').publisher")
+PACKAGE_NAME=$(node --print "require('./package.json').name")
+
+PACKAGE_LAST_PUBLISHED_VERSION=$(vsce_package_last_published_version "${PUBLISHER}" "${PACKAGE_NAME}")
+
+echo "${PUBLISHER}.${PACKAGE_NAME}"
+echo "Package local version: ${PACKAGE_LOCAL_VERSION}"
+echo "Package last published version: ${PACKAGE_LAST_PUBLISHED_VERSION}"
+
+if [ "${PACKAGE_LAST_PUBLISHED_VERSION}" != "${PACKAGE_LOCAL_VERSION}" ]; then
+ echo "Package is outdated"
+ echo "Package contains"
+ npx vsce ls
+ echo "Publishing..."
+ npx vsce publish
+else
+ echo "Package is up-to-date"
+fi