From 50daf1f481fbb412c4a0b47795cdcb42acc26cdc Mon Sep 17 00:00:00 2001 From: Yoshua Wuyts Date: Tue, 12 Jul 2016 15:24:36 +0200 Subject: [PATCH] script/build: add --- package.json | 11 +++---- scripts/build | 54 +++++++++++++++++++++++++++++++ scripts/{test-size => instrument} | 4 ++- 3 files changed, 61 insertions(+), 8 deletions(-) create mode 100755 scripts/build rename scripts/{test-size => instrument} (97%) diff --git a/package.json b/package.json index f6fe061..c8a0624 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,9 @@ "test:browser:local": "standard && npm run deps && NODE_ENV=test zuul --local 8080 -- tests/browser/*", "preversion": "if [ ! -z $SKIP_TEST ]; then npm run test:browser; fi", "test": "npm run test:electron", - "build:dev": "NODE_ENV=development browserify index.js --standalone=choo -t envify > dist/choo.js", - "build:min": "NODE_ENV=production browserify index.js --standalone=choo -t envify -g unassertify -g uglifyify | uglifyjs > dist/choo.min.js", - "prepublish": "mkdir -p 'dist/' && npm run build:dev && npm run build:min" + "build:dev": "./scripts/build dev", + "build:min": "./scripts/build min", + "prepublish": "npm run build:dev && npm run build:min" }, "repository": "yoshuawuyts/choo", "keywords": [ @@ -63,15 +63,12 @@ "standard": "^7.1.0", "tachyons": "^4.0.0-beta.19", "tape": "^4.5.1", -<<<<<<< HEAD "tape-istanbul": "~1.0.2", "tape-run": "~2.1.4", - "yo-yoify": "^3.1.0", -======= "uglifyify": "^3.0.2", "uglifyjs": "^2.4.10", "unassertify": "^2.0.3", ->>>>>>> 7370fd0... prepare umd build before publish + "yo-yoify": "^3.1.0", "zuul": "toddself/zuul" } } diff --git a/scripts/build b/scripts/build new file mode 100755 index 0000000..6f743b2 --- /dev/null +++ b/scripts/build @@ -0,0 +1,54 @@ +#!/bin/sh + +dirname=$(dirname "$(readlink -f "$0")") + +browserify="$dirname/../node_modules/.bin/browserify" +uglify="$dirname/../node_modules/.bin/uglifyjs" + +usage () { + printf "Usage: build-umd \n" +} + +build_dev () { + mkdir -p dist/ + NODE_ENV=development "$browserify" index.js \ + --standalone=choo \ + -t envify \ + > dist/choo.js +} + +build_min () { + mkdir -p dist/ + NODE_ENV=production "$browserify" index.js \ + --standalone=choo \ + -t envify \ + -g unassertify \ + -g uglifyify \ + | "$uglify" \ + > dist/choo.min.js +} + +# set CLI flags +getopt -T > /dev/null +if [ "$?" -eq 4 ]; then + args="$(getopt --long help dev min --options hdm -- "$*")" +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|dev) shift; build_dev "$@" ;; + m|min) shift; build_min "$@" ;; + *) shift; build_min "$@" ;; +esac diff --git a/scripts/test-size b/scripts/instrument similarity index 97% rename from scripts/test-size rename to scripts/instrument index 009daf9..123c132 100755 --- a/scripts/test-size +++ b/scripts/instrument @@ -48,7 +48,9 @@ run_discify () { getopt -T > /dev/null if [ "$?" -eq 4 ]; then args="$(getopt --long help discify minified --options hmdg -- "$*")" -else args="$(getopt h "$*")"; fi +else + args="$(getopt h "$*")"; +fi [ ! $? -eq 0 ] && { usage && exit 2; } eval set -- "$args"