40 lines · 1.3 KB · Text
RawDownload
#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." || exit 1cd crates/json_schema_store/src/schemas if [[ $# -gt 1 ]]; then    echo "Usage: script/update-json-schemas [schemastore-commit]" >&2    exit 1fi UPSTREAM_REF="${1:-master}" COMMIT="$(curl -sL "https://api.github.com/repos/SchemaStore/schemastore/commits/$UPSTREAM_REF")"HASH="$(jq -r '.sha' <<< "$COMMIT")"if [[ -z "$HASH" || "$HASH" == "null" ]]; then    echo "Failed to resolve SchemaStore/schemastore commit: $UPSTREAM_REF" >&2    exit 1fi files=(    "tsconfig.json"    "package.json")for file in "${files[@]}"; do    curl -sL "https://raw.githubusercontent.com/SchemaStore/schemastore/$HASH/src/schemas/json/$file" |        sed 's|https://json\.schemastore\.org|https://www.schemastore.org|g' > "$file"done SHORT_HASH="${HASH:0:7}"DATE="$(jq -r .commit.author.date <<< "$COMMIT" | cut -c1-10)"echoecho "Updated JSON schemas to [SchemaStore/schemastore@$SHORT_HASH](https://github.com/SchemaStore/schemastore/tree/$HASH) ($DATE)"echofor file in "${files[@]}"; do    echo "- [$file](https://github.com/SchemaStore/schemastore/commits/master/src/schemas/json/$file)" \        "@ [$SHORT_HASH](https://raw.githubusercontent.com/SchemaStore/schemastore/$HASH/src/schemas/json/$file)"doneecho