Pluralize "times" correctly

This commit is contained in:
Juan Soto
2016-07-15 09:22:26 -04:00
parent 17959b8105
commit 9fb124cf1c
12 changed files with 305 additions and 38 deletions
+91
View File
@@ -0,0 +1,91 @@
#!/bin/sh
dirname=$(dirname "$(readlink -f "$0")")
browserify="$dirname/../node_modules/.bin/browserify"
uglify="$dirname/../node_modules/.bin/uglifyjs"
pretty_bytes="$dirname/../node_modules/.bin/pretty-bytes"
gzip_size="$dirname/../node_modules/.bin/gzip-size"
discify="$dirname/../node_modules/.bin/discify"
usage () {
cat << USAGE
script/test-size
Commands:
g, gzip (default) Output gzip size
m, minified Output size minified
d, discify Run discify
USAGE
}
# use zopfli for better compression if available
gzip () {
zopfli -h 2>/dev/null
if [ $? -eq 0 ]; then
zopfli "$1" -i1000 -c | wc -c
else
"$gzip_size" < "$1"
fi
}
gzip_size () {
mkdir -p tmp/
"$browserify" index.js \
-g unassertify \
-g yo-yoify \
-g es2020 \
-g uglifyify \
-p bundle-collapser/plugin \
| "$uglify" \
> tmp/bundle.min.js
gzip tmp/bundle.min.js | "$pretty_bytes"
rm -rf tmp/
}
min_size () {
"$browserify" index.js \
-g unassertify \
-g yo-yoify \
-g es2020 \
-g uglifyify \
-p bundle-collapser/plugin \
| "$uglify" \
| wc -c \
| "$pretty_bytes"
}
run_discify () {
"$browserify" index.js --full-paths \
-g unassertify \
-g yo-yoify \
-g es2020 \
-g uglifyify \
| "$uglify" \
| "$discify" --open
}
# set CLI flags
getopt -T > /dev/null
if [ "$?" -eq 4 ]; then
args="$(getopt --long help discify minified --options hmdg -- "$*")"
else
args="$(getopt h "$*")";
fi
[ ! $? -eq 0 ] && { usage && exit 2; }
eval set -- "$args"
# parse CLI flags
while true; do
case "$1" in
-h|--help) usage && exit 1 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
case "$1" in
d|discify) shift; run_discify "$@" ;;
m|minified) shift; printf "min: %s\n" "$(min_size)" "$@" ;;
g|gzip|*) shift; printf "gzip: %s\n" "$(gzip_size)" "$@" ;;
esac