#!/bin/bash set -ex shopt -s extglob ROOT_DIR=$(cd $(dirname $0)/../..; pwd) cd $ROOT_DIR gulp clean # benchpress.bundle and bundles.js will implicitly build everything we need gulp benchpress.bundle bundles.js docs/typings NPM_DIR=$ROOT_DIR/dist/npm rm -fr $NPM_DIR FILES='!(test|e2e_test|docs)' DTS_FILES='*.d.ts' function publishRttsAssert { NAME='rtts_assert' PUBLISH_DIR=$NPM_DIR/$NAME rm -fr $PUBLISH_DIR mkdir -p $PUBLISH_DIR mkdir -p $PUBLISH_DIR/es6 cp -r $ROOT_DIR/dist/js/prod/es6/$NAME/$FILES $PUBLISH_DIR/es6 cp -r $ROOT_DIR/dist/js/cjs/$NAME/$FILES $PUBLISH_DIR npm publish $PUBLISH_DIR } function publishModule { NAME=$1 PUBLISH_DIR=$NPM_DIR/$NAME rm -fr $PUBLISH_DIR mkdir -p $PUBLISH_DIR mkdir -p $PUBLISH_DIR/es6/dev cp -r $ROOT_DIR/dist/js/dev/es6/$NAME/$FILES $PUBLISH_DIR/es6/dev mkdir -p $PUBLISH_DIR/es6/prod cp -r $ROOT_DIR/dist/js/prod/es6/$NAME/$FILES $PUBLISH_DIR/es6/prod mkdir -p $PUBLISH_DIR/ts cp -r $ROOT_DIR/modules/$NAME/$FILES $PUBLISH_DIR/ts if [ $NAME = "angular2" ]; then # Publish bundles and typings mkdir -p $PUBLISH_DIR/bundles/typings/angular2 mkdir -p $PUBLISH_DIR/bundles/typings/es6-promise mkdir -p $PUBLISH_DIR/bundles/typings/rx # Copy Bundles cp -r $ROOT_DIR/dist/js/bundle/$FILES $PUBLISH_DIR/bundles # Copy Typings cp -r $ROOT_DIR/dist/docs/typings/angular2/$DTS_FILES $PUBLISH_DIR/bundles/typings/angular2 cp -r $ROOT_DIR/dist/docs/typings/http/$DTS_FILES $PUBLISH_DIR/bundles/typings/angular2 cp -r $ROOT_DIR/modules/angular2/typings/es6-promise/$DTS_FILES $PUBLISH_DIR/bundles/typings/es6-promise cp -r $ROOT_DIR/modules/angular2/typings/rx/$DTS_FILES $PUBLISH_DIR/bundles/typings/rx fi if [ $NAME = "benchpress" ]; then cp -r $ROOT_DIR/dist/build/benchpress_bundle/$FILES $PUBLISH_DIR cp -r $ROOT_DIR/dist/js/cjs/benchpress/README.md $PUBLISH_DIR cp -r $ROOT_DIR/dist/js/cjs/benchpress/LICENSE $PUBLISH_DIR cp -r $ROOT_DIR/dist/js/cjs/benchpress/docs $PUBLISH_DIR else cp -r $ROOT_DIR/dist/js/cjs/$NAME/$FILES $PUBLISH_DIR fi npm publish $PUBLISH_DIR } publishRttsAssert publishModule angular2 publishModule benchpress