From 9237f2916b85ad6614ad1978da5b25fcf1e9d29d Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 19 Sep 2019 20:00:12 +0200 Subject: [PATCH 1/2] build: ensure postinstall patches are applied properly Ensures the postinstall fails if some replacements could not be made. This ensures that we don't update Angular and invalidate some of the workarounds. This would result in broken release output then. --- tools/bazel/postinstall-patches.js | 95 +++++++++++++++++++----------- 1 file changed, 61 insertions(+), 34 deletions(-) diff --git a/tools/bazel/postinstall-patches.js b/tools/bazel/postinstall-patches.js index 28f4331fb67d..77be6dbf9ac2 100644 --- a/tools/bazel/postinstall-patches.js +++ b/tools/bazel/postinstall-patches.js @@ -6,9 +6,13 @@ const shelljs = require('shelljs'); const path = require('path'); +const fs = require('fs'); + +/** Path to the project directory. */ +const projectDir = path.join(__dirname, '../..'); shelljs.set('-e'); -shelljs.cd(path.join(__dirname, '../..')); +shelljs.cd(projectDir); // Do not apply postinstall patches when running "postinstall" outside. The // "generate_build_file.js" file indicates that we run in Bazel managed node modules. @@ -22,68 +26,91 @@ shelljs.exec('ngc -p angular-tsconfig.json'); // Workaround for https://github.com/angular/angular/issues/30586. It's not possible to // enable tsickle decorator processing without enabling import rewriting to closure. // This replacement allows us to enable decorator processing without rewriting imports. -shelljs.sed( - '-i', /(this\.transformTypesToClosure) = bazelOpts\.tsickle;/, '$1 = false;', +searchAndReplace( + /(this\.transformTypesToClosure) = bazelOpts\.tsickle;/, '$1 = false;', 'node_modules/@bazel/typescript/internal/tsc_wrapped/compiler_host.js'); -shelljs.sed( - '-i', 'bazelOpts\.tsickleExternsPath', 'null', +searchAndReplace( + 'bazelOpts\.tsickleExternsPath', 'null', 'node_modules/@bazel/typescript/internal/tsc_wrapped/tsc_wrapped.js'); // Workaround for https://github.com/angular/angular/issues/32389. We need to ensure // that tsickle is available for esm5 output re-compilations. -shelljs.sed( - '-i', '@npm//@bazel/typescript/bin:tsc_wrapped', +searchAndReplace( + '@npm//@bazel/typescript/bin:tsc_wrapped', '@angular_material//tools/bazel:tsc_wrapped_with_tsickle', 'node_modules/@angular/bazel/src/esm5.bzl'); // Workaround for: https://github.com/angular/angular/issues/32651. We just do not // generate re-exports for secondary entry-points. Similar to what "ng-packagr" does. -shelljs.sed('-i', /(?!function\s+)createMetadataReexportFile\([^)]+\);/, - '', 'node_modules/@angular/bazel/src/ng_package/packager.js'); -shelljs.sed('-i', /(?!function\s+)createTypingsReexportFile\([^)]+\);/, - '', 'node_modules/@angular/bazel/src/ng_package/packager.js'); +searchAndReplace( + /(?!function\s+)createMetadataReexportFile\([^)]+\);/, '', + 'node_modules/@angular/bazel/src/ng_package/packager.js'); +searchAndReplace( + /(?!function\s+)createTypingsReexportFile\([^)]+\);/, '', + 'node_modules/@angular/bazel/src/ng_package/packager.js'); // Workaround for: https://github.com/angular/angular/pull/32650 -shelljs.sed('-i', 'var indexFile;', ` +searchAndReplace( + 'var indexFile;', ` var publicApiFile = files.find(f => f.endsWith('/public-api.ts')); var moduleFile = files.find(f => f.endsWith('/module.ts')); var indexFile = publicApiFile || moduleFile; -`, 'node_modules/@angular/compiler-cli/src/metadata/bundle_index_host.js'); -shelljs.sed('-i', 'var resolvedEntryPoint = null;', ` +`, + 'node_modules/@angular/compiler-cli/src/metadata/bundle_index_host.js'); +searchAndReplace( + 'var resolvedEntryPoint = null;', ` var publicApiFile = tsFiles.find(f => f.endsWith('/public-api.ts')); var moduleFile = tsFiles.find(f => f.endsWith('/module.ts')); var resolvedEntryPoint = publicApiFile || moduleFile || null; -`, 'node_modules/@angular/compiler-cli/src/ngtsc/entry_point/src/logic.js'); +`, + 'node_modules/@angular/compiler-cli/src/ngtsc/entry_point/src/logic.js'); -// Workaround for https://github.com/angular/angular/issues/32603. Note that we don't -// want to apply the patch if it has been applied already. -if (!shelljs.test('-f', 'node_modules/@angular/bazel/src/ng_package/rollup_bin.js')) { - shelljs.cat(path.join(__dirname, './rollup_windows_arguments.patch')).exec('patch -p0'); -} +// Workaround for https://github.com/angular/angular/issues/32603. +shelljs.cat(path.join(__dirname, './rollup_windows_arguments.patch')).exec('patch -p0'); // Workaround for: https://hackmd.io/MlqFp-yrSx-0mw4rD7dnQQ?both. We only want to discard // the metadata of files in the bazel managed node modules. That way we keep the default // behavior of ngc-wrapped except for dependencies between sources of the library. This makes // the "generateCodeForLibraries" flag more accurate in the Bazel environment where previous // compilations should not be treated as external libraries. Read more about this in the document. -shelljs.sed('-i', /if \((this\.options\.generateCodeForLibraries === false)/, ` +searchAndReplace( + /if \((this\.options\.generateCodeForLibraries === false)/, ` const fs = require('fs'); const hasFlatModuleBundle = fs.existsSync(filePath.replace('.d.ts', '.metadata.json')); if ((filePath.includes('node_modules/') || !hasFlatModuleBundle) && $1`, - 'node_modules/@angular/compiler-cli/src/transformers/compiler_host.js'); + 'node_modules/@angular/compiler-cli/src/transformers/compiler_host.js'); shelljs.cat(path.join(__dirname, './flat_module_factory_resolution.patch')).exec('patch -p0'); // The three replacements below ensure that metadata files can be read by NGC and // that metadata files are collected as Bazel action inputs. -shelljs.sed('-i', /(const NGC_ASSETS = \/[^(]+\()([^)]*)(\).*\/;)/, '$1$2|metadata.json$3', - 'node_modules/@angular/bazel/src/ngc-wrapped/index.js'); -shelljs.sed('-i', /^((\s*)results = depset\(dep.angular.summaries, transitive = \[results]\))$/, - `$1#\n$2results = depset(dep.angular.metadata, transitive = [results])`, - 'node_modules/@angular/bazel/src/ng_module.bzl'); -shelljs.sed('-i', - /^((\s*)results = depset\(target.angular.summaries if hasattr\(target, "angular"\) else \[]\))$/, - `$1#\n$2results = depset(target.angular.metadata if hasattr(target, "angular") else [], transitive = [results])`, - 'node_modules/@angular/bazel/src/ng_module.bzl'); +searchAndReplace( + /(const NGC_ASSETS = \/[^(]+\()([^)]*)(\).*\/;)/, '$1$2|metadata.json$3', + 'node_modules/@angular/bazel/src/ngc-wrapped/index.js'); +searchAndReplace( + /^((\s*)results = depset\(dep.angular.summaries, transitive = \[results]\))$/m, + `$1#\n$2results = depset(dep.angular.metadata, transitive = [results])`, + 'node_modules/@angular/bazel/src/ng_module.bzl'); +searchAndReplace( + /^((\s*)results = depset\(target.angular.summaries if hasattr\(target, "angular"\) else \[]\))$/m, + `$1#\n$2results = depset(target.angular.metadata if hasattr(target, "angular") else [], transitive = [results])`, + 'node_modules/@angular/bazel/src/ng_module.bzl'); // Ensure that "metadata" of transitive dependencies can be collected. -shelljs.sed('-i', /("metadata": outs.metadata),/, - `$1 + [m for dep in ctx.attr.deps if hasattr(dep, "angular") for m in dep.angular.metadata],`, - 'node_modules/@angular/bazel/src/ng_module.bzl'); +searchAndReplace( + /("metadata": outs.metadata),/, + `$1 + [m for dep in ctx.attr.deps if hasattr(dep, "angular") for m in dep.angular.metadata],`, + 'node_modules/@angular/bazel/src/ng_module.bzl'); + +/** + * Reads the specified file and replaces matches of the search expression + * with the given replacement. Throws if no changes were made. + */ +function searchAndReplace(search, replacement, relativeFilePath) { + const filePath = path.join(projectDir, relativeFilePath); + const originalContent = fs.readFileSync(filePath, 'utf8'); + const newFileContent = originalContent.replace(search, replacement); + + if (originalContent === newFileContent) { + throw Error(`Could not perform replacement in: ${filePath}.`); + } + + fs.writeFileSync(filePath, newFileContent, 'utf8'); +} From c85ab3b5fbe571338177c190db7ad9a1ea194f7c Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 19 Sep 2019 22:43:30 +0200 Subject: [PATCH 2/2] build: update to angular v9.0.0-next.7 --- WORKSPACE | 14 +- package.json | 44 +-- src/cdk-experimental/tsconfig-build.json | 1 + src/cdk/schematics/testing/test-case-setup.ts | 9 + src/cdk/tsconfig-build.json | 1 + src/google-maps/tsconfig-build.json | 1 + src/material-examples/tsconfig-build.json | 1 + src/material-experimental/tsconfig-build.json | 1 + .../tsconfig-build.json | 1 + src/material/button/testing/shared.spec.ts | 8 +- src/material/checkbox/testing/BUILD.bazel | 1 + src/material/checkbox/testing/shared.spec.ts | 7 + src/material/radio/testing/BUILD.bazel | 1 + src/material/radio/testing/shared.spec.ts | 9 + src/material/slide-toggle/testing/BUILD.bazel | 1 + .../slide-toggle/testing/shared.spec.ts | 9 + src/material/tsconfig-build.json | 1 + src/youtube-player/tsconfig-build.json | 1 + yarn.lock | 254 +++++++++--------- 19 files changed, 206 insertions(+), 159 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index eb724044df63..dfa542aa053e 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -5,11 +5,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Add NodeJS rules (explicitly used for sass bundle rules) http_archive( name = "build_bazel_rules_nodejs", - sha256 = "3356c6b767403392bab018ce91625f6d15ff8f11c6d772dc84bc9cada01c669a", - # Note that we cannot update to rules_nodejs#0.36.2 as it contains a bug where - # node output binaries cannot be launched on windows. We can update once the - # fix is released: https://github.com/bazelbuild/rules_nodejs/pull/1104. - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.36.1/rules_nodejs-0.36.1.tar.gz"], + sha256 = "da217044d24abd16667324626a33581f3eaccabf80985b2688d6a08ed2f864be", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.37.1/rules_nodejs-0.37.1.tar.gz"], ) # Add sass rules @@ -76,9 +73,12 @@ load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories" web_test_repositories() -load("@npm_bazel_karma//:browser_repositories.bzl", "browser_repositories") +load("@io_bazel_rules_webtesting//web/versioned:browsers-0.3.2.bzl", "browser_repositories") -browser_repositories() +browser_repositories( + chromium = True, + firefox = True, +) # Fetch transitive dependencies which are needed to use the Sass rules. load("@io_bazel_rules_sass//:package.bzl", "rules_sass_dependencies") diff --git a/package.json b/package.json index c98c05b36aec..ac4738c8a0b1 100644 --- a/package.json +++ b/package.json @@ -40,13 +40,13 @@ "requiredAngularVersion": "^8.0.0 || ^9.0.0-0", "requiredMDCVersion": "^4.0.0-alpha.0", "dependencies": { - "@angular/animations": "^8.2.2", - "@angular/common": "^8.2.2", - "@angular/compiler": "^8.2.2", - "@angular/core": "^8.2.2", - "@angular/elements": "^8.2.2", - "@angular/forms": "^8.2.2", - "@angular/platform-browser": "^8.2.2", + "@angular/animations": "^9.0.0-next.7", + "@angular/common": "^9.0.0-next.7", + "@angular/compiler": "^9.0.0-next.7", + "@angular/core": "^9.0.0-next.7", + "@angular/elements": "^9.0.0-next.7", + "@angular/forms": "^9.0.0-next.7", + "@angular/platform-browser": "^9.0.0-next.7", "@types/googlemaps": "^3.37.0", "@types/youtube": "^0.0.38", "@webcomponents/custom-elements": "^1.1.0", @@ -56,27 +56,27 @@ "systemjs": "0.19.43", "tsickle": "^0.35.0", "tslib": "^1.9.3", - "zone.js": "~0.9.1" + "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/core": "^8.2.1", - "@angular-devkit/schematics": "^8.2.1", - "@angular/bazel": "^8.2.2", - "@angular/compiler-cli": "^8.2.2", - "@angular/platform-browser-dynamic": "^8.2.2", - "@angular/platform-server": "^8.2.2", - "@angular/router": "^8.2.2", - "@angular/upgrade": "^8.2.2", + "@angular-devkit/core": "^9.0.0-next.5", + "@angular-devkit/schematics": "^9.0.0-next.5", + "@angular/bazel": "^9.0.0-next.7", + "@angular/compiler-cli": "^9.0.0-next.7", + "@angular/platform-browser-dynamic": "^9.0.0-next.7", + "@angular/platform-server": "^9.0.0-next.7", + "@angular/router": "^9.0.0-next.7", + "@angular/upgrade": "^9.0.0-next.7", "@bazel/bazel": "^0.29.0", "@bazel/buildifier": "^0.28.0", "@bazel/ibazel": "^0.10.3", - "@bazel/jasmine": "0.36.1", - "@bazel/karma": "0.36.1", - "@bazel/typescript": "0.36.1", - "@bazel/protractor": "0.36.1", + "@bazel/jasmine": "^0.37.1", + "@bazel/karma": "^0.37.1", + "@bazel/typescript": "^0.37.1", + "@bazel/protractor": "^0.37.1", "@firebase/app-types": "^0.3.2", "@octokit/rest": "^16.28.7", - "@schematics/angular": "^8.2.1", + "@schematics/angular": "^9.0.0-next.5", "@types/browser-sync": "^2.26.1", "@types/chalk": "^0.4.31", "@types/fs-extra": "^4.0.3", @@ -99,7 +99,7 @@ "browser-sync": "^2.26.7", "chalk": "^1.1.3", "clang-format": "^1.2.4", - "codelyzer": "^5.1.0", + "codelyzer": "^5.1.1", "conventional-changelog": "^3.0.5", "dgeni": "^0.4.11", "dgeni-packages": "^0.27.1", diff --git a/src/cdk-experimental/tsconfig-build.json b/src/cdk-experimental/tsconfig-build.json index b89a874f3ad7..8c52576b7474 100644 --- a/src/cdk-experimental/tsconfig-build.json +++ b/src/cdk-experimental/tsconfig-build.json @@ -22,6 +22,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/cdk/schematics/testing/test-case-setup.ts b/src/cdk/schematics/testing/test-case-setup.ts index 2db9a08c99ac..e4940e08c7c1 100644 --- a/src/cdk/schematics/testing/test-case-setup.ts +++ b/src/cdk/schematics/testing/test-case-setup.ts @@ -81,6 +81,15 @@ export async function createTestCaseSetup(migrationName: string, collectionPath: writeFile(relativePath, inputContent); }); + const testAppTsconfigPath = 'projects/cdk-testing/tsconfig.app.json'; + const testAppTsconfig = JSON.parse(appTree.readContent(testAppTsconfigPath)); + + // include all TypeScript files in the project. Otherwise all test input + // files won't be part of the program and cannot be migrated. + testAppTsconfig.include.push('src/**/*.ts'); + + writeFile(testAppTsconfigPath, JSON.stringify(testAppTsconfig, null, 2)); + const runFixers = async function() { // Switch to the new temporary directory to simulate that "ng update" is ran // from within the project. diff --git a/src/cdk/tsconfig-build.json b/src/cdk/tsconfig-build.json index 63a2c49fb795..0c28e64877cd 100644 --- a/src/cdk/tsconfig-build.json +++ b/src/cdk/tsconfig-build.json @@ -21,6 +21,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/google-maps/tsconfig-build.json b/src/google-maps/tsconfig-build.json index df3b99e4eef7..f51f09247bff 100644 --- a/src/google-maps/tsconfig-build.json +++ b/src/google-maps/tsconfig-build.json @@ -21,6 +21,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/material-examples/tsconfig-build.json b/src/material-examples/tsconfig-build.json index 881d6939becb..857915ffd14c 100644 --- a/src/material-examples/tsconfig-build.json +++ b/src/material-examples/tsconfig-build.json @@ -38,6 +38,7 @@ "public-api.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/material-experimental/tsconfig-build.json b/src/material-experimental/tsconfig-build.json index b1cdf0046e27..2286112cdb75 100644 --- a/src/material-experimental/tsconfig-build.json +++ b/src/material-experimental/tsconfig-build.json @@ -24,6 +24,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/material-moment-adapter/tsconfig-build.json b/src/material-moment-adapter/tsconfig-build.json index b37d32e42d58..587c480dccaa 100644 --- a/src/material-moment-adapter/tsconfig-build.json +++ b/src/material-moment-adapter/tsconfig-build.json @@ -36,6 +36,7 @@ "public-api.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/material/button/testing/shared.spec.ts b/src/material/button/testing/shared.spec.ts index d18cff30a0f0..2019e6e50662 100644 --- a/src/material/button/testing/shared.spec.ts +++ b/src/material/button/testing/shared.spec.ts @@ -83,9 +83,11 @@ export function runHarnessTests( it('should not click a disabled button', async () => { // Older versions of Edge have a bug where `disabled` buttons are still clickable if - // they contain child elements. We skip this check on Edge. - // See https://stackoverflow.com/questions/32377026/disabled-button-is-clickable-on-edge-browser - if (platform.EDGE) { + // they contain child elements. Also new versions of Firefox (starting v65) do not + // cancel dispatched click events on disabled buttons. We skip this check on Edge and Firefox. + // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1582570 and: + // https://stackoverflow.com/questions/32377026/disabled-button-is-clickable-on-edge-browser + if (platform.EDGE || platform.FIREFOX) { return; } diff --git a/src/material/checkbox/testing/BUILD.bazel b/src/material/checkbox/testing/BUILD.bazel index 4e45ca9fd03d..1be57295a047 100644 --- a/src/material/checkbox/testing/BUILD.bazel +++ b/src/material/checkbox/testing/BUILD.bazel @@ -20,6 +20,7 @@ ng_test_library( srcs = ["shared.spec.ts"], deps = [ ":testing", + "//src/cdk/platform", "//src/cdk/testing", "//src/cdk/testing/testbed", "//src/material/checkbox", diff --git a/src/material/checkbox/testing/shared.spec.ts b/src/material/checkbox/testing/shared.spec.ts index 246529c5c63c..2dc92eb05353 100644 --- a/src/material/checkbox/testing/shared.spec.ts +++ b/src/material/checkbox/testing/shared.spec.ts @@ -1,3 +1,4 @@ +import {Platform} from '@angular/cdk/platform'; import {HarnessLoader} from '@angular/cdk/testing'; import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed'; import {Component} from '@angular/core'; @@ -12,6 +13,7 @@ import {MatCheckboxHarness} from '@angular/material/checkbox/testing/checkbox-ha */ export function runHarnessTests( checkboxModule: typeof MatCheckboxModule, checkboxHarness: typeof MatCheckboxHarness) { + const platform = new Platform(); let fixture: ComponentFixture; let loader: HarnessLoader; @@ -152,6 +154,11 @@ export function runHarnessTests( }); it('should not toggle disabled checkbox', async () => { + if (platform.FIREFOX) { + // do run this test on firefox as click events on the label of a disabled checkbox + // cause the value to be changed. https://bugzilla.mozilla.org/show_bug.cgi?id=1540995 + return; + } const disabledCheckbox = await loader.getHarness(checkboxHarness.with({label: 'Second'})); expect(await disabledCheckbox.isChecked()).toBe(false); await disabledCheckbox.toggle(); diff --git a/src/material/radio/testing/BUILD.bazel b/src/material/radio/testing/BUILD.bazel index 6dff40f93d7d..8f5fc79e058b 100644 --- a/src/material/radio/testing/BUILD.bazel +++ b/src/material/radio/testing/BUILD.bazel @@ -20,6 +20,7 @@ ng_test_library( srcs = ["shared.spec.ts"], deps = [ ":testing", + "//src/cdk/platform", "//src/cdk/testing", "//src/cdk/testing/testbed", "//src/material/radio", diff --git a/src/material/radio/testing/shared.spec.ts b/src/material/radio/testing/shared.spec.ts index 00fa850f2a4e..605603af5858 100644 --- a/src/material/radio/testing/shared.spec.ts +++ b/src/material/radio/testing/shared.spec.ts @@ -1,3 +1,4 @@ +import {Platform} from '@angular/cdk/platform'; import {HarnessLoader} from '@angular/cdk/testing'; import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed'; import {Component} from '@angular/core'; @@ -10,6 +11,7 @@ import {MatRadioButtonHarness, MatRadioGroupHarness} from './radio-harness'; export function runHarnessTests(radioModule: typeof MatRadioModule, radioGroupHarness: typeof MatRadioGroupHarness, radioButtonHarness: typeof MatRadioButtonHarness) { + const platform = new Platform(); let fixture: ComponentFixture; let loader: HarnessLoader; @@ -225,6 +227,13 @@ export function runHarnessTests(radioModule: typeof MatRadioModule, }); it('should not be able to check disabled radio-button', async () => { + if (platform.FIREFOX) { + // do run this test on firefox as click events on the label of the underlying + // input checkbox cause the value to be changed. Read more in the bug report: + // https://bugzilla.mozilla.org/show_bug.cgi?id=1540995 + return; + } + fixture.componentInstance.disableAll = true; fixture.detectChanges(); diff --git a/src/material/slide-toggle/testing/BUILD.bazel b/src/material/slide-toggle/testing/BUILD.bazel index 496b16078f3f..4e699099157b 100644 --- a/src/material/slide-toggle/testing/BUILD.bazel +++ b/src/material/slide-toggle/testing/BUILD.bazel @@ -20,6 +20,7 @@ ng_test_library( srcs = ["shared.spec.ts"], deps = [ ":testing", + "//src/cdk/platform", "//src/cdk/testing", "//src/cdk/testing/testbed", "//src/material/slide-toggle", diff --git a/src/material/slide-toggle/testing/shared.spec.ts b/src/material/slide-toggle/testing/shared.spec.ts index 10133daffa8e..7cfc583c3a7a 100644 --- a/src/material/slide-toggle/testing/shared.spec.ts +++ b/src/material/slide-toggle/testing/shared.spec.ts @@ -1,3 +1,4 @@ +import {Platform} from '@angular/cdk/platform'; import {HarnessLoader} from '@angular/cdk/testing'; import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed'; import {Component} from '@angular/core'; @@ -10,6 +11,7 @@ import {MatSlideToggleHarness} from '@angular/material/slide-toggle/testing/slid export function runHarnessTests( slideToggleModule: typeof MatSlideToggleModule, slideToggleHarness: typeof MatSlideToggleHarness) { + const platform = new Platform(); let fixture: ComponentFixture; let loader: HarnessLoader; @@ -133,6 +135,13 @@ export function runHarnessTests( }); it('should not toggle disabled slide-toggle', async () => { + if (platform.FIREFOX) { + // do run this test on firefox as click events on the label of the underlying + // input checkbox cause the value to be changed. Read more in the bug report: + // https://bugzilla.mozilla.org/show_bug.cgi?id=1540995 + return; + } + const disabledToggle = await loader.getHarness(slideToggleHarness.with({label: 'Second'})); expect(await disabledToggle.isChecked()).toBe(false); await disabledToggle.toggle(); diff --git a/src/material/tsconfig-build.json b/src/material/tsconfig-build.json index 47d6a4ad415a..d18c645eec06 100644 --- a/src/material/tsconfig-build.json +++ b/src/material/tsconfig-build.json @@ -23,6 +23,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/src/youtube-player/tsconfig-build.json b/src/youtube-player/tsconfig-build.json index df2408a71a8b..af1ba9047ce0 100644 --- a/src/youtube-player/tsconfig-build.json +++ b/src/youtube-player/tsconfig-build.json @@ -19,6 +19,7 @@ "typings.d.ts" ], "angularCompilerOptions": { + "enableIvy": false, "annotateForClosureCompiler": true, "strictMetadataEmit": true, "flatModuleOutFile": "index.js", diff --git a/yarn.lock b/yarn.lock index 3f2494cac948..6129bd227c3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,10 +21,10 @@ rxjs "6.4.0" source-map "0.7.3" -"@angular-devkit/core@8.2.1", "@angular-devkit/core@^8.2.1": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.2.1.tgz#f389365e57e93ede2452eaf97aa48999afffe0ef" - integrity sha512-d/PNSZYtJ10tY/TILe3TiB9wLjuxMja/oR0PhdrfuadTF/blZ6Qjg8aVzImkwnvsm+0TgDkIXwcMKnoNa2LDxQ== +"@angular-devkit/core@9.0.0-next.5", "@angular-devkit/core@^9.0.0-next.5": + version "9.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.0.0-next.5.tgz#776da1ca8e510376405cbcf56de9e87fb60ac12f" + integrity sha512-DLFrLkf1YmjXRpH57wR/SH5Y7OmtqfPMoW0qxRV3HC+oNSmjCqv5W7EVWB55jfQ4SdJ5GQCt6x8MHiHL7gK4kg== dependencies: ajv "6.10.2" fast-json-stable-stringify "2.0.0" @@ -40,47 +40,47 @@ "@angular-devkit/core" "8.0.0-rc.0" rxjs "6.4.0" -"@angular-devkit/schematics@8.2.1", "@angular-devkit/schematics@^8.2.1": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.2.1.tgz#7d8ebbb11024c4c1d25e80483929c31bb8c38f1b" - integrity sha512-tyXp1Fl0ZjLjjbnP+4lf3xW1KvBwSjZFGVTEyfTgXXo1zJhZsL+xE5Th588R6t0tdhNkdrCMi0CVzf7PBKQyHg== +"@angular-devkit/schematics@9.0.0-next.5", "@angular-devkit/schematics@^9.0.0-next.5": + version "9.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-9.0.0-next.5.tgz#66f639fede709a35e813b198fa8185c8f3198e93" + integrity sha512-oJ74ryqKjFRxsqNR2Xu7ja0in2PyqILVehMLgTBXgBw01QcWIDLEF0+80A0CQnFhdrCHbsroQMz4LvEQ61jhxw== dependencies: - "@angular-devkit/core" "8.2.1" + "@angular-devkit/core" "9.0.0-next.5" rxjs "6.4.0" -"@angular/animations@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.2.2.tgz#9e4162d242302f9b480cd967c7dccf4b07cdf435" - integrity sha512-vOfZGMDnP5/n4MIxZqT49nVc305EYpRK+bz68hJmZd2QkTxQA+8j84xr4jfIC6zUWdyQqZhwWEF5Lqqy7G155g== +"@angular/animations@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-9.0.0-next.7.tgz#62809382b39ba7cc6c9b96af500f49149669c820" + integrity sha512-6cz5KqiGPgiN82xtvXxrEIM2vhKlJdXmSSb1qBfsLIIbAXxvgBW3kCzJkZsKFCREL8QHqVKuAQFdQ2c3HBlA9A== dependencies: tslib "^1.9.0" -"@angular/bazel@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-8.2.2.tgz#f0ad5c6dd2650f714725268d06ec21cc2423d332" - integrity sha512-0ytl3N5dKdMvpinvzodcV/7Tr36H/z/dTwpxxi0IUWLOJWIxxsS7XJvI1G6uS7C9Xhv6T+YmL/iM1jVzrP0DUA== +"@angular/bazel@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-9.0.0-next.7.tgz#abc118c2f993819c8ac80d314df66be824f1a6fa" + integrity sha512-X1nUo/KzQNqUUw6sw2In/2iC9IFdiWRZQ3zb4p35YmMUTzBSC12TbqLMq6/FHkQ/uqoEKR1YUoC7++3xbv8Wgw== dependencies: "@angular-devkit/architect" "^0.800.0-beta.15" "@angular-devkit/core" "^8.0.0-beta.15" "@angular-devkit/schematics" "^8.0.0-beta.15" - "@microsoft/api-extractor" "^7.0.21" + "@microsoft/api-extractor" "^7.3.9" "@schematics/angular" "^8.0.0-beta.15" "@types/node" "6.0.84" semver "^5.6.0" shelljs "0.8.2" tsickle "^0.35.0" -"@angular/common@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-8.2.2.tgz#367d5d80fec3f37be3e1bcd1fc22091d79cb4a6f" - integrity sha512-PLV2+gj4pSe4MC5fwpEpI0JyWSKkNVvA65CCZvG2XXJTp4eS+ppkCZpEvbXqf7IewpKMAeFkuLi16r92pLG5Vw== +"@angular/common@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-9.0.0-next.7.tgz#5ae5a848e6d359a13347bc932aabdeb205dcdcd5" + integrity sha512-1WzfbX1eF5xJM9mKlj7LMYY8MVOTF0rxL52P6OUBXYBq9e4Wg1d0QoTmpTVrO4bVxkGbuRpgGQqYN5g+QL3M8g== dependencies: tslib "^1.9.0" -"@angular/compiler-cli@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-8.2.2.tgz#0b66157233ca2581e6b478a42150bea992230c8b" - integrity sha512-lEfWykViorBom4iWeZusoH4yAFkalyys/k9sI2qiTSVaH6TyowXbnfTMGfFQXKFydxI9sE86cCPoaRcR6fQcKQ== +"@angular/compiler-cli@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-9.0.0-next.7.tgz#add5b605dd5458ad2a560b8dcbea0e0e05c722fc" + integrity sha512-3paTm6AhiuN4uQTe0zyKI9xek7QK8cWaxR08u5YWx7Zyb4nwvYIOUZ6bVNKynoHVeRyS5PoTIvoG5wOHzuuYyQ== dependencies: canonical-path "1.0.0" chokidar "^2.1.1" @@ -93,68 +93,68 @@ tslib "^1.9.0" yargs "13.1.0" -"@angular/compiler@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.2.2.tgz#382a0ef9abcbc02ca1426945754d263ce9b49073" - integrity sha512-UMhOQehvi9u1r4u48Ymwm5JkdOKoH057ImCo26WqRqJBUgA44xwmUsKLFAmSg1JqzWCO5pBDyA3RaNBscD8ZzQ== +"@angular/compiler@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0-next.7.tgz#06298ba65442dee294d6a887f2ec5e47768ca5f3" + integrity sha512-FfUCtkEABG+Wqa/HVIIN3t/1GRsgFNDS1p/3DgdNwUm79gE/Q6uYdyUP7vi+TaX3iXKilTyTxFd0z21dC4iAqQ== dependencies: tslib "^1.9.0" -"@angular/core@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-8.2.2.tgz#f99a21461fbd6506f73493d5ae8d7027f5a0751a" - integrity sha512-glQLJ3aeRWHMsN9QeJYis5FVdCg0lBU2s9aFX9i6WvVLscYmGoBk+TKsgO+uJjLnUUgsCPLRLzde02IJEQzCGw== +"@angular/core@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0-next.7.tgz#a501fb483433042346fbeb435fbde0f5f8e58320" + integrity sha512-Lz487EWTLwWWbkSA/stiYDXd7f0myGYjJU3AqkorriFmY0QJ6nZZupODNjcf4gpLX09IOTvneK9sEK5OGi4sOQ== dependencies: tslib "^1.9.0" -"@angular/elements@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-8.2.2.tgz#694c8b803eda4334c902d3fc0817825a8097153e" - integrity sha512-JrfZZVFo1uRkeU9xFsXeS3I59R8+rfjJ5y08PIVGjF6RloDS1mCZr7VeqffNorIrNQ9GD3abGy+u6gGsvWZ/wg== +"@angular/elements@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-9.0.0-next.7.tgz#3ba5fa612c6b3e120235403f142a17ac7a7d61b5" + integrity sha512-CxfXNkrGMtQpztwyr34x/oIGLHSlv8XXY7j5PoZsWhVFLqVpGOXRfbE4983VBgFvjFgTvw3qeUo33W0uC5U1gg== dependencies: tslib "^1.9.0" -"@angular/forms@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-8.2.2.tgz#8e06255942615b6d4b550f645d5e647d600f84c1" - integrity sha512-2PTTKWP+GoHRLf3S3HKzn5QJtCMMRaMmcTrbR10hgUmDPdMeULGNZG3OacV8rRbRv4TDtXoqbKp0NRFQ7xsofQ== +"@angular/forms@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-9.0.0-next.7.tgz#a68b44979ad2002ab0e240a7dda00192b113997b" + integrity sha512-UWcx7U22aa/K73rOrUtYxe66/CUxULopdzmOdl3tuitZDHs55L1MXTYlw0xrSFUtB7dUfbLXO/k3rdmIvHSkQQ== dependencies: tslib "^1.9.0" -"@angular/platform-browser-dynamic@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.2.tgz#2d4e348dc204a57757f44d78e09174955890ad3c" - integrity sha512-c34GNNe9iDX6OUw7PJua4BbkUVTeX+SYmv5Iv5+pNENp9n6Y/kousbpoaDjLx37/8ujE8c9U378OeopZoasE4Q== +"@angular/platform-browser-dynamic@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.0-next.7.tgz#e8e9fae2dc772094ec644ffb06437808f79c45f6" + integrity sha512-R1XLmzw4ZIDcYvKg1x9cQG0PSDHsjAjt/ZoVhLTB/AC/V1E95AAkCnmcvTCH4UGDQREG7wc3OBN7KRLJDabbuA== dependencies: tslib "^1.9.0" -"@angular/platform-browser@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-8.2.2.tgz#e2781b6b3e3079efebf3089d544624bd6a702894" - integrity sha512-8PivPsi4Lrtl3vkC/a/s4QUSlv2nXjtea4h+t7zEpj6o9TeONA5iNe1LHSruG66IfOCW/U8l1THHJAsTj/8OAw== +"@angular/platform-browser@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-9.0.0-next.7.tgz#b25e031e2af0a72919743000dc62597f260563c0" + integrity sha512-c90plfSkD5glZET7E5qxHo1F/lRINwM1JaEWHOBEj8jqgVPLrMuRKq3t5ZDEWiGCG2qg4LVtGjJNEXnacOZXxQ== dependencies: tslib "^1.9.0" -"@angular/platform-server@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-8.2.2.tgz#fabcbc2a0d169c79b43560518cc23bda949f603e" - integrity sha512-LSi+CL7uApdSMuCf5IYqO2UbvPzDbvTvpFrpFZgcqweeKhpcaNjfm3M51hrec8eTlpd06ONd93SwKC2gqkmr7A== +"@angular/platform-server@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-9.0.0-next.7.tgz#8f7d7afeb08354d8ede44de3e11b195e73ed104d" + integrity sha512-mbMI84S6iN3aVAj/QO1RYTompnB5ZpsKDykxkZuaTsvb6jTXreeZiPYEK+jU1xO61k4nZGkuDV4vUsEuMIF/Lw== dependencies: domino "^2.1.2" tslib "^1.9.0" xhr2 "^0.1.4" -"@angular/router@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-8.2.2.tgz#a56dd088553521754e493ba5e9e47c674bdd49f2" - integrity sha512-aoIuSiVYBFh53dS4a79ZK23YjQ363x+8hakorDdAdrC3WwGST9YYDpVuNoa/gahkWIWCWN4Q0nl16cjQ6XI6BA== +"@angular/router@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-9.0.0-next.7.tgz#64347051e135844dccaadc7351a294163a699ac0" + integrity sha512-kCkBJZ7s1p/mpp6wffx0X7+LO5v/PzAcBnEDnzmunF+74L6GIv2uB7dLnRSSkdC7Q5A6/CrGPvfSIThIs0UKlQ== dependencies: tslib "^1.9.0" -"@angular/upgrade@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@angular/upgrade/-/upgrade-8.2.2.tgz#2cad0754ed775d4b029ca36dddd41f5cce8b9d09" - integrity sha512-ED5F/cPfFGi72yDaB2FutUgPPIZBsc62HTkpcFNt9m6JX2z4J7XxGKcQFUN/9cMzdbbPjpOJ5LFga046Nv47bQ== +"@angular/upgrade@^9.0.0-next.7": + version "9.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/upgrade/-/upgrade-9.0.0-next.7.tgz#be5ee966944e693762a72ccfbbab79b4b88d58f4" + integrity sha512-ZNGddFz4pZi7xlh672/3TjAtbcLIjRWQh3QDxXwks4lQN4UWAFEl+vivtdSQ1cFI5OmrOLsaIBLTsSKcJp5kMA== dependencies: tslib "^1.9.0" @@ -340,19 +340,19 @@ resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.10.3.tgz#2e2b8a1d3e885946eac41db2b1aa6801fb319887" integrity sha512-v1nXbMTHVlMM4z4uWp6XiRoHAyUlYggF1SOboLLWRp0+D22kWixqArWqnozLw2mOtnxr97BdLjluWiho6A8Hjg== -"@bazel/jasmine@0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-0.36.1.tgz#2069f8deb52a6ee206926936dbfd6829228962c2" - integrity sha512-gXCOeiHWNZzClMmYbKvdhS1ZC62inM2e+/w/Z0kOKDFSoSE9GnC6NuIK4vFlDOPjx0vGy2+ZCb/tezrgpqhp2A== +"@bazel/jasmine@^0.37.1": + version "0.37.1" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-0.37.1.tgz#e5111f4f913b542cbfad767e0f903be026246c5a" + integrity sha512-EQJ2bbmF3w+BeoCMEDY8mKd5lrVuZ4tEc1wqth4Jl2UIYwyEepDAKVMiEeM+seXxmzqle38ksdsf7uSUWMjthA== dependencies: jasmine "~3.4.0" jasmine-core "~3.4.0" v8-coverage "1.0.9" -"@bazel/karma@0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-0.36.1.tgz#3d6e5e8772d2d2799d0b301020c1483ed3fe5de1" - integrity sha512-2zSW12BBJEqV1QYhPiwfTmObKCeyq3Gdox1b+2eYbyNw2HBlCHhWJs0FquGo63LLBn9XZhhk2H2IQmwhUOhx+w== +"@bazel/karma@^0.37.1": + version "0.37.1" + resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-0.37.1.tgz#1c2ba937f8a2a442a629d4edd5219c3623192b12" + integrity sha512-LwcvQkZJvlSWf7jvZY48GG1PJFINDrKHp59hupK8tTWN726sAAoQzQUp8ZO0e/pHKGcl4X6AvqWw3+MvXsGS7Q== dependencies: jasmine-core "2.8.0" karma "^4.0.0" @@ -366,17 +366,17 @@ semver "5.6.0" tmp "0.0.33" -"@bazel/protractor@0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-0.36.1.tgz#7d6dc95deeeb1e79daff3450815cce86067dc067" - integrity sha512-mlsKTTChaUKdqkeNTZ5Ny3PDFI7aul7j6IGYozQUaAopY7qoCMEiOUnwYNYYaf/iKJlcIhQLf7HQwGAq36NTsQ== +"@bazel/protractor@^0.37.1": + version "0.37.1" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-0.37.1.tgz#932aaac40a4fc87a62e3ee52f9d748accf339032" + integrity sha512-kJNVOlPXhTIuZ7Hfjy4+QPSnj0lifvgw/mFUvP1C+XSlZGV9Jg2FfxX6t7gwl0AI6NXFb5JWOG/igL7W3dJ+hA== dependencies: protractor "^5.4.2" -"@bazel/typescript@0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.36.1.tgz#de7994ed8eec90e0593525f62060a302fcf49ef1" - integrity sha512-TvItSk/aGakCmbrxTnbydKxq7bfYzMKqk9tNwHCzC8KqtTTyNuGTHisjqixw8G6jeSrms6vIkfH9YpYw9OHzRQ== +"@bazel/typescript@^0.37.1": + version "0.37.1" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.37.1.tgz#e740f311597dc0ed9d479ae7a88ea35cb2411e34" + integrity sha512-RrZ6rYZTQz0tSwGIGoKykNkhpu8xY3IOAzLA3cmtpNa0pCGEb+PpFBlh//wjcnP8jLg5vK2Qa6jh3SZ2pcYZbg== dependencies: protobufjs "6.8.8" semver "5.6.0" @@ -986,34 +986,34 @@ dependencies: "@material/feature-targeting" "^4.0.0-canary.e851d4f40.0" -"@microsoft/api-extractor-model@7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.1.0.tgz#57e9805ba0f2322dd12945bb0588eeda522519cd" - integrity sha512-DvaJ1fEpwega9TVMR4xR0jeNV/9JHNMxN/t8TuBftZHSLZzTczh8HyqyFxKo2IwDDCoZy5FmXZsq/vo5JQvRMQ== +"@microsoft/api-extractor-model@7.4.1": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.4.1.tgz#3376f72570d336960c9b7b0dd44c8a0dbbe34604" + integrity sha512-rBO/QbrOMCdL8e9qwhIu1aH4C5sKOnUO1YhEh3+kVieFzTjiRnync7ghyQOtCaCVl2VXtp4LuOIv02e82oRqUg== dependencies: - "@microsoft/node-core-library" "3.13.0" - "@microsoft/tsdoc" "0.12.9" + "@microsoft/node-core-library" "3.14.2" + "@microsoft/tsdoc" "0.12.14" "@types/node" "8.5.8" -"@microsoft/api-extractor@^7.0.21": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.1.0.tgz#5def019a10d9ffa689ce72b1da22894b7d454177" - integrity sha512-hWxDowI0eO33OAROt2Uchej8skajNsjAs3xn0c99EoZ1I9sD3QTicPADvCuxEb584jxkyxuBPHcIF3KXLmgs6Q== +"@microsoft/api-extractor@^7.3.9": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.4.2.tgz#440023cf05c69840e054cdb5f85cab9680227a40" + integrity sha512-O8OEaFvsvWEuwkOcVyWegIAFDY6TBZBvSIoOKLsSQYiQZtryGf13e2ym83iewhbUN7RmuOJtyQUKlBvcJbpgQA== dependencies: - "@microsoft/api-extractor-model" "7.1.0" - "@microsoft/node-core-library" "3.13.0" - "@microsoft/ts-command-line" "4.2.3" - "@microsoft/tsdoc" "0.12.9" + "@microsoft/api-extractor-model" "7.4.1" + "@microsoft/node-core-library" "3.14.2" + "@microsoft/ts-command-line" "4.2.8" + "@microsoft/tsdoc" "0.12.14" colors "~1.2.1" - lodash "~4.17.5" + lodash "~4.17.15" resolve "1.8.1" source-map "~0.6.1" - typescript "~3.4.3" + typescript "~3.5.3" -"@microsoft/node-core-library@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@microsoft/node-core-library/-/node-core-library-3.13.0.tgz#ba24e16182149dc817bf52a886d22aced5cd8070" - integrity sha512-mnsL/1ikVWHl8sPNssavaAgtUaIM3hkQ8zeySuApU5dNmsMPzovJPfx9m5JGiMvs1v5QNAIVeiS9jnWwe/7anw== +"@microsoft/node-core-library@3.14.2": + version "3.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/node-core-library/-/node-core-library-3.14.2.tgz#255d421963f2d447a19f935e3c8eb3053e8e381b" + integrity sha512-bd8XhqhIvXsWg/SSNsZJdJxkN8Ucj7XKQkRe4cdYiKqpVdAREvW/shw8AoZIdgvjLI53029I/MO2Wn/AjGD3Jw== dependencies: "@types/fs-extra" "5.0.4" "@types/jju" "~1.4.0" @@ -1024,20 +1024,20 @@ jju "~1.4.0" z-schema "~3.18.3" -"@microsoft/ts-command-line@4.2.3": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@microsoft/ts-command-line/-/ts-command-line-4.2.3.tgz#20d6a1684148b9fc0df25ee7335c3bb227d47d4f" - integrity sha512-SIs4q7RcG7efBbh5Ffrf6V4jVLxWihD4NDRY3+gPiOG8CYawBzE22tTEloZ1yj/FBvBZQkQ0GYwXoPhn6ElYXA== +"@microsoft/ts-command-line@4.2.8": + version "4.2.8" + resolved "https://registry.yarnpkg.com/@microsoft/ts-command-line/-/ts-command-line-4.2.8.tgz#92f4c85d0a4b893090fe6605f255e272b270495e" + integrity sha512-K4sc8/OJ/y5uQPWJFACMExS2UIqF+t3vdQ2A9Mhl9tMsp70CXf0sp6Y9ENYju1K7XWwR5Clh8dkP2jO1Ntlg1g== dependencies: "@types/argparse" "1.0.33" "@types/node" "8.5.8" argparse "~1.0.9" colors "~1.2.1" -"@microsoft/tsdoc@0.12.9": - version "0.12.9" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.9.tgz#f92538bebf649b1b9d00bdd34a9c9971aef17d01" - integrity sha512-sDhulvuVk65eMppYOE6fr6mMI6RUqs53KUg9deYzNCBpP+2FhR0OFB5innEfdtSedk0LK+1Ppu6MxkfiNjS/Cw== +"@microsoft/tsdoc@0.12.14": + version "0.12.14" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.14.tgz#0e0810a0a174e50e22dfe8edb30599840712f22d" + integrity sha512-518yewjSga1jLdiLrcmpMFlaba5P+50b0TWNFUpC+SL9Yzf0kMi57qw+bMl+rQ08cGqH1vLx4eg9YFUbZXgZ0Q== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -1163,13 +1163,13 @@ "@angular-devkit/core" "8.0.0-rc.0" "@angular-devkit/schematics" "8.0.0-rc.0" -"@schematics/angular@^8.2.1": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-8.2.1.tgz#e795542451891405e0b28971d4bddad0bf96abb3" - integrity sha512-5B8FBsfFdm+FbzzhLox9Mmq083ftSCgOwA7WIpqJqwIag9ocnhBK/k5tdZ85g3DaNITcCno1acIsM9k5C0PpDQ== +"@schematics/angular@^9.0.0-next.5": + version "9.0.0-next.5" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-9.0.0-next.5.tgz#ceabc18ad16899a4ae53ed93080896b809531f7f" + integrity sha512-T9wwTuNVvp7vcrsIaoI51d+OedTEkfaT7krGYoXCW/HitGcCq2znJiX6888IOcZe0uQFnuJ7ts5C7Q111b447g== dependencies: - "@angular-devkit/core" "8.2.1" - "@angular-devkit/schematics" "8.2.1" + "@angular-devkit/core" "9.0.0-next.5" + "@angular-devkit/schematics" "9.0.0-next.5" "@sindresorhus/is@^0.7.0": version "0.7.0" @@ -3062,10 +3062,10 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codelyzer@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.1.0.tgz#a0eb89497622679ea4c53b6974aa45598f06a4b5" - integrity sha512-QiyY2/oDQnYx4mAVEDqr+z9MwrOto18tQFjExiuRChXCy0yvngS5fQpWIxvAGpbOmZFiR1PRTRLbEI71u10maA== +codelyzer@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.1.1.tgz#a599fa8c2a5847f553a792b934e493d1506a4a62" + integrity sha512-t8ZLSZBUjVFOJVk4jASLgmTdKWK/0ZsQCnPXy6PXw1LWOOormQOVnyy4OYoiZ6rAWTrz60Obx+zA2t8xY53QzQ== dependencies: app-root-path "^2.2.1" aria-query "^3.0.0" @@ -7707,7 +7707,7 @@ lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10, lodash@~4.17.5: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -7717,6 +7717,11 @@ lodash@~1.0.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= +lodash@~4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + log-driver@1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" @@ -11936,16 +11941,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@3.5.3, typescript@^3.0.3, typescript@^3.2.2, typescript@^3.4.5: +typescript@3.5.3, typescript@^3.0.3, typescript@^3.2.2, typescript@^3.4.5, typescript@~3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== -typescript@~3.4.3: - version "3.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.4.5.tgz#2d2618d10bb566572b8d7aad5180d84257d70a99" - integrity sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw== - ua-parser-js@0.7.17: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" @@ -12950,7 +12950,7 @@ zip-stream@^1.2.0: lodash "^4.8.0" readable-stream "^2.0.0" -zone.js@~0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.9.1.tgz#e37c6e5c54c13fae4de26b5ffe8d8e9212da6d9b" - integrity sha512-GkPiJL8jifSrKReKaTZ5jkhrMEgXbXYC+IPo1iquBjayRa0q86w3Dipjn8b415jpitMExe9lV8iTsv8tk3DGag== +zone.js@~0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.2.tgz#67ca084b3116fc33fc40435e0d5ea40a207e392e" + integrity sha512-UAYfiuvxLN4oyuqhJwd21Uxb4CNawrq6fPS/05Su5L4G+1TN+HVDJMUHNMobVQDFJRir2cLAODXwluaOKB7HFg==