| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set -e -o pipefail | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd `dirname $0` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-19 15:28:25 -07:00
										 |  |  | export NODE_PATH=${NODE_PATH}:$(pwd)/dist/all:$(pwd)/dist/tools | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | rm -rf ./dist/all/ | 
					
						
							| 
									
										
										
										
											2016-05-11 10:11:59 -07:00
										 |  |  | mkdir -p ./dist/all/ | 
					
						
							| 
									
										
										
										
											2016-05-01 22:54:19 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-19 15:28:25 -07:00
										 |  |  | TSCONFIG=./tools/tsconfig.json | 
					
						
							|  |  |  | echo "====== (all)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} =====" | 
					
						
							|  |  |  | $(npm bin)/tsc -p ${TSCONFIG} | 
					
						
							| 
									
										
										
										
											2016-05-31 10:43:21 -07:00
										 |  |  | cp ./tools/@angular/tsc-wrapped/package.json ./dist/tools/@angular/tsc-wrapped | 
					
						
							| 
									
										
										
										
											2016-05-19 15:28:25 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | echo "====== Copying files needed for e2e tests =====" | 
					
						
							| 
									
										
										
										
											2016-05-01 22:54:19 -07:00
										 |  |  | cp -r ./modules/playground ./dist/all/ | 
					
						
							|  |  |  | cp -r ./modules/playground/favicon.ico ./dist/ | 
					
						
							|  |  |  | #rsync -aP ./modules/playground/* ./dist/all/playground/ | 
					
						
							|  |  |  | mkdir ./dist/all/playground/vendor | 
					
						
							|  |  |  | cd ./dist/all/playground/vendor | 
					
						
							| 
									
										
										
										
											2016-08-26 02:28:36 +02:00
										 |  |  | ln -s ../../../../node_modules/core-js/client/core.js . | 
					
						
							| 
									
										
										
										
											2016-05-01 22:54:19 -07:00
										 |  |  | ln -s ../../../../node_modules/zone.js/dist/zone.js . | 
					
						
							|  |  |  | ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js . | 
					
						
							|  |  |  | ln -s ../../../../node_modules/systemjs/dist/system.src.js . | 
					
						
							|  |  |  | ln -s ../../../../node_modules/base64-js/lib/b64.js . | 
					
						
							|  |  |  | ln -s ../../../../node_modules/reflect-metadata/Reflect.js . | 
					
						
							| 
									
										
										
										
											2016-05-13 13:22:29 -07:00
										 |  |  | ln -s ../../../../node_modules/rxjs . | 
					
						
							| 
									
										
										
										
											2016-05-01 22:54:19 -07:00
										 |  |  | ln -s ../../../../node_modules/angular/angular.js . | 
					
						
							|  |  |  | cd - | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-19 15:28:25 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | TSCONFIG=./modules/tsconfig.json | 
					
						
							|  |  |  | echo "====== (all)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} =====" | 
					
						
							| 
									
										
										
										
											2016-05-01 22:54:19 -07:00
										 |  |  | # compile ts code | 
					
						
							| 
									
										
										
										
											2016-07-06 11:03:10 -07:00
										 |  |  | TSC="node --max-old-space-size=3000 dist/tools/@angular/tsc-wrapped/src/main" | 
					
						
							| 
									
										
										
										
											2016-05-24 10:53:48 -07:00
										 |  |  | $TSC -p modules/tsconfig.json | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | rm -rf ./dist/packages-dist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | for PACKAGE in \
 | 
					
						
							|  |  |  |   core \
 | 
					
						
							|  |  |  |   compiler \
 | 
					
						
							|  |  |  |   common \
 | 
					
						
							| 
									
										
										
										
											2016-06-14 18:23:40 -07:00
										 |  |  |   forms \
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   platform-browser \
 | 
					
						
							| 
									
										
										
										
											2016-05-24 16:13:17 -07:00
										 |  |  |   platform-browser-dynamic \
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   platform-server \
 | 
					
						
							|  |  |  |   http \
 | 
					
						
							| 
									
										
										
										
											2016-06-21 10:35:42 -07:00
										 |  |  |   router \
 | 
					
						
							| 
									
										
										
										
											2016-05-03 09:24:09 -07:00
										 |  |  |   upgrade \
 | 
					
						
							| 
									
										
										
										
											2016-06-02 11:33:53 -07:00
										 |  |  |   compiler-cli | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | do | 
					
						
							|  |  |  |   SRCDIR=./modules/@angular/${PACKAGE} | 
					
						
							|  |  |  |   DESTDIR=./dist/packages-dist/${PACKAGE} | 
					
						
							| 
									
										
										
										
											2016-05-20 09:08:39 -07:00
										 |  |  |   UMD_ES6_PATH=${DESTDIR}/esm/${PACKAGE}.umd.js | 
					
						
							|  |  |  |   UMD_ES5_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.js | 
					
						
							|  |  |  |   UMD_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.min.js | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-09 15:18:55 -07:00
										 |  |  |   echo "======      COMPILING: ${TSC} -p ${SRCDIR}/tsconfig-es5.json        =====" | 
					
						
							|  |  |  |   $TSC -p ${SRCDIR}/tsconfig-es5.json | 
					
						
							| 
									
										
										
										
											2016-05-03 14:43:35 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   cp ${SRCDIR}/package.json ${DESTDIR}/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "======      TSC 1.8 d.ts compat for ${DESTDIR}   =====" | 
					
						
							|  |  |  |   # safely strips 'readonly' specifier from d.ts files to make them compatible with tsc 1.8 | 
					
						
							| 
									
										
										
										
											2016-06-21 00:25:55 +02:00
										 |  |  |   if [ "$(uname)" == "Darwin" ]; then | 
					
						
							|  |  |  |     find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i ''    -e 's/\(^ *(static |private )*\)*readonly  */\1/g' | 
					
						
							|  |  |  |     find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i ''    -E 's/^( +)abstract ([[:alnum:]]+\:)/\1\2/g' | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   else | 
					
						
							| 
									
										
										
										
											2016-06-21 00:25:55 +02:00
										 |  |  |     find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i -e 's/\(^ *(static |private )*\)*readonly  */\1/g' | 
					
						
							|  |  |  |     find ${DESTDIR} -type f -name '*.d.ts' -print0 | xargs -0 sed -i -E 's/^( +)abstract ([[:alnum:]]+\:)/\1\2/g' | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-02 11:33:53 -07:00
										 |  |  |   if [[ ${PACKAGE} != compiler-cli ]]; then | 
					
						
							| 
									
										
										
										
											2016-05-03 09:24:09 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-09 15:18:55 -07:00
										 |  |  |     echo "====== (esm)COMPILING: $TSC -p ${SRCDIR}/tsconfig-es2015.json =====" | 
					
						
							|  |  |  |     $TSC -p ${SRCDIR}/tsconfig-es2015.json | 
					
						
							| 
									
										
										
										
											2016-05-03 09:24:09 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     echo "======      BUNDLING: ${SRCDIR} =====" | 
					
						
							| 
									
										
										
										
											2016-05-20 09:08:39 -07:00
										 |  |  |     mkdir ${DESTDIR}/bundles | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-21 14:44:36 -07:00
										 |  |  |     ( | 
					
						
							|  |  |  |       cd  ${SRCDIR} | 
					
						
							|  |  |  |       echo "..."  # here just to have grep match something and not exit with 1 | 
					
						
							|  |  |  |       ../../../node_modules/.bin/rollup -c rollup.config.js | 
					
						
							|  |  |  |     ) 2>&1 | grep -v "as external dependency" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $(npm bin)/tsc  \
 | 
					
						
							|  |  |  |         --out ${UMD_ES5_PATH} \
 | 
					
						
							|  |  |  |         --target es5 \
 | 
					
						
							|  |  |  |         --lib "es6,dom" \
 | 
					
						
							|  |  |  |         --allowJs \
 | 
					
						
							|  |  |  |         ${UMD_ES6_PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     rm ${UMD_ES6_PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     cat ./modules/@angular/license-banner.txt > ${UMD_ES5_PATH}.tmp | 
					
						
							|  |  |  |     cat ${UMD_ES5_PATH} >> ${UMD_ES5_PATH}.tmp | 
					
						
							|  |  |  |     mv ${UMD_ES5_PATH}.tmp ${UMD_ES5_PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $(npm bin)/uglifyjs -c --screw-ie8 -o ${UMD_ES5_MIN_PATH} ${UMD_ES5_PATH} | 
					
						
							| 
									
										
										
										
											2016-05-03 14:43:35 -06:00
										 |  |  |   fi | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2016-08-03 12:32:26 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | echo "======      COMPILING: \$(npm bin)/tsc -p benchpress/tsconfig.json =====" | 
					
						
							|  |  |  | $(npm bin)/tsc -p ./modules/benchpress/tsconfig.json |