angular-cn/packages/zone.js/scripts/closure/closure_compiler.sh
JiaLiPassion 6085d2acc9 test(zone.js): add zone.js externs test (#39108)
Add back the zone.js externs file test for google closure compiler.
The test compiles a test program with and without `zone_externs`.

1. With `zone_externs`, the code should keep the APIs defined in the `zone_externs`.
2. Without `zone_externs`, the code will not keep these APIs.

PR Close #39108
2020-10-22 13:40:08 -07:00

31 lines
1.1 KiB
Bash
Executable File

# compile closure test source file
$(npm bin)/tsc -p .
# Run the Google Closure compiler java runnable with zone externs
java -jar ./node_modules/google-closure-compiler-java/compiler.jar --flagfile './scripts/closure/closure_flagfile' --externs './lib/closure/zone_externs.js' --externs './node_modules/@externs/nodejs/v8/global.js' --process_common_js_modules
# the names of Zone exposed API should be kept correctly with zone externs, test program should exit with 0.
node build/closure/zone-closure-bundle.js
if [ $? -eq 0 ]
then
echo "Successfully pass closure compiler with zone externs"
else
echo "failed to pass closure compiler with zone externs"
exit 1
fi
# Run the Google Closure compiler java runnable without zone externs.
java -jar node_modules/google-closure-compiler-java/compiler.jar --flagfile 'scripts/closure/closure_flagfile' --externs './node_modules/@externs/nodejs/v8/global.js' --process_common_js_modules
node build/closure/zone-closure-bundle.js
if [ $? -eq 1 ]
then
echo "Successfully detect closure compiler error without zone externs"
else
echo "failed to detect closure compiler error without zone externs"
exit 1
fi
exit 0