implement choo v5 API (#425)

* implement choo v5 API

* fix tests

* 5.0.0-3

* 4kb now

* bump nanomorph

* 5.0.0-4

* fix missing deps stuff

* 5.0.0-5

* fix travis

* fixup! oops standard

* chooexpose

* fix state passing

* fixup! update example

* fixup! incorporate feedback

* fixup! more docs

* fixup! even more docs
This commit is contained in:
Yoshua Wuyts
2017-03-21 03:00:45 +01:00
committed by GitHub
parent 6fc525fe05
commit 8e8e870d45
61 changed files with 807 additions and 2707 deletions
-68
View File
@@ -1,68 +0,0 @@
#!/bin/sh
usage () {
printf "Usage: build-umd <argument>\n"
}
# use zopfli for better compression if available
gzip () {
zopfli -h 2>/dev/null
if [ $? -eq 0 ]; then
zopfli "$1" -i1000 -c
else
gzip -c "$1"
fi
}
build_dev () {
mkdir -p dist/
NODE_ENV=development browserify index.js \
--standalone=choo \
-t envify \
-g yo-yoify \
-g es2020 \
> dist/choo.js
NODE_ENV=development browserify html.js \
--standalone=html \
> dist/html.js
}
build_min () {
mkdir -p dist/
NODE_ENV=production browserify index.js \
--standalone=choo \
-t envify \
-g unassertify \
-g yo-yoify \
-g es2020 \
-g uglifyify \
-t envify \
-p bundle-collapser/plugin \
| uglifyjs \
> dist/choo.min.js
NODE_ENV=production browserify html.js \
--standalone=html \
> dist/html.min.js
}
build_gz () {
build_min
gzip dist/choo.min.js > dist/choo.min.js.gz
cp dist/choo.min.js.gz dist/choo.gz
}
# parse CLI flags
while true; do
case "$1" in
-h|--help) usage && exit 1 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
case "$1" in
d|dev) shift; build_dev "$@" ;;
m|min) shift; build_min "$@" ;;
g|gzip) shift; build_gz "$@" ;;
*) shift; build_min "$@" ;;
esac
-83
View File
@@ -1,83 +0,0 @@
#!/bin/sh
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 \
| uglifyjs \
> 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 \
| uglifyjs \
| wc -c \
| pretty-bytes
}
run_discify () {
browserify index.js --full-paths \
-g unassertify \
-g yo-yoify \
-g es2020 \
-g uglifyify \
| uglifyjs \
| 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
-78
View File
@@ -1,78 +0,0 @@
#!/bin/bash
# setting exit because we're linting and need to exit on failure
set -e -o pipefail
usage () {
printf "Usage: test\n"
}
lint () {
standard > /dev/tty
standard-markdown > /dev/tty
}
test_electron () {
check_deps
lint
browserify tests/**/*.js \
-t es2020 \
-p proxyquire-universal \
| tape-run
}
test_cov () {
check_deps
lint
browserify tests/**/*.js \
-t es2020 \
-p proxyquire-universal \
-p tape-istanbul/plugin \
| tape-run \
| tape-istanbul \
&& istanbul report
}
test_server () {
lint
standard
check_deps
NODE_ENV=test node tests/server/*
}
test_browser () {
NODE_ENV=test zuul tests/browser/*
}
test_browser_local () {
lint
check_deps
NODE_ENV=test zuul --local 8080 -- tests/browser/*
}
check_deps () {
dependency-check . --entry 'index.js'
dependency-check . --entry 'index.js' --extra --no-dev \
-i document-ready \
-i global
}
# set CLI flags
# parse CLI flags
while true; do
case "$1" in
-h|--help) usage && exit 1 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
case "$1" in
e|electron) shift; test_electron "$@";;
b|browser) shift; test_browser "$@";;
l|browser-local) shift; test_browser_local "$@";;
s|server) shift; test_server "$@";;
lint) shift; lint "$@";;
c|cov) shift; test_cov "$@";;
d|deps) shift; check_deps "$@";;
esac