diff --git a/.travis.yml b/.travis.yml index 73bf1c385627..ccfabb5dd866 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: false dist: trusty node_js: - - '8' + - '7' addons: jwt: diff --git a/package-lock.json b/package-lock.json index de60b2dea588..9da2988b2f90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,125 +5,103 @@ "requires": true, "dependencies": { "@angular/animations": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.4.6.tgz", - "integrity": "sha1-+mYYmaik44y3xYPHpcl85l1ZKjU=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.0-rc.9.tgz", + "integrity": "sha1-ajq5oxdVZa9JQqELHvEriIcNxsA=", "requires": { "tslib": "1.8.0" } }, "@angular/common": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.4.6.tgz", - "integrity": "sha1-S4FCByTggooOg5uVpV6xp+g5GPI=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0-rc.9.tgz", + "integrity": "sha1-CG0gKXNozXkgGeEJARRaPbaCiNI=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.4.6.tgz", - "integrity": "sha1-LuH68lt1fh0SiXkHS+f65SmzvCA=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0-rc.9.tgz", + "integrity": "sha1-JcFyoz/H7/GAJnNUhKKCNjePAz4=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler-cli": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.4.6.tgz", - "integrity": "sha1-uv09HiYOmQh+uajPdTLb1gOrubE=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0-rc.9.tgz", + "integrity": "sha1-iUXkUcJjRHAGeotAqL1baMEX4UU=", "dev": true, "requires": { - "@angular/tsc-wrapped": "4.4.6", + "chokidar": "1.7.0", "minimist": "1.2.0", - "reflect-metadata": "0.1.10" + "reflect-metadata": "0.1.10", + "tsickle": "0.24.1" } }, "@angular/core": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.4.6.tgz", - "integrity": "sha1-EwMf0Q3P5DiHVBmzjyESCVi8I1Q=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0-rc.9.tgz", + "integrity": "sha1-CqtdLZsx6lMKQbseMAlQTRvWRnM=", "requires": { "tslib": "1.8.0" } }, "@angular/forms": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.4.6.tgz", - "integrity": "sha1-/mSs5CQ1wbgPSQNLfEHOjK8UpEo=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0-rc.9.tgz", + "integrity": "sha1-p14YlbchMRmQ4lMTFDybNn5L41o=", "requires": { "tslib": "1.8.0" } }, "@angular/http": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.4.6.tgz", - "integrity": "sha1-CvaAxnEL3AJtlA4iXP0PalwAXQw=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.0-rc.9.tgz", + "integrity": "sha1-myZFw4T9bYIsL7G0x9JkxhsbK9E=", "dev": true, "requires": { "tslib": "1.8.0" } }, "@angular/platform-browser": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.4.6.tgz", - "integrity": "sha1-qYOcVH4bZU+h0kqJeAyLpquNzOA=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0-rc.9.tgz", + "integrity": "sha1-raeVDmEEsBWavC2E0T7fG4JIPyA=", "requires": { "tslib": "1.8.0" } }, "@angular/platform-browser-dynamic": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.6.tgz", - "integrity": "sha1-TT2aanvyzz3kBYphWuBZ7/ZB+jY=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0-rc.9.tgz", + "integrity": "sha1-krwRUe9IXNzML09qa3Obnka27LI=", "dev": true, "requires": { "tslib": "1.8.0" } }, "@angular/platform-server": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-4.4.6.tgz", - "integrity": "sha1-QxJI9IkaY1x2rRWhfQPpyH4aODc=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.0.0-rc.9.tgz", + "integrity": "sha1-TucPcj002WAI9p0c2a37D5NMxNQ=", "dev": true, "requires": { - "parse5": "3.0.2", + "domino": "1.0.30", "tslib": "1.8.0", "xhr2": "0.1.4" } }, "@angular/router": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.4.6.tgz", - "integrity": "sha1-D2rSmuD/jSyeo3m9MgRHIXt+yGY=", + "version": "5.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.0-rc.9.tgz", + "integrity": "sha1-LSrEKt/R8UfoGc8oc31Hxsm+8s0=", "dev": true, "requires": { "tslib": "1.8.0" } }, - "@angular/tsc-wrapped": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.4.6.tgz", - "integrity": "sha1-Fnh8u/UL3H5zgSOxnDJSfyROF40=", - "dev": true, - "requires": { - "tsickle": "0.21.6" - }, - "dependencies": { - "tsickle": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz", - "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", - "dev": true, - "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" - } - } - } - }, "@firebase/app": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.1.1.tgz", @@ -1039,6 +1017,15 @@ } } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -1050,15 +1037,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -1998,6 +1976,15 @@ } } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -2009,15 +1996,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -2563,16 +2541,6 @@ "@types/node": "7.0.46" } }, - "JSONStream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", - "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", - "dev": true, - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - } - }, "a-sync-waterfall": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz", @@ -4484,8 +4452,8 @@ "integrity": "sha512-8od6g684Fhi5Vpp4ABRv/RBsW1AY6wSHbJHEK6FGTv+8jvAAnlABniZu/FVmX9TcirkHepaEsa1QGkRvbg0CKw==", "dev": true, "requires": { - "JSONStream": "1.3.1", "is-text-path": "1.0.1", + "JSONStream": "1.3.1", "lodash": "4.17.4", "meow": "3.7.0", "split2": "2.2.0", @@ -5412,6 +5380,12 @@ "domelementtype": "1.3.0" } }, + "domino": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.30.tgz", + "integrity": "sha512-ikq8WiDSkICdkElud317F2Sigc6A3EDpWsxWBwIZqOl95km4p/Vc9Rj98id7qKgsjDmExj0AVM7JOd4bb647Xg==", + "dev": true + }, "domutils": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz", @@ -6773,7 +6747,18 @@ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "4.3.1" + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + } } }, "crypto-random-string": { @@ -6809,7 +6794,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-2.4.0.tgz", "integrity": "sha1-hI4o9/HVB0DGdHqzywdnBGK2+Jw=", - "dev": true, "requires": { "is-obj": "1.0.1" } @@ -7483,12 +7467,6 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, - "string-format-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.0.tgz", - "integrity": "sha1-djVhCx7zlwE+hHi+mKFw4EmD0Gg=", - "dev": true - }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", @@ -7498,6 +7476,12 @@ "safe-buffer": "5.1.1" } }, + "string-format-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.0.tgz", + "integrity": "sha1-djVhCx7zlwE+hHi+mKFw4EmD0Gg=", + "dev": true + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -7662,7 +7646,6 @@ "dev": true, "requires": { "@google-cloud/functions-emulator": "1.0.0-alpha.25", - "JSONStream": "1.3.1", "archiver": "0.16.0", "chalk": "1.1.3", "cjson": "0.3.3", @@ -7682,6 +7665,7 @@ "google-auto-auth": "0.7.2", "inquirer": "0.12.0", "jsonschema": "1.2.0", + "JSONStream": "1.3.1", "jsonwebtoken": "7.4.3", "lodash": "4.17.4", "open": "0.0.5", @@ -12042,16 +12026,6 @@ "through2": "0.6.5" }, "dependencies": { - "JSONStream": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz", - "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=", - "dev": true, - "requires": { - "jsonparse": "0.0.5", - "through": "2.3.8" - } - }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -12064,6 +12038,16 @@ "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", "dev": true }, + "JSONStream": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz", + "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": "2.3.8" + } + }, "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", @@ -12128,6 +12112,16 @@ "integrity": "sha512-XDJApzBauMg0TinJNP4iVcJl99PQ4JbWKK7nwzpOIkAOVveDKgh/2xm41T3x7Spu4PWMhnnQpNJmUSIUgl6sKg==", "dev": true }, + "JSONStream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", + "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", + "dev": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, "jsonwebtoken": { "version": "7.4.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz", @@ -14545,23 +14539,6 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", - "dev": true, - "requires": { - "@types/node": "6.0.90" - }, - "dependencies": { - "@types/node": { - "version": "6.0.90", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.90.tgz", - "integrity": "sha512-tXoGRVdi7wZX7P1VWoV9Wfk0uYDOAHdEYXAttuWgSrN76Q32wQlSrMX0Rgyv3RTEaQY2ZLQrzYHVM2e8rfo8sA==", - "dev": true - } - } - }, "parsejson": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", @@ -16918,6 +16895,15 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-format-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.0.tgz", @@ -16951,15 +16937,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringify-object": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz", @@ -18029,9 +18006,9 @@ } }, "tsickle": { - "version": "0.23.6", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.23.6.tgz", - "integrity": "sha1-/O5Xpct/kqjDqeV47gooZCfc+s0=", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", + "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", "requires": { "minimist": "1.2.0", "mkdirp": "0.5.1", diff --git a/package.json b/package.json index 9d0fd48fcd56..f5954c6ac0d2 100644 --- a/package.json +++ b/package.json @@ -25,26 +25,25 @@ "node": ">= 5.4.1" }, "dependencies": { - "@angular/animations": "~4.4.4", - "@angular/common": "~4.4.4", - "@angular/compiler": "~4.4.4", - "@angular/core": "~4.4.4", - "@angular/forms": "~4.4.4", - "@angular/platform-browser": "~4.4.4", + "@angular/animations": "~5.0.0-rc.9", + "@angular/common": "~5.0.0-rc.9", + "@angular/compiler": "~5.0.0-rc.9", + "@angular/core": "~5.0.0-rc.9", + "@angular/forms": "~5.0.0-rc.9", + "@angular/platform-browser": "~5.0.0-rc.9", "core-js": "^2.4.1", "rxjs": "^5.5.0", "systemjs": "0.19.43", - "tsickle": "^0.23.5", + "tsickle": "^0.24.x", "tslib": "^1.7.1", "zone.js": "^0.8.12" }, "devDependencies": { - "@angular/compiler-cli": "~4.4.4", - "@angular/http": "~4.4.4", - "@angular/platform-browser-dynamic": "~4.4.4", - "@angular/platform-server": "~4.4.4", - "@angular/router": "~4.4.4", - "@angular/tsc-wrapped": "~4.4.4", + "@angular/compiler-cli": "~5.0.0-rc.9", + "@angular/http": "~5.0.0-rc.9", + "@angular/platform-browser-dynamic": "~5.0.0-rc.9", + "@angular/platform-server": "~5.0.0-rc.9", + "@angular/router": "~5.0.0-rc.9", "@google-cloud/storage": "^1.1.1", "@types/chalk": "^0.4.31", "@types/fs-extra": "^4.0.3", @@ -83,6 +82,7 @@ "gulp-rename": "^1.2.2", "gulp-sass": "^3.1.0", "gulp-transform": "^2.0.0", + "gulp-util": "^3.0.8", "hammerjs": "^2.0.8", "highlight.js": "^9.11.0", "http-rewrite-middleware": "^0.1.6", diff --git a/scripts/closure-compiler/build-devapp-bundle.sh b/scripts/closure-compiler/build-devapp-bundle.sh index 0ef948ca2e8a..1f1bd5363168 100755 --- a/scripts/closure-compiler/build-devapp-bundle.sh +++ b/scripts/closure-compiler/build-devapp-bundle.sh @@ -63,17 +63,18 @@ OPTS=( dist/releases/material-moment-adapter/esm2015/material-moment-adapter.js # Include all Angular FESM bundles. - node_modules/@angular/core/@angular/core.js - node_modules/@angular/common/@angular/common.js - node_modules/@angular/common/@angular/common/http.js - node_modules/@angular/compiler/@angular/compiler.js - node_modules/@angular/forms/@angular/forms.js - node_modules/@angular/router/@angular/router.js - node_modules/@angular/platform-browser/@angular/platform-browser.js - node_modules/@angular/platform-browser/@angular/platform-browser/animations.js - node_modules/@angular/platform-browser-dynamic/@angular/platform-browser-dynamic.js - node_modules/@angular/animations/@angular/animations.js - node_modules/@angular/animations/@angular/animations/browser.js + node_modules/@angular/core/esm5/index.js + node_modules/@angular/common/esm5/index.js + node_modules/@angular/common/esm5/http.js + node_modules/@angular/compiler/esm5/index.js + node_modules/@angular/forms/esm5/index.js + node_modules/@angular/http/esm5/index.js + node_modules/@angular/router/esm5/index.js + node_modules/@angular/platform-browser/esm5/index.js + node_modules/@angular/platform-browser/esm5/animations/index.js + node_modules/@angular/platform-browser-dynamic/esm5/index.js + node_modules/@angular/animations/esm5/index.js + node_modules/@angular/animations/esm5/browser/index.js # Include other dependencies like Zone.js, Moment.js, and RxJS node_modules/zone.js/dist/zone.js diff --git a/src/cdk/scrolling/scroll-dispatcher.spec.ts b/src/cdk/scrolling/scroll-dispatcher.spec.ts index bd63a5f9b1bb..b4c249f4e556 100644 --- a/src/cdk/scrolling/scroll-dispatcher.spec.ts +++ b/src/cdk/scrolling/scroll-dispatcher.spec.ts @@ -67,24 +67,15 @@ describe('Scroll Dispatcher', () => { })); it('should not execute the global events in the Angular zone', () => { - const spy = jasmine.createSpy('zone unstable callback'); - const subscription = fixture.ngZone!.onUnstable.subscribe(spy); - scroll.scrolled(0).subscribe(() => {}); dispatchFakeEvent(document, 'scroll', false); - expect(spy).not.toHaveBeenCalled(); - subscription.unsubscribe(); + expect(fixture.ngZone!.isStable).toBe(true); }); it('should not execute the scrollable events in the Angular zone', () => { - const spy = jasmine.createSpy('zone unstable callback'); - const subscription = fixture.ngZone!.onUnstable.subscribe(spy); - - dispatchFakeEvent(fixture.componentInstance.scrollingElement.nativeElement, 'scroll', false); - - expect(spy).not.toHaveBeenCalled(); - subscription.unsubscribe(); + dispatchFakeEvent(fixture.componentInstance.scrollingElement.nativeElement, 'scroll'); + expect(fixture.ngZone!.isStable).toBe(true); }); it('should be able to unsubscribe from the global scrollable', () => { diff --git a/src/cdk/table/row.ts b/src/cdk/table/row.ts index 3a148a775951..524e57633104 100644 --- a/src/cdk/table/row.ts +++ b/src/cdk/table/row.ts @@ -141,7 +141,7 @@ export class CdkCellOutlet { * a handle to provide that component's cells and context. After init, the CdkCellOutlet will * construct the cells with the provided context. */ - static mostRecentCellOutlet: CdkCellOutlet; + static mostRecentCellOutlet: CdkCellOutlet | null = null; constructor(public _viewContainer: ViewContainerRef) { CdkCellOutlet.mostRecentCellOutlet = this; diff --git a/src/cdk/table/table.ts b/src/cdk/table/table.ts index b2df1ea5ccaf..0c32acdd64af 100644 --- a/src/cdk/table/table.ts +++ b/src/cdk/table/table.ts @@ -293,7 +293,9 @@ export class CdkTable implements CollectionViewer { .createEmbeddedView(this._headerDef.template, {cells}); cells.forEach(cell => { - CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {}); + if (CdkCellOutlet.mostRecentCellOutlet) { + CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {}); + } }); this._changeDetectorRef.markForCheck(); @@ -361,7 +363,10 @@ export class CdkTable implements CollectionViewer { this._rowPlaceholder.viewContainer.createEmbeddedView(row.template, context, index); this._getCellTemplatesForRow(row).forEach(cell => { - CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, context); + if (CdkCellOutlet.mostRecentCellOutlet) { + CdkCellOutlet.mostRecentCellOutlet._viewContainer + .createEmbeddedView(cell.template, context); + } }); this._changeDetectorRef.markForCheck(); diff --git a/src/cdk/tsconfig-build.json b/src/cdk/tsconfig-build.json index cbae6367a2b8..4a62901bfd86 100644 --- a/src/cdk/tsconfig-build.json +++ b/src/cdk/tsconfig-build.json @@ -20,7 +20,7 @@ "skipLibCheck": true, "types": [], "paths": { - "@angular/cdk/*": ["../../dist/packages/cdk/*/public-api"] + "@angular/cdk/*": ["../../dist/packages/cdk/*"] } }, "files": [ diff --git a/src/cdk/tsconfig-es5.json b/src/cdk/tsconfig-es5.json index e85105f31cfd..eeb6d924c00c 100644 --- a/src/cdk/tsconfig-es5.json +++ b/src/cdk/tsconfig-es5.json @@ -21,7 +21,7 @@ "skipLibCheck": true, "types": [], "paths": { - "@angular/cdk/*": ["../../dist/packages/cdk/*/public-api"] + "@angular/cdk/*": ["../../dist/packages/cdk/*"] } }, "files": [ diff --git a/src/cdk/tsconfig-tests.json b/src/cdk/tsconfig-tests.json index 2b24877a7677..86b715415315 100644 --- a/src/cdk/tsconfig-tests.json +++ b/src/cdk/tsconfig-tests.json @@ -17,6 +17,11 @@ "./testing/index.ts", "typings.d.ts" ], + "angularCompilerOptions": { + "strictMetadataEmit": true, + "skipTemplateCodegen": true, + "emitDecoratorMetadata": true + }, "include": [ // Include the index.ts for each secondary entry-point "./*/index.ts", diff --git a/src/e2e-app/e2e-app-module.ts b/src/e2e-app/e2e-app-module.ts index a9fd3f395e7c..c1e98b503981 100644 --- a/src/e2e-app/e2e-app-module.ts +++ b/src/e2e-app/e2e-app-module.ts @@ -13,7 +13,7 @@ import {DialogE2E, TestDialog} from './dialog/dialog-e2e'; import {GridListE2E} from './grid-list/grid-list-e2e'; import {ProgressBarE2E} from './progress-bar/progress-bar-e2e'; import {ProgressSpinnerE2E} from './progress-spinner/progress-spinner-e2e'; -import {FullscreenE2E, TestDialog as TestDialogFullScreen} from './fullscreen/fullscreen-e2e'; +import {FullscreenE2E, TestDialogFullScreen} from './fullscreen/fullscreen-e2e'; import {E2E_APP_ROUTES} from './e2e-app/routes'; import {SlideToggleE2E} from './slide-toggle/slide-toggle-e2e'; import {InputE2E} from './input/input-e2e'; diff --git a/src/e2e-app/fullscreen/fullscreen-e2e.ts b/src/e2e-app/fullscreen/fullscreen-e2e.ts index 3bf543d9c965..a74d5fdc385f 100644 --- a/src/e2e-app/fullscreen/fullscreen-e2e.ts +++ b/src/e2e-app/fullscreen/fullscreen-e2e.ts @@ -8,12 +8,12 @@ import {MatDialog, MatDialogRef} from '@angular/material'; }) export class FullscreenE2E { - dialogRef: MatDialogRef | null; + dialogRef: MatDialogRef | null; constructor (private _element: ElementRef, private _dialog: MatDialog) { } openDialog() { - this.dialogRef = this._dialog.open(TestDialog); + this.dialogRef = this._dialog.open(TestDialogFullScreen); this.dialogRef.componentInstance.openFullscreen.subscribe(() => this.openFullscreen()); this.dialogRef.componentInstance.exitFullscreen.subscribe(() => this.exitFullscreen()); @@ -54,9 +54,9 @@ export class FullscreenE2E { ` }) -export class TestDialog { +export class TestDialogFullScreen { @Output() openFullscreen = new EventEmitter(); @Output() exitFullscreen = new EventEmitter(); - constructor(public dialogRef: MatDialogRef) {} + constructor(public dialogRef: MatDialogRef) {} } diff --git a/src/lib/checkbox/checkbox.html b/src/lib/checkbox/checkbox.html index 3174c6804464..e706b5c2940f 100644 --- a/src/lib/checkbox/checkbox.html +++ b/src/lib/checkbox/checkbox.html @@ -24,7 +24,6 @@ { * Checks if two dates are equal. * @param first The first date to check. * @param second The second date to check. - * @returns {boolean} Whether the two dates are equal. + * @returns Whether the two dates are equal. * Null dates are considered equal to other null dates. */ sameDate(first: D | null, second: D | null): boolean { diff --git a/src/lib/core/option/option.spec.ts b/src/lib/core/option/option.spec.ts index aa13e8b911a1..6e963b81b767 100644 --- a/src/lib/core/option/option.spec.ts +++ b/src/lib/core/option/option.spec.ts @@ -61,6 +61,6 @@ describe('MatOption component', () => { @Component({ template: `` }) -export class OptionWithDisable { +class OptionWithDisable { disabled: boolean; } diff --git a/src/lib/datepicker/datepicker-toggle.html b/src/lib/datepicker/datepicker-toggle.html index 57546536b130..18c2b17f19e8 100644 --- a/src/lib/datepicker/datepicker-toggle.html +++ b/src/lib/datepicker/datepicker-toggle.html @@ -1,8 +1,8 @@