| | #!/bin/bash |
| |
|
| | |
| | dir=${1:-.} |
| |
|
| | |
| | today=$(date +%s) |
| | three_days_ago=$(date -d "3 days ago" +%s) |
| |
|
| | |
| | dependencies=$(jq -r '.dependencies,.devDependencies|keys[]' "$dir/package.json") |
| | packages=($dependencies) |
| |
|
| | |
| | declare -a updates |
| |
|
| | |
| | for pkg in "${packages[@]}" |
| | do |
| | echo "Checking $pkg..." |
| | |
| | times=$(npm view "$pkg" time --json) |
| |
|
| | |
| | echo $times | jq -r '. | to_entries[] | select(.key as $k | $k|test("^[0-9]")) | [.key, .value] | @csv' | while IFS="," read -r version date |
| | do |
| | |
| | date=$(echo $date | tr -d '"' | xargs) |
| | |
| | version_date=$(date -d "$date" +%s) |
| |
|
| | |
| | if (( version_date > three_days_ago && version_date <= today )) |
| | then |
| | |
| | et_date=$(date -u -d "$date" +"%Y-%m-%d %H:%M:%S UTC") |
| | et_date=$(date -d "$et_date -4 hours" +"%Y-%m-%d %H:%M:%S ET") |
| | update_message="Version $version of $pkg was released on $et_date" |
| | echo "$update_message" |
| | updates+=("$update_message") |
| | fi |
| | done |
| | done |
| |
|
| | |
| | if [ ${#updates[@]} -eq 0 ]; then |
| | echo "No recent updates found within the last three days." |
| | else |
| | echo "Recent updates within the last three days:" |
| | printf "%s\n" "${updates[@]}" |
| | fi |
| |
|