SIGN IN SIGN UP
angular / material UNCLAIMED

Material design for AngularJS

0 0 15 JavaScript
#!/bin/bash
# Bash Script to replace the current AngularJS version in the node modules.
# Accepts a version as an argument. The resolved version will be downloaded, extracted and replaced.
CDN="https://code.angularjs.org"
ANGULAR_FILES=(
angular
angular-animate
angular-route
angular-aria
angular-messages
angular-mocks
angular-sanitize
angular-touch
)
# The version will be specified from the first argument.
VERSION=$1
# Download the AngularJS repository for `find-max-versions` if not present.
if [ ! -e ./tmp/angular.js/.git ]; then
# Cleanup potential broken repository files.
rm -rf ./tmp/angular.js/
git clone https://github.com/angular/angular.js ./tmp/angular.js
fi
# this will guarantee that we have the latest versions
# of AngularJS when testing material in case the HEAD
# of ./tmp/angular.js is outdated.
git --git-dir ./tmp/angular.js/.git fetch
# Determines the exact version name and the download URL.
if [ $VERSION == "snapshot" ]; then
ZIP_FILE_SHA=$(curl "$CDN/snapshot/version.txt")
ZIP_URL="$CDN/snapshot/angular-$ZIP_FILE_SHA.zip"
else
LATEST_VERSION=$(node ./scripts/find-max-version.js $VERSION)
if [ ! $LATEST_VERSION ]; then
echo "Error: version "$VERSION" of angular does not exist..."
exit 1
fi
VERSION=$LATEST_VERSION
ZIP_FILE_SHA=$VERSION
ZIP_URL="$CDN/$VERSION/angular-$VERSION.zip"
fi
ZIP_FILE="angular-$VERSION.zip"
ZIP_FILE_PATH="./tmp/$ZIP_FILE"
BASE_DIR="./tmp/angular-$VERSION"
# Downloads and extracts the resolved AngularJS version.
rm -rf $BASE_DIR
curl $ZIP_URL > $ZIP_FILE_PATH
unzip -q -d $BASE_DIR $ZIP_FILE_PATH
mv "$BASE_DIR/angular-$ZIP_FILE_SHA" "$BASE_DIR/files"
# Copies over all AngularJS files into the node modules.
for ANGULAR_FILE in "${ANGULAR_FILES[@]}"; do
REPLACEMENT_FILE="$BASE_DIR/files/$ANGULAR_FILE.js"
MIN_REPLACEMENT_FILE="$BASE_DIR/files/$ANGULAR_FILE.min.js"
NODE_LIB_FILE="./node_modules/$ANGULAR_FILE/$ANGULAR_FILE.js"
MIN_NODE_LIB_FILE="./node_modules/$ANGULAR_FILE/$ANGULAR_FILE.min.js"
rm -f $NODE_LIB_FILE
cp $REPLACEMENT_FILE $NODE_LIB_FILE
echo "[copy] copied over $REPLACEMENT_FILE to $NODE_LIB_FILE"
if [ -e $MIN_NODE_LIB_FILE ]; then
rm $MIN_NODE_LIB_FILE
fi
if [ -e $MIN_REPLACEMENT_FILE ]; then
cp $MIN_REPLACEMENT_FILE $MIN_NODE_LIB_FILE
fi
echo "[copy] copied over $MIN_REPLACEMENT_FILE to $MIN_NODE_LIB_FILE"
done