vault/ui/scripts/update-vault-reporting-addon.sh
Vault Automation 12e793039a
[UI] - migrate to pnpm for JS package management (#11651) (#11661)
* move from yarn to pnpm for package management

* remove lodash.template patch override

* remove .yarn folder

* update GHA to use pnpm

* add @babel/plugin-proposal-decorators

* remove .yarnrc.yml

* add lock file to copywrite ignore

* add @codemirror/view as a dep for its types

* use more strict setting about peerDeps

* address some peerDep issues with ember-power-select and ember-basic-dropdown

* enable TS compilation for the kubernetes engine

* enable TS compilation in kv engine

* ignore workspace file

* use new headless mode in CI

* update enos CI scenarios

* add qs and express resolutions

* run 'pnpm up glob' and 'pnpm up js-yaml' to upgrade those packages

* run 'pnpm up preact' because posthog-js had a vulnerable install. see https://github.com/advisories/GHSA-36hm-qxxp-pg3

* add work around for browser timeout errors in test

* update other references of yarn to pnpm

Co-authored-by: Matthew Irish <39469+meirish@users.noreply.github.com>
2026-01-09 11:45:14 -06:00

51 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copyright IBM Corp. 2016, 2025
# SPDX-License-Identifier: BUSL-1.1
ARTIFACTORY_NPM_URL="https://artifactory.hashicorp.engineering/artifactory/npm/"
# Show error if doormat CLI or jq doesn't exist
if ! command -v doormat &> /dev/null; then
echo "Error: doormat CLI is not installed."
exit 1
fi
if ! command -v jq &> /dev/null; then
echo "Error: jq is not installed."
exit 1
fi
doormat login
# Get artifactory token from doormat
AF_TOKEN=$(doormat artifactory create-token | jq -r .access_token)
# Get package info from artifactory API
PACKAGE_INFO=$(curl -s -L -H "Authorization: Bearer $AF_TOKEN" "https://artifactory.hashicorp.engineering/artifactory/api/npm/npm/@hashicorp-internal/vault-reporting")
# Extract the latest version and tarball URL
LATEST_VERSION=$(echo "$PACKAGE_INFO" | jq -r '."dist-tags".latest')
TARBALL_URL=$(echo "$PACKAGE_INFO" | jq -r --arg version "$LATEST_VERSION" '.versions[$version].dist.tarball')
echo "LATEST_VERSION: $LATEST_VERSION"
echo "TARBALL_URL: $TARBALL_URL"
# Download the tarball
echo "Downloading vault-reporting v$LATEST_VERSION..."
curl -L -H "Authorization: Bearer $AF_TOKEN" -o "vault-reporting/$LATEST_VERSION.tgz" "$TARBALL_URL"
if [ $? -eq 0 ]; then
echo "✅ Successfully downloaded vault-reporting-$LATEST_VERSION.tgz"
echo "📦 File size: $(ls -lh vault-reporting-$LATEST_VERSION.tgz | awk '{print $5}')"
else
echo "❌ Failed to download tarball"
exit 1
fi
# Delete all but the latest version
find vault-reporting -name "*.tgz" ! -name "$LATEST_VERSION.tgz" -delete
# Update package.json to point to file:vault-reporting/$LATEST_VERSION.tgz
FILENAME="$LATEST_VERSION.tgz"
jq --arg version "$LATEST_VERSION" --arg filename "$FILENAME" '.dependencies["@hashicorp-internal/vault-reporting"] = "file:vault-reporting/" + $filename' package.json > tmp.json && mv tmp.json package.json
# Install dependencies
pnpm install