-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Bump js-yaml from 3.13.1 to 4.1.1 in /script/sync-ghes #3109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump js-yaml from 3.13.1 to 4.1.1 in /script/sync-ghes #3109
Conversation
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.13.1 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.13.1...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
mameenk24
commented
Dec 18, 2025
This workflow uses actions that are not certified by GitHub.
They are provided by a third-party and are governed by
separate terms of service, privacy policy, and support
documentation.
@ev-max2024
ev-max2024
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good
@diogojoaquim
diogojoaquim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gulampk
commented
Dec 19, 2025
+966559603906 open Whatsapp account automatically thanks
alisyapm110-gif
commented
Dec 30, 2025
#!/usr/bin/env bash
destroy_github_all.sh
- Dry-run by default: daftar semua resource yang akan dihapus.
- Untuk benar-benar menjalankan penghapusan, atur EXECUTE="YES_I_UNDERSTAND_DELETE_PERMANENTLY"
- Requires: curl, jq
Usage (dry-run):
GITHUB_TOKEN="ghp_xxx" ./destroy_github_all.sh
To perform destructive actions:
GITHUB_TOKEN="ghp_xxx" EXECUTE="YES_I_UNDERSTAND_DELETE_PERMANENTLY" ./destroy_github_all.sh
set -euo pipefail
Safety checks
if ! command -v curl >/dev/null 2>&1; then
echo "Error: curl diperlukan. Install curl dan ulangi." >&2
exit 2
fi
if ! command -v jq >/dev/null 2>&1; then
echo "Error: jq diperlukan. Install jq dan ulangi." >&2
exit 2
fi
: "${GITHUB_TOKEN:?GITHUB_TOKEN environment variable must be set (PAT with appropriate scopes)}"
API="https://api.github.com"
AUTH_HEADER="Authorization: token ${GITHUB_TOKEN}"
PER_PAGE=100
Execution guard: must set EXECUTE env to the exact phrase to actually delete.
EXECUTE="${EXECUTE:-}"
EXECUTE_PHRASE="YES_I_UNDERSTAND_DELETE_PERMANENTLY"
is_execute_run() {
[ "$EXECUTE" = "$EXECUTE_PHRASE" ]
}
echo "===== GitHub Mass-Delete Script (dry-run by default) ====="
echo "This script will operate on resources your token has permission to modify."
echo "If you REALLY want to proceed with permanent deletion, set:"
echo " EXECUTE="$EXECUTE_PHRASE""
echo
Helper: paginated GET
paged_get() {
local url="1ドル"
local page=1
while :; do
resp=$(curl -sS -H "$AUTH_HEADER" "$url&per_page=$PER_PAGE&page=$page")
if [ "$(echo "$resp" | jq 'length')" -eq 0 ]; then
break
fi
echo "$resp"
page=$((page+1))
done
}
1) List user info (for safety)
user_login=$(curl -sS -H "$AUTH_HEADER" "$API/user" | jq -r .login)
if [ "$user_login" = "null" ] || [ -z "$user_login" ]; then
echo "Gagal mengambil informasi user. Periksa token." >&2
exit 3
fi
echo "Authenticated as: $user_login"
echo
Confirm interactive prompt before any destructive run (extra guard)
if is_execute_run; then
echo "EXECUTION MODE: WILL PERFORM DELETES (permanent)."
echo "FINAL CHECK: Ketik nama akun Anda EXACTLY untuk melanjutkan: $user_login"
read -r confirmname
if [ "$confirmname" != "$user_login" ]; then
echo "Nama tidak cocok. Dibatalkan."
exit 1
fi
else
echo "DRY-RUN mode: tidak akan melakukan penghapusan. Untuk mengaktifkan penghapusan, set EXECUTE to $EXECUTE_PHRASE"
echo
fi
FUNCTIONS TO COLLECT AND (optionally) DELETE
Delete repositories owned by the authenticated user
handle_repos() {
echo "=== Checking repositories owned by $user_login ==="
repos_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/repos?type=owner&per_page=$PER_PAGE")
repos=$(echo "$repos_json" | jq -r '.[].full_name')
if [ -z "$repos" ]; then
echo "(no owner repos found)"
return
fi
echo "Repositories found (owner):"
echo "$repos" | sed 's/^/ - /'
echo
if is_execute_run; then
for r in $repos; do
echo "Deleting repository: $r"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/repos/$r")
if [ "$resp_code" -eq 204 ]; then
echo " OK: $r deleted"
else
echo " WARNING: Failed to delete $r, HTTP $resp_code"
fi
done
fi
}
Delete gists
handle_gists() {
echo "=== Checking Gists ==="
gists_json=$(curl -sS -H "$AUTH_HEADER" "$API/gists?per_page=$PER_PAGE")
gist_ids=$(echo "$gists_json" | jq -r '.[].id')
if [ -z "$gist_ids" ]; then
echo "(no gists found)"
return
fi
echo "Gists found:"
echo "$gist_ids" | sed 's/^/ - /'
echo
if is_execute_run; then
for gid in $gist_ids; do
echo "Deleting gist $gid"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/gists/$gid")
if [ "$resp_code" -eq 204 ]; then
echo " OK: gist $gid deleted"
else
echo " WARNING: Failed to delete gist $gid, HTTP $resp_code"
fi
done
fi
}
Delete public SSH keys for authenticated user
handle_user_keys() {
echo "=== Checking SSH public keys for user ==="
keys_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/keys")
key_ids=$(echo "$keys_json" | jq -r '.[].id')
if [ -z "$key_ids" ]; then
echo "(no user SSH keys found)"
return
fi
echo "User SSH key IDs:"
echo "$key_ids" | sed 's/^/ - /'
echo
if is_execute_run; then
for kid in $key_ids; do
echo "Deleting SSH key id=$kid"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/user/keys/$kid")
if [ "$resp_code" -eq 204 ]; then
echo " OK: key $kid deleted"
else
echo " WARNING: Failed to delete key $kid, HTTP $resp_code"
fi
done
fi
}
For each repo: delete deploy keys, webhooks, secrets, releases, artifacts
handle_repo_level() {
echo "=== Scanning each owner repo for deploy-keys, webhooks, secrets and releases ==="
repos_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/repos?type=owner&per_page=$PER_PAGE")
repos=$(echo "$repos_json" | jq -r '.[].full_name')
if [ -z "$repos" ]; then
echo "(no owner repos found)"
return
fi
for r in $repos; do
owner=$(echo "$r" | cut -d'/' -f1)
repo=$(echo "$r" | cut -d'/' -f2)
echo "-> Repo: $r"
# Deploy keys
dk_json=$(curl -sS -H "$AUTH_HEADER" "$API/repos/$owner/$repo/keys")
dk_ids=$(echo "$dk_json" | jq -r '.[].id')
if [ -n "$dk_ids" ]; then
echo " Deploy keys:"
echo "$dk_ids" | sed 's/^/ - /'
if is_execute_run; then
for id in $dk_ids; do
echo " Deleting deploy key $id"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/repos/$owner/$repo/keys/$id")
[ "$resp_code" -eq 204 ] && echo " OK" || echo " WARN HTTP $resp_code"
done
fi
fi
# Webhooks (hooks)
hooks_json=$(curl -sS -H "$AUTH_HEADER" "$API/repos/$owner/$repo/hooks")
hook_ids=$(echo "$hooks_json" | jq -r '.[].id')
if [ -n "$hook_ids" ]; then
echo " Webhooks:"
echo "$hook_ids" | sed 's/^/ - /'
if is_execute_run; then
for hid in $hook_ids; do
echo " Deleting hook $hid"
resp_code=$(curl -s -o /dev
1 similar comment
alisyapm110-gif
commented
Dec 30, 2025
#!/usr/bin/env bash
destroy_github_all.sh
- Dry-run by default: daftar semua resource yang akan dihapus.
- Untuk benar-benar menjalankan penghapusan, atur EXECUTE="YES_I_UNDERSTAND_DELETE_PERMANENTLY"
- Requires: curl, jq
Usage (dry-run):
GITHUB_TOKEN="ghp_xxx" ./destroy_github_all.sh
To perform destructive actions:
GITHUB_TOKEN="ghp_xxx" EXECUTE="YES_I_UNDERSTAND_DELETE_PERMANENTLY" ./destroy_github_all.sh
set -euo pipefail
Safety checks
if ! command -v curl >/dev/null 2>&1; then
echo "Error: curl diperlukan. Install curl dan ulangi." >&2
exit 2
fi
if ! command -v jq >/dev/null 2>&1; then
echo "Error: jq diperlukan. Install jq dan ulangi." >&2
exit 2
fi
: "${GITHUB_TOKEN:?GITHUB_TOKEN environment variable must be set (PAT with appropriate scopes)}"
API="https://api.github.com"
AUTH_HEADER="Authorization: token ${GITHUB_TOKEN}"
PER_PAGE=100
Execution guard: must set EXECUTE env to the exact phrase to actually delete.
EXECUTE="${EXECUTE:-}"
EXECUTE_PHRASE="YES_I_UNDERSTAND_DELETE_PERMANENTLY"
is_execute_run() {
[ "$EXECUTE" = "$EXECUTE_PHRASE" ]
}
echo "===== GitHub Mass-Delete Script (dry-run by default) ====="
echo "This script will operate on resources your token has permission to modify."
echo "If you REALLY want to proceed with permanent deletion, set:"
echo " EXECUTE="$EXECUTE_PHRASE""
echo
Helper: paginated GET
paged_get() {
local url="1ドル"
local page=1
while :; do
resp=$(curl -sS -H "$AUTH_HEADER" "$url&per_page=$PER_PAGE&page=$page")
if [ "$(echo "$resp" | jq 'length')" -eq 0 ]; then
break
fi
echo "$resp"
page=$((page+1))
done
}
1) List user info (for safety)
user_login=$(curl -sS -H "$AUTH_HEADER" "$API/user" | jq -r .login)
if [ "$user_login" = "null" ] || [ -z "$user_login" ]; then
echo "Gagal mengambil informasi user. Periksa token." >&2
exit 3
fi
echo "Authenticated as: $user_login"
echo
Confirm interactive prompt before any destructive run (extra guard)
if is_execute_run; then
echo "EXECUTION MODE: WILL PERFORM DELETES (permanent)."
echo "FINAL CHECK: Ketik nama akun Anda EXACTLY untuk melanjutkan: $user_login"
read -r confirmname
if [ "$confirmname" != "$user_login" ]; then
echo "Nama tidak cocok. Dibatalkan."
exit 1
fi
else
echo "DRY-RUN mode: tidak akan melakukan penghapusan. Untuk mengaktifkan penghapusan, set EXECUTE to $EXECUTE_PHRASE"
echo
fi
FUNCTIONS TO COLLECT AND (optionally) DELETE
Delete repositories owned by the authenticated user
handle_repos() {
echo "=== Checking repositories owned by $user_login ==="
repos_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/repos?type=owner&per_page=$PER_PAGE")
repos=$(echo "$repos_json" | jq -r '.[].full_name')
if [ -z "$repos" ]; then
echo "(no owner repos found)"
return
fi
echo "Repositories found (owner):"
echo "$repos" | sed 's/^/ - /'
echo
if is_execute_run; then
for r in $repos; do
echo "Deleting repository: $r"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/repos/$r")
if [ "$resp_code" -eq 204 ]; then
echo " OK: $r deleted"
else
echo " WARNING: Failed to delete $r, HTTP $resp_code"
fi
done
fi
}
Delete gists
handle_gists() {
echo "=== Checking Gists ==="
gists_json=$(curl -sS -H "$AUTH_HEADER" "$API/gists?per_page=$PER_PAGE")
gist_ids=$(echo "$gists_json" | jq -r '.[].id')
if [ -z "$gist_ids" ]; then
echo "(no gists found)"
return
fi
echo "Gists found:"
echo "$gist_ids" | sed 's/^/ - /'
echo
if is_execute_run; then
for gid in $gist_ids; do
echo "Deleting gist $gid"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/gists/$gid")
if [ "$resp_code" -eq 204 ]; then
echo " OK: gist $gid deleted"
else
echo " WARNING: Failed to delete gist $gid, HTTP $resp_code"
fi
done
fi
}
Delete public SSH keys for authenticated user
handle_user_keys() {
echo "=== Checking SSH public keys for user ==="
keys_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/keys")
key_ids=$(echo "$keys_json" | jq -r '.[].id')
if [ -z "$key_ids" ]; then
echo "(no user SSH keys found)"
return
fi
echo "User SSH key IDs:"
echo "$key_ids" | sed 's/^/ - /'
echo
if is_execute_run; then
for kid in $key_ids; do
echo "Deleting SSH key id=$kid"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/user/keys/$kid")
if [ "$resp_code" -eq 204 ]; then
echo " OK: key $kid deleted"
else
echo " WARNING: Failed to delete key $kid, HTTP $resp_code"
fi
done
fi
}
For each repo: delete deploy keys, webhooks, secrets, releases, artifacts
handle_repo_level() {
echo "=== Scanning each owner repo for deploy-keys, webhooks, secrets and releases ==="
repos_json=$(curl -sS -H "$AUTH_HEADER" "$API/user/repos?type=owner&per_page=$PER_PAGE")
repos=$(echo "$repos_json" | jq -r '.[].full_name')
if [ -z "$repos" ]; then
echo "(no owner repos found)"
return
fi
for r in $repos; do
owner=$(echo "$r" | cut -d'/' -f1)
repo=$(echo "$r" | cut -d'/' -f2)
echo "-> Repo: $r"
# Deploy keys
dk_json=$(curl -sS -H "$AUTH_HEADER" "$API/repos/$owner/$repo/keys")
dk_ids=$(echo "$dk_json" | jq -r '.[].id')
if [ -n "$dk_ids" ]; then
echo " Deploy keys:"
echo "$dk_ids" | sed 's/^/ - /'
if is_execute_run; then
for id in $dk_ids; do
echo " Deleting deploy key $id"
resp_code=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -H "$AUTH_HEADER" "$API/repos/$owner/$repo/keys/$id")
[ "$resp_code" -eq 204 ] && echo " OK" || echo " WARN HTTP $resp_code"
done
fi
fi
# Webhooks (hooks)
hooks_json=$(curl -sS -H "$AUTH_HEADER" "$API/repos/$owner/$repo/hooks")
hook_ids=$(echo "$hooks_json" | jq -r '.[].id')
if [ -n "$hook_ids" ]; then
echo " Webhooks:"
echo "$hook_ids" | sed 's/^/ - /'
if is_execute_run; then
for hid in $hook_ids; do
echo " Deleting hook $hid"
resp_code=$(curl -s -o /dev
Bumps js-yaml from 3.13.1 to 4.1.1.
Changelog
Sourced from js-yaml's changelog.
... (truncated)
Commits
cc482e74.1.1 released50968b8dist rebuildd092d86lint fix383665ffix prototype pollution in merge (<<)0d3ca7aREADME.md: HTTP => HTTPS (#678)49baadddoc: 'empty' style option for !!nullba3460eFix demo link (#618)2cef47b4.1.0 released810b149dist rebuild2b5620eExport built-in types, type override now preserves orderDependabot compatibility score
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.