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*
|