File tree Expand file tree Collapse file tree
apps/moose-cli-npm/scripts Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,12 +40,28 @@ cp "../../target/${build_target}/release/${current_bin}" "../../target/${build_t
4040cp " ../../target/${build_target} /release/${current_bin} " " ${node_pkg} /bin"
4141# publish the package
4242cd " ${node_pkg} "
43+ package_name=$( node -p " require('./package.json').name" )
44+ package_version=$( node -p " require('./package.json').version" )
4345# For CI builds (TAG_LATEST=false), publish with version-specific tag
4446# For release builds (TAG_LATEST=true), publish and update the 'latest' tag
4547if [ " ${TAG_LATEST} " = " true" ]; then
4648 # Release build - publish and update 'latest' tag
49+ if npm view " ${package_name} @${package_version} " version > /dev/null 2>&1 ; then
50+ current_latest=$( npm view " ${package_name} " dist-tags.latest 2> /dev/null || true)
51+ if [ " ${current_latest} " = " ${package_version} " ]; then
52+ echo " ${package_name} @${package_version} is already published and latest already points to it"
53+ exit 0
54+ fi
55+
56+ echo " ${package_name} @${package_version} is already published, but latest points to ${current_latest} "
57+ exit 1
58+ fi
4759 npm publish --access public
4860else
4961 # CI build - publish with dev tag (doesn't update 'latest')
62+ if npm view " ${package_name} @${package_version} " version > /dev/null 2>&1 ; then
63+ echo " ${package_name} @${package_version} is already published; skipping publish"
64+ exit 0
65+ fi
5066 npm publish --access public --tag dev
51- fi
67+ fi
Original file line number Diff line number Diff line change @@ -26,12 +26,28 @@ pnpm install --filter "@514labs/moose-cli" --no-frozen-lockfile # requires optio
2626pnpm build --filter @514labs/moose-cli
2727
2828cd apps/moose-cli-npm
29+ package_name=$( node -p " require('./package.json').name" )
30+ package_version=$( node -p " require('./package.json').version" )
2931# For CI builds (TAG_LATEST=false), publish with version-specific tag
3032# For release builds (TAG_LATEST=true), publish and update the 'latest' tag
3133if [ " ${TAG_LATEST} " = " true" ]; then
3234 # Release build - publish and update 'latest' tag
35+ if npm view " ${package_name} @${package_version} " version > /dev/null 2>&1 ; then
36+ current_latest=$( npm view " ${package_name} " dist-tags.latest 2> /dev/null || true)
37+ if [ " ${current_latest} " = " ${package_version} " ]; then
38+ echo " ${package_name} @${package_version} is already published and latest already points to it"
39+ exit 0
40+ fi
41+
42+ echo " ${package_name} @${package_version} is already published, but latest points to ${current_latest} "
43+ exit 1
44+ fi
3345 pnpm publish --access public --no-git-checks
3446else
3547 # CI build - publish with dev tag (doesn't update 'latest')
48+ if npm view " ${package_name} @${package_version} " version > /dev/null 2>&1 ; then
49+ echo " ${package_name} @${package_version} is already published; skipping publish"
50+ exit 0
51+ fi
3652 pnpm publish --access public --no-git-checks --tag dev
37- fi
53+ fi
You can’t perform that action at this time.
0 commit comments