22 lines
701 B
Bash
Executable File
22 lines
701 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
if ! command -v jq >/dev/null 2>&1 ; then
|
|
echo "This check requires the jq program be installed."
|
|
echo "To install jq, visit"
|
|
echo " https://jqlang.github.io/jq/"
|
|
exit 1
|
|
fi
|
|
|
|
CMD=$(jq -r '.packages | to_entries[] | select((.key | contains("node_modules")) and (.value | has("resolved") | not)) | .key' < "$1")
|
|
|
|
if [ -n "$CMD" ]; then
|
|
echo "ERROR package-lock.json entries missing 'resolved' field:"
|
|
echo ""
|
|
# Shellcheck erroneously believes that shell string substitution can be used here, but that
|
|
# feature lacks a "start of line" discriminator.
|
|
# shellcheck disable=SC2001
|
|
echo "$CMD" | sed 's/^/ /g'
|
|
echo ""
|
|
exit 1
|
|
fi
|