de795ea233
TypeScript compiler will now build to ES2015 code and modules. Babili is used to minify ES2015 code, providing an initial optimization that we couldn't previously get just from Uglify. Uses Babel to convert ES2015 to UMD/ES5 code, and Uglify to minimize the output.
54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Build a folder using angular ES6 and the closure compiler
|
|
|
|
set -e -o pipefail
|
|
|
|
# The ES6 distro we built for rxjs works only in the browser, not in nodejs.
|
|
# Since we installed rxjs in node_modules for ngc to use, we have to point
|
|
# to the alternate distro when compiling with closure.
|
|
rm -rf vendor
|
|
mkdir vendor
|
|
cp -pr ../rxjs/dist/es6 vendor/rxjs
|
|
|
|
CLOSURE_ARGS=(
|
|
"--language_in=ES6_STRICT"
|
|
"--language_out=ES5"
|
|
"--compilation_level=ADVANCED_OPTIMIZATIONS"
|
|
"--warning_level=QUIET"
|
|
"--js_output_file=dist/bundle.js"
|
|
"--create_source_map=%outname%.map"
|
|
"--variable_renaming_report=dist/variable_renaming_report"
|
|
"--property_renaming_report=dist/property_renaming_report"
|
|
|
|
# Don't include ES6 polyfills
|
|
"--rewrite_polyfills=false"
|
|
|
|
# List of path prefixes to be removed from ES6 & CommonJS modules.
|
|
"--js_module_root=node_modules/@angular/core"
|
|
"--js_module_root=node_modules/@angular/common"
|
|
"--js_module_root=node_modules/@angular/compiler"
|
|
"--js_module_root=node_modules/@angular/platform-browser"
|
|
"--js_module_root=vendor"
|
|
|
|
# Uncomment for easier debugging
|
|
# "--formatting=PRETTY_PRINT"
|
|
|
|
e2e/testability.externs.js
|
|
node_modules/zone.js/dist/zone.js
|
|
$(find -L vendor/rxjs -name *.js)
|
|
node_modules/@angular/core/@angular/core.js
|
|
node_modules/@angular/common/@angular/common.js
|
|
node_modules/@angular/compiler/@angular/compiler.js
|
|
node_modules/@angular/platform-browser/@angular/platform-browser.js
|
|
"built/src/*.js"
|
|
"--entry_point=./built/src/main"
|
|
)
|
|
|
|
java -jar node_modules/google-closure-compiler/compiler.jar $(echo ${CLOSURE_ARGS[*]})
|
|
# gzip on Travis doesn't have --keep option so copy the original file first
|
|
cp dist/bundle.js dist/bundle.tmp
|
|
gzip -f dist/bundle.js
|
|
mv dist/bundle.tmp dist/bundle.js
|
|
ls -alH dist/bundle*
|