From 2ef6382bae53a37683c0ae7f4f07835146e27ceb Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 29 Aug 2017 01:28:50 +0200 Subject: [PATCH] build: stop building rxjs for closure compiler test (#6635) For every Pull Request, a job that runs the Google Closure Compiler against the demo-app will be started. In the past Closure Compiler wasn't able to properly handle CommonJS packages from the node modules. Now the Google Closure Compiler will be reconfigured to properly handle CommonJS packages (meaning that RxJS no longer needs to be built manually) --- package-lock.json | 60 +++++++++++++++---- package.json | 2 +- .../closure-compiler/build-devapp-bundle.sh | 16 ++--- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 015d542b430..0adba8c06cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1760,6 +1760,12 @@ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", "dev": true }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, "clone-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz", @@ -1776,6 +1782,17 @@ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", "dev": true }, + "cloneable-readable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz", + "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "process-nextick-args": "1.0.7", + "through2": "2.0.3" + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -6452,13 +6469,13 @@ } }, "google-closure-compiler": { - "version": "20170218.0.0", - "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20170218.0.0.tgz", - "integrity": "sha1-BZx/kc8cssGma0yV90X179D7S6Q=", + "version": "20170409.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20170409.0.0.tgz", + "integrity": "sha1-3Bvimp9+74YRNkUzsnG5+sdXyXA=", "dev": true, "requires": { "chalk": "1.1.3", - "vinyl": "1.2.0", + "vinyl": "2.1.0", "vinyl-sourcemaps-apply": "0.2.1" } }, @@ -16072,14 +16089,37 @@ "dev": true }, "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", "dev": true, "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" + "clone": "2.1.1", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.0.0", + "remove-trailing-separator": "1.0.2", + "replace-ext": "1.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + } } }, "vinyl-fs": { diff --git a/package.json b/package.json index dba2c4d37b9..a84fc6435c9 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "firebase-tools": "^3.9.0", "fs-extra": "^3.0.1", "glob": "^7.1.2", - "google-closure-compiler": "^20170218.0.0", + "google-closure-compiler": "20170409.0.0", "gulp": "^3.9.1", "gulp-clean": "^0.3.2", "gulp-clean-css": "^3.3.1", diff --git a/scripts/closure-compiler/build-devapp-bundle.sh b/scripts/closure-compiler/build-devapp-bundle.sh index 51cfba69397..3d3b1607cdf 100755 --- a/scripts/closure-compiler/build-devapp-bundle.sh +++ b/scripts/closure-compiler/build-devapp-bundle.sh @@ -8,7 +8,6 @@ set -e -o pipefail # Go to the project root directory cd $(dirname $0)/../.. - # Build a release of material and of the CDK package. $(npm bin)/gulp material:build-release:clean $(npm bin)/gulp cdk:build-release @@ -17,21 +16,12 @@ $(npm bin)/gulp cdk:build-release $(npm bin)/gulp :build:devapp:assets :build:devapp:scss $(npm bin)/tsc -p src/demo-app/tsconfig-build.json --target ES2015 --module ES2015 -# Re-compile RxJS sources into ES2015. Otherwise closure compiler can't parse it properly. -$(npm bin)/ngc -p scripts/closure-compiler/tsconfig-rxjs.json - # Create a list of all RxJS source files. -rxjsSourceFiles=$(find dist/packages/rxjs -name '*.js'); +rxjsSourceFiles=$(find node_modules/rxjs/ -name '*.js'); # List of entry points in the CDK package. Exclude "testing" since it's not an entry point. cdkEntryPoints=($(find src/cdk -maxdepth 1 -mindepth 1 -type d -not -name testing -exec basename {} \;)) -# Due a Closure Compiler issue https://github.com/google/closure-compiler/issues/2247 -# we need to add exports to the different RxJS ES2015 files. -for i in $rxjsSourceFiles; do - echo "export var __CLOSURE_WORKAROUND__" >> $i -done - OPTS=( "--language_in=ES6_STRICT" "--language_out=ES5" @@ -41,6 +31,8 @@ OPTS=( "--property_renaming_report=dist/closure/property_renaming_report" "--warning_level=QUIET" "--rewrite_polyfills=false" + "--module_resolution=node" + "--process_common_js_modules" # List of path prefixes to be removed from ES6 & CommonJS modules. "--js_module_root=dist/packages" @@ -103,4 +95,4 @@ echo ${OPTS[*]} > $closureFlags # Run the Google Closure compiler java runnable. java -jar node_modules/google-closure-compiler/compiler.jar --flagfile $closureFlags -echo "Finished bundling the dev-app using google closure compiler.." +echo "Finished bundling the dev-app using Google Closure Compiler."