From eddff4f7676d5d74fc60a82592608578653c6bc3 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 15 Oct 2020 19:45:57 -0400 Subject: [PATCH 001/696] test(@angular/cli): cleanup CDK in add material E2E test Adding material to a project can fail if an incompatible version of the CDK is already present in the project. This change adjusts the E2E test to include extra package cleanup between test cases. --- tests/legacy-cli/e2e/tests/commands/add/add-material.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 8180abdc6cc7..1305b586ba23 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -1,4 +1,5 @@ import { expectFileToMatch, rimraf } from '../../../utils/fs'; +import { uninstallPackage } from '../../../utils/packages'; import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; @@ -25,6 +26,10 @@ export default async function () { throw new Error('Installation was not skipped'); } + // Clean up existing cdk package + // Not doing so can cause adding material to fail if an incompatible cdk is present + await uninstallPackage('@angular/cdk'); + const output2 = await ng('add', '@angular/material@latest'); if (output2.stdout.includes('Skipping installation: Package already installed')) { throw new Error('Installation should not have been skipped'); From 6937a3e1ae03960a41ad0c5792d7ab8e8cb17960 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 16 Oct 2020 08:09:41 +0000 Subject: [PATCH 002/696] build: update rollup to version 2.31.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 57e213e6c2f1..8e3beb4b748d 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", - "rollup": "2.30.0", + "rollup": "2.31.0", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 25d928b5aa20..9eb2c5d98e1b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", - "rollup": "2.30.0", + "rollup": "2.31.0", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/yarn.lock b/yarn.lock index f2b743f63b87..68cc7a7aec64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10667,10 +10667,10 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.30.0: - version "2.30.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.30.0.tgz#316a1eb0389dbda4082ef2d191b31488995e4c41" - integrity sha512-j4K1hUZfgFM03DUpayd3c7kZW+2wDbI6rj7ssQxpCpL1vsGpaM0vSorxBuePFwQDFq9O2DI6AOQbm174Awsq4w== +rollup@2.31.0: + version "2.31.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.31.0.tgz#b845345fabb9998aed9f43b114e5cdb7f0f9bbd7" + integrity sha512-0d8S3XwEZ7aCP910/9SjnelgLvC+ZXziouVolzxPOM1zvKkHioGkWGJIWmlOULlmvB8BZ6S0wrgsT4yMz0eyMg== optionalDependencies: fsevents "~2.1.2" From eac9e994a600143815e4edd1a353a15cbfafb93d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 15 Oct 2020 18:00:04 -0400 Subject: [PATCH 003/696] fix(@angular-devkit/build-angular): ensure correct SRI values with differential loading Previously, the cached integrity values for a subsequent differential loading build would not be properly integrated. This resulted in builds with incorrect integrity values after an initial build. The cached differential loading builds will now use the correct integrity values on subsequent builds. Closes #18254 --- .../build_angular/src/utils/action-cache.ts | 21 ++++-- .../tests/build/differential-loading-sri.ts | 73 +++++++++++++++++++ 2 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/differential-loading-sri.ts diff --git a/packages/angular_devkit/build_angular/src/utils/action-cache.ts b/packages/angular_devkit/build_angular/src/utils/action-cache.ts index 9a2fd8f0a407..6aa1b4c9afa6 100644 --- a/packages/angular_devkit/build_angular/src/utils/action-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/action-cache.ts @@ -33,15 +33,21 @@ export class BundleActionCache { } } - generateBaseCacheKey(content: string): string { - // Create base cache key with elements: - // * package version - different build-angular versions cause different final outputs - // * code length/hash - ensure cached version matches the same input code + generateIntegrityValue(content: string): string { const algorithm = this.integrityAlgorithm || 'sha1'; const codeHash = createHash(algorithm) .update(content) .digest('base64'); - let baseCacheKey = `${packageVersion}|${content.length}|${algorithm}-${codeHash}`; + + return `${algorithm}-${codeHash}`; + } + + generateBaseCacheKey(content: string): string { + // Create base cache key with elements: + // * package version - different build-angular versions cause different final outputs + // * code length/hash - ensure cached version matches the same input code + const integrity = this.generateIntegrityValue(content); + let baseCacheKey = `${packageVersion}|${content.length}|${integrity}`; if (!allowMangle) { baseCacheKey += '|MD'; } @@ -116,7 +122,10 @@ export class BundleActionCache { return null; } - const result: ProcessBundleResult = { name: action.name }; + const result: ProcessBundleResult = { + name: action.name, + integrity: this.generateIntegrityValue(action.code), + }; let cacheEntry = entries[CacheKey.OriginalCode]; if (cacheEntry) { diff --git a/tests/legacy-cli/e2e/tests/build/differential-loading-sri.ts b/tests/legacy-cli/e2e/tests/build/differential-loading-sri.ts new file mode 100644 index 000000000000..ab14256fbedd --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/differential-loading-sri.ts @@ -0,0 +1,73 @@ +import { createHash } from 'crypto'; +import { + appendToFile, + expectFileToMatch, + prependToFile, + readFile, + replaceInFile, + writeFile, +} from '../../utils/fs'; +import { ng } from '../../utils/process'; + +export default async function () { + // Enable Differential loading + await replaceInFile('.browserslistrc', 'not IE 11', 'IE 11'); + + const appRoutingModulePath = 'src/app/app-routing.module.ts'; + + // Add app routing. + // This is done automatically on a new app with --routing. + await writeFile( + appRoutingModulePath, + ` + import { NgModule } from '@angular/core'; + import { Routes, RouterModule } from '@angular/router'; + + const routes: Routes = []; + + @NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] + }) + export class AppRoutingModule { } + `, + ); + await prependToFile( + 'src/app/app.module.ts', + `import { AppRoutingModule } from './app-routing.module';`, + ); + await replaceInFile('src/app/app.module.ts', `imports: [`, `imports: [ AppRoutingModule,`); + await appendToFile('src/app/app.component.html', ''); + + await ng('generate', 'module', 'lazy', '--module=app.module', '--route', 'lazy'); + + await ng( + 'build', + '--prod', + '--subresource-integrity', + '--output-hashing=none', + '--output-path=dist/first', + ); + + // Second build used to ensure cached files use correct integrity values + await ng( + 'build', + '--prod', + '--subresource-integrity', + '--output-hashing=none', + '--output-path=dist/second', + ); + + const codeHashES5 = createHash('sha384') + .update(await readFile('dist/first/5-es5.js')) + .digest('base64'); + const codeHashES2015 = createHash('sha384') + .update(await readFile('dist/first/5-es2015.js')) + .digest('base64'); + + await expectFileToMatch('dist/first/runtime-es5.js', 'sha384-' + codeHashES5); + await expectFileToMatch('dist/first/runtime-es2015.js', 'sha384-' + codeHashES2015); + + await expectFileToMatch('dist/second/runtime-es5.js', 'sha384-' + codeHashES5); + await expectFileToMatch('dist/second/runtime-es2015.js', 'sha384-' + codeHashES2015); +} From 48e5fd16e5cee40c8fad016b2c33345faf59f37a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 16 Oct 2020 08:05:00 +0000 Subject: [PATCH 004/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 8e3beb4b748d..9783bb3cc099 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-next.6", "@angular/compiler-cli": "11.0.0-next.6", "@angular/core": "11.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#d79eccd725b4421e50b566bf001f553b561e3813", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5", "@angular/forms": "11.0.0-next.6", "@angular/localize": "11.0.0-next.6", "@angular/material": "10.2.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index cf921f6acaf4..761cead69507 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#d7211d9f315301bf0e237fca12332467e5ca19fc", - "@angular/cdk": "github:angular/cdk-builds#5da9a70c8c4bef3aa72d3cc60542f7d27b11755f", - "@angular/common": "github:angular/common-builds#5bb0796a231844b8d866eb770d8abec73fb08c76", - "@angular/compiler": "github:angular/compiler-builds#fce2321ac8a499a7a6b1d1d7dcd56ef49a9009d1", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#df710e62178f8dab73cce7c76b5e58c604ebd269", - "@angular/core": "github:angular/core-builds#f13a26357ea9838f4ef69349bc5e46c5a1ffdb48", - "@angular/forms": "github:angular/forms-builds#b63c485ad5f80ced2890c57c6cf1204559089cfb", - "@angular/language-service": "github:angular/language-service-builds#97f03c2e54388bb910b081ef926afef9631919d5", - "@angular/localize": "github:angular/localize-builds#71ab1a7f7e7a2ed0706b475f17c1e2e64ce7feed", - "@angular/material": "github:angular/material2-builds#dc8679b02136df3f3e6f79f8e4d8f4eb742e3eb7", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#449c551655484aaebcfc23880ca765388469ba95", - "@angular/platform-browser": "github:angular/platform-browser-builds#4ae889ff1a5730712b8c285e5bdea33b05b3b888", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#94b9c714d31d3ca58fcb0a858ca446db31c74385", - "@angular/platform-server": "github:angular/platform-server-builds#39b8265f55c63bfc437a980613e839aa02575751", - "@angular/router": "github:angular/router-builds#cdc79fad2e81ba7b7aa36e828db464c0348e907d" + "@angular/animations": "github:angular/animations-builds#b7a81c2b1df5a027ff210f2ff12a36518acf903b", + "@angular/cdk": "github:angular/cdk-builds#cdf3eb9af8b0b908d4ed0ccd51a206e77d518988", + "@angular/common": "github:angular/common-builds#07355656122097cddac2f8ce740f4bbe1bd0eb8b", + "@angular/compiler": "github:angular/compiler-builds#0280a02c0f4b1fe0fa60a5034e389707276e4190", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8a54a21915a002d682f672e124563117acc85ea2", + "@angular/core": "github:angular/core-builds#014e749dd97aefd398430a9bd29d23d5b42ba351", + "@angular/forms": "github:angular/forms-builds#4836eceb952df45b747f82f472dbc010dec7f3ff", + "@angular/language-service": "github:angular/language-service-builds#2b28c7ca2389b16f12f43f5d83d91a98e9aeee5b", + "@angular/localize": "github:angular/localize-builds#41f64a4e421f231b367322de7a91630571d46860", + "@angular/material": "github:angular/material2-builds#ed135d994b118bedbfe368cd38fb5d3a7c415374", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#97912d6b6518323c1e5dc61e636dc57eca25e758", + "@angular/platform-browser": "github:angular/platform-browser-builds#9dd3900b13616a7413682a1581cd73f0bc714064", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8aa7c3212681a6cedadf382a167fe4490af6588e", + "@angular/platform-server": "github:angular/platform-server-builds#3d82126ec7d3f0077894b6cbe7c17eb9cc971836", + "@angular/router": "github:angular/router-builds#c5ec76b282a0ea6c25e831b917fc750895ec119a" } } diff --git a/yarn.lock b/yarn.lock index 68cc7a7aec64..bd8bedb0f0c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#d79eccd725b4421e50b566bf001f553b561e3813": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#d79eccd725b4421e50b566bf001f553b561e3813" + resolved "https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From bed5151fe7ce894984de3dd44f38cf5d9c2fd8f7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Oct 2020 10:21:04 +0200 Subject: [PATCH 005/696] test(@angular-devkit/build-angular): add basic serve e2e tests --- tests/legacy-cli/e2e/tests/basic/serve.ts | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/basic/serve.ts diff --git a/tests/legacy-cli/e2e/tests/basic/serve.ts b/tests/legacy-cli/e2e/tests/basic/serve.ts new file mode 100644 index 000000000000..03457450cae8 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/basic/serve.ts @@ -0,0 +1,26 @@ +import { request } from '../../utils/http'; +import { killAllProcesses } from '../../utils/process'; +import { ngServe } from '../../utils/project'; + +export default async function () { + try { + // Serve works without HMR + await ngServe('--no-hmr'); + await verifyResponse(); + killAllProcesses(); + + // Serve works with HMR + await ngServe('--hmr'); + await verifyResponse(); + } finally { + killAllProcesses(); + } +} + +async function verifyResponse(): Promise { + const response = await request('http://localhost:4200/'); + + if (!/<\/app-root>/.test(response)) { + throw new Error('Response does not match expected value.'); + } +} From 710e12dd7dc8d25f41fcf931501b36df626b2c17 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Oct 2020 16:23:27 +0200 Subject: [PATCH 006/696] fix(@angular-devkit/build-angular): correctly reference hmr-accept.js file in windows error Backslashes need to be changed to forward slashes for absolute imports to work in Windows. Closes #19099 --- .../build_angular/src/webpack/plugins/hmr/hmr-loader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts index f467fc4134f1..c5f594f78129 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts @@ -9,7 +9,7 @@ import { join } from 'path'; export const HmrLoader = __filename; -const hmrAcceptPath = join(__dirname, './hmr-accept.js'); +const hmrAcceptPath = join(__dirname, './hmr-accept.js').replace(/\\/g, '/'); export default function ( this: import('webpack').loader.LoaderContext, From 247b87d40a919c144d4fdcf3e55a563c3e006e34 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Oct 2020 14:31:12 +0200 Subject: [PATCH 007/696] refactor(@angular-devkit/build-angular): move dev-server webpack config in a separate file With this change we remove webpack dev-server logic to a seperate file. We also use the webpack-dev-server API to add live-reload and hmr entry-points and settings. --- .../build_angular/src/browser/index.ts | 51 +- .../build_angular/src/dev-server/index.ts | 469 ++++-------------- .../build_angular/src/dev-server/ssl_spec.ts | 4 +- .../build_angular/src/utils/build-options.ts | 6 +- .../src/utils/webpack-browser-config.ts | 16 +- .../src/webpack/configs/browser.ts | 16 - .../src/webpack/configs/common.ts | 10 +- .../src/webpack/configs/dev-server.ts | 241 +++++++++ .../plugins/common-js-usage-warn-plugin.ts | 1 + .../src/webpack/utils/helpers.ts | 10 +- 10 files changed, 387 insertions(+), 437 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index f71185d4644b..7c6711efd311 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -19,7 +19,6 @@ import * as webpack from 'webpack'; import { ExecutionTransformer } from '../transforms'; import { BuildBrowserFeatures, - NormalizedBrowserBuilderSchema, deleteOutputDir, normalizeAssetPatterns, normalizeOptimization, @@ -51,7 +50,6 @@ import { readTsconfig } from '../utils/read-tsconfig'; import { augmentAppWithServiceWorker } from '../utils/service-worker'; import { assertCompatibleAngularVersion } from '../utils/version'; import { - BrowserWebpackConfigOptions, generateI18nBrowserWebpackConfigFromContext, getIndexInputFile, getIndexOutputFile, @@ -102,32 +100,7 @@ interface ConfigFromContextReturn { i18n: I18nOptions; } -export async function buildBrowserWebpackConfigFromContext( - options: BrowserBuilderSchema, - context: BuilderContext, - host: virtualFs.Host = new NodeJsSyncHost(), - extraBuildOptions: Partial = {}, -): Promise { - const webpackPartialGenerator = (wco: BrowserWebpackConfigOptions) => [ - getCommonConfig(wco), - getBrowserConfig(wco), - getStylesConfig(wco), - getStatsConfig(wco), - getAnalyticsConfig(wco, context), - getCompilerConfig(wco), - wco.buildOptions.webWorkerTsConfig ? getWorkerConfig(wco) : {}, - ]; - - return generateI18nBrowserWebpackConfigFromContext( - options, - context, - webpackPartialGenerator, - host, - extraBuildOptions, - ); -} - -function getAnalyticsConfig( +export function getAnalyticsConfig( wco: WebpackConfigOptions, context: BuilderContext, ): webpack.Configuration { @@ -154,7 +127,7 @@ function getAnalyticsConfig( return {}; } -function getCompilerConfig(wco: WebpackConfigOptions): webpack.Configuration { +export function getCompilerConfig(wco: WebpackConfigOptions): webpack.Configuration { if (wco.buildOptions.main || wco.buildOptions.polyfills) { return wco.buildOptions.aot ? getAotConfig(wco) : getNonAotConfig(wco); } @@ -193,7 +166,21 @@ async function initialize( projectRoot, projectSourceRoot, i18n, - } = await buildBrowserWebpackConfigFromContext(adjustedOptions, context, host, { differentialLoadingMode }); + } = await generateI18nBrowserWebpackConfigFromContext( + adjustedOptions, + context, + wco => [ + getCommonConfig(wco), + getBrowserConfig(wco), + getStylesConfig(wco), + getStatsConfig(wco), + getAnalyticsConfig(wco, context), + getCompilerConfig(wco), + wco.buildOptions.webWorkerTsConfig ? getWorkerConfig(wco) : {}, + ], + host, + { differentialLoadingMode }, + ); // Validate asset option values if processed directly if (options.assets?.length && !adjustedOptions.assets?.length) { @@ -746,8 +733,8 @@ export function buildWebpackBrowser( if (options.index) { await writeIndexHtml({ host, - outputPath: path.join(outputPath, getIndexOutputFile(options)), - indexPath: path.join(context.workspaceRoot, getIndexInputFile(options)), + outputPath: path.join(outputPath, getIndexOutputFile(options.index)), + indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), files, noModuleFiles, moduleFiles, diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 1c13473af3d6..b5462d6ab586 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -12,17 +12,16 @@ import { WebpackLoggingCallback, runWebpackDevServer, } from '@angular-devkit/build-webpack'; -import { json, logging, tags } from '@angular-devkit/core'; +import { json, tags } from '@angular-devkit/core'; import { NodeJsSyncHost } from '@angular-devkit/core/node'; -import { existsSync, readFileSync } from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import * as ts from 'typescript'; import * as url from 'url'; import * as webpack from 'webpack'; -import * as WebpackDevServer from 'webpack-dev-server'; -import { buildBrowserWebpackConfigFromContext } from '../browser'; +import * as webpackDevServer from 'webpack-dev-server'; +import { getAnalyticsConfig, getCompilerConfig } from '../browser'; import { Schema as BrowserBuilderSchema } from '../browser/schema'; import { ExecutionTransformer } from '../transforms'; import { BuildBrowserFeatures, normalizeOptimization } from '../utils'; @@ -35,8 +34,10 @@ import { generateEntryPoints } from '../utils/package-chunk-sort'; import { createI18nPlugins } from '../utils/process-bundle'; import { readTsconfig } from '../utils/read-tsconfig'; import { assertCompatibleAngularVersion } from '../utils/version'; -import { getIndexInputFile, getIndexOutputFile } from '../utils/webpack-browser-config'; +import { generateI18nBrowserWebpackConfigFromContext, getIndexInputFile, getIndexOutputFile } from '../utils/webpack-browser-config'; import { addError, addWarning } from '../utils/webpack-diagnostics'; +import { getBrowserConfig, getCommonConfig, getStatsConfig, getStylesConfig, getWorkerConfig } from '../webpack/configs'; +import { getDevServerConfig } from '../webpack/configs/dev-server'; import { IndexHtmlWebpackPlugin } from '../webpack/plugins/index-html-webpack-plugin'; import { createWebpackLoggingCallback } from '../webpack/utils/stats'; import { Schema } from './schema'; @@ -89,12 +90,12 @@ export function serveWebpackBrowser( async function setup(): Promise<{ browserOptions: json.JsonObject & BrowserBuilderSchema; webpackConfig: webpack.Configuration; - webpackDevServerConfig: WebpackDevServer.Configuration; projectRoot: string; locale: string | undefined; }> { // Get the browser configuration from the target name. const rawBrowserOptions = await context.getTargetOptions(browserTarget); + options.port = await checkPort(options.port ?? 4200, options.host || 'localhost'); // Override options we need to override, if defined. const overrides = (Object.keys(options) as (keyof DevServerBuilderOptions)[]) @@ -107,6 +108,17 @@ export function serveWebpackBrowser( {}, ); + // Get dev-server only options. + const devServerOptions = (Object.keys(options) as (keyof Schema)[]) + .filter(key => !devServerBuildOverriddenKeys.includes(key) && key !== 'browserTarget') + .reduce>( + (previous, key) => ({ + ...previous, + [key]: options[key], + }), + {}, + ); + // In dev server we should not have budgets because of extra libs such as socks-js overrides.budgets = undefined; @@ -116,33 +128,97 @@ export function serveWebpackBrowser( browserName, ); - const { config, projectRoot, i18n } = await buildBrowserWebpackConfigFromContext( + const { config, projectRoot, i18n } = await generateI18nBrowserWebpackConfigFromContext( browserOptions, context, + wco => [ + getDevServerConfig(wco), + getCommonConfig(wco), + getBrowserConfig(wco), + getStylesConfig(wco), + getStatsConfig(wco), + getAnalyticsConfig(wco, context), + getCompilerConfig(wco), + browserOptions.webWorkerTsConfig ? getWorkerConfig(wco) : {}, + ], host, - { hmr: options.hmr }, + devServerOptions, ); - let webpackConfig = config; + if (!config.devServer) { + throw new Error( + 'Webpack Dev Server configuration was not set.', + ); + } + + if (options.liveReload || options.hmr) { + // This is needed because we cannot use the inline option directly in the config + // because of the SuppressExtractedTextChunksWebpackPlugin + // Consider not using SuppressExtractedTextChunksWebpackPlugin when liveReload is enable. + webpackDevServer.addDevServerEntrypoints(config, { + ...config.devServer, + inline: true, + }); + + // Remove live-reload code from all entrypoints but not main. + // Otherwise this will break SuppressExtractedTextChunksWebpackPlugin because + // 'addDevServerEntrypoints' adds addional entry-points to all entries. + if (!options.hmr && config.entry && typeof config.entry === 'object' && !Array.isArray(config.entry) && config.entry.main) { + for (const [key, value] of Object.entries(config.entry)) { + if (key === 'main' || typeof value === 'string') { + continue; + } + + for (let index = 0; index < value.length; index++) { + if (value[index].includes('webpack-dev-server/client/index.js')) { + config.entry[key] = value.splice(index + 1, 1); + } + } + } + } + + if (options.hmr) { + context.logger.warn(tags.stripIndents`NOTICE: Hot Module Replacement (HMR) is enabled for the dev server. + See https://webpack.js.org/guides/hot-module-replacement for information on working with HMR for Webpack.`); + } + } + + if ( + options.host + && !/^127\.\d+\.\d+\.\d+/g.test(options.host) + && options.host !== 'localhost' + ) { + context.logger.warn(tags.stripIndent` + Warning: This is a simple server for use in testing or debugging Angular applications + locally. It hasn't been reviewed for security issues. + + Binding this server to an open connection can result in compromising your application or + computer. Using a different host than the one passed to the "--host" flag might result in + websocket connection issues. You might need to use "--disableHostCheck" if that's the + case. + `); + } + + if (options.disableHostCheck) { + context.logger.warn(tags.oneLine` + Warning: Running a server with --disable-host-check is a security risk. + See https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a + for more information. + `); + } + + let webpackConfig = config; const tsConfig = readTsconfig(browserOptions.tsConfig, context.workspaceRoot); if (i18n.shouldInline && tsConfig.options.enableIvy !== false) { if (i18n.inlineLocales.size > 1) { throw new Error( - 'The development server only supports localizing a single locale per build', + 'The development server only supports localizing a single locale per build.', ); } await setupLocalize(i18n, browserOptions, webpackConfig); } - options.port = await checkPort(options.port ?? 4200, options.host || 'localhost'); - const webpackDevServerConfig = (webpackConfig.devServer = buildServerConfig( - root, - options, - browserOptions, - context.logger, - )); - if (transforms.webpackConfiguration) { webpackConfig = await transforms.webpackConfiguration(webpackConfig); } @@ -150,7 +226,6 @@ export function serveWebpackBrowser( return { browserOptions, webpackConfig, - webpackDevServerConfig, projectRoot, locale: browserOptions.i18nLocale || (i18n.shouldInline ? [...i18n.inlineLocales][0] : undefined), @@ -158,40 +233,7 @@ export function serveWebpackBrowser( } return from(setup()).pipe( - switchMap(({ browserOptions, webpackConfig, webpackDevServerConfig, projectRoot, locale }) => { - // Resolve public host and client address. - let clientAddress = url.parse(`${options.ssl ? 'https' : 'http'}://0.0.0.0:0`); - if (options.publicHost) { - let publicHost = options.publicHost; - if (!/^\w+:\/\//.test(publicHost)) { - publicHost = `${options.ssl ? 'https' : 'http'}://${publicHost}`; - } - clientAddress = url.parse(publicHost); - options.publicHost = clientAddress.host; - } - - // Add live reload config. - if (options.liveReload) { - _addLiveReload(root, options, browserOptions, webpackConfig, clientAddress, context.logger); - } else if (options.hmr) { - context.logger.warn('Live reload is disabled. HMR option ignored.'); - } - - webpackConfig.plugins = [...(webpackConfig.plugins || [])]; - - if (!options.watch) { - // There's no option to turn off file watching in webpack-dev-server, but - // we can override the file watcher instead. - webpackConfig.plugins.push({ - // tslint:disable-next-line:no-any - apply: (compiler: any) => { - compiler.hooks.afterEnvironment.tap('angular-cli', () => { - compiler.watchFileSystem = { watch: () => {} }; - }); - }, - }); - } - + switchMap(({ browserOptions, webpackConfig, projectRoot, locale }) => { const normalizedOptimization = normalizeOptimization(browserOptions.optimization); if (browserOptions.index) { @@ -205,10 +247,11 @@ export function serveWebpackBrowser( ? generateEntryPoints({ scripts: [], styles }) : []; + webpackConfig.plugins = [...(webpackConfig.plugins || [])]; webpackConfig.plugins.push( new IndexHtmlWebpackPlugin({ - input: path.resolve(root, getIndexInputFile(browserOptions)), - output: getIndexOutputFile(browserOptions), + input: path.resolve(root, getIndexInputFile(browserOptions.index)), + output: getIndexOutputFile(browserOptions.index), baseHref, moduleEntrypoints, entrypoints, @@ -243,7 +286,7 @@ export function serveWebpackBrowser( { logging: transforms.logging || createWebpackLoggingCallback(!!options.verbose, context.logger), webpackFactory: require('webpack') as typeof webpack, - webpackDevServerFactory: require('webpack-dev-server') as typeof WebpackDevServer, + webpackDevServerFactory: require('webpack-dev-server') as typeof webpackDevServer, }, ).pipe( map(buildEvent => { @@ -251,7 +294,7 @@ export function serveWebpackBrowser( const serverAddress = url.format({ protocol: options.ssl ? 'https' : 'http', hostname: options.host === '0.0.0.0' ? 'localhost' : options.host, - pathname: webpackDevServerConfig.publicPath, + pathname: webpackConfig.devServer?.publicPath, port: buildEvent.port, }); @@ -364,316 +407,4 @@ async function setupLocalize( }); } -/** - * Create a webpack configuration for the dev server. - * @param workspaceRoot The root of the workspace. This comes from the context. - * @param serverOptions DevServer options, based on the dev server input schema. - * @param browserOptions Browser builder options. See the browser builder from this package. - * @param logger A generic logger to use for showing warnings. - * @returns A webpack dev-server configuration. - */ -export function buildServerConfig( - workspaceRoot: string, - serverOptions: DevServerBuilderOptions, - browserOptions: BrowserBuilderSchema, - logger: logging.LoggerApi, -): WebpackDevServer.Configuration { - // Check that the host is either localhost or prints out a message. - if ( - serverOptions.host - && !/^127\.\d+\.\d+\.\d+/g.test(serverOptions.host) - && serverOptions.host !== 'localhost' - ) { - logger.warn(tags.stripIndent` - Warning: This is a simple server for use in testing or debugging Angular applications - locally. It hasn't been reviewed for security issues. - - Binding this server to an open connection can result in compromising your application or - computer. Using a different host than the one passed to the "--host" flag might result in - websocket connection issues. You might need to use "--disableHostCheck" if that's the - case. - `); - } - - if (serverOptions.disableHostCheck) { - logger.warn(tags.oneLine` - Warning: Running a server with --disable-host-check is a security risk. - See https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a - for more information. - `); - } - - const servePath = buildServePath(serverOptions, browserOptions, logger); - const { styles, scripts } = normalizeOptimization(browserOptions.optimization); - - const config: WebpackDevServer.Configuration&{logLevel: string} = { - host: serverOptions.host, - port: serverOptions.port, - headers: { - 'Access-Control-Allow-Origin': '*', - ...serverOptions.headers, - }, - historyApiFallback: !!browserOptions.index && { - index: `${servePath}/${getIndexOutputFile(browserOptions)}`, - disableDotRule: true, - htmlAcceptHeaders: ['text/html', 'application/xhtml+xml'], - rewrites: [ - { - from: new RegExp(`^(?!${servePath})/.*`), - to: context => url.format(context.parsedUrl), - }, - ], - }, - stats: false, - compress: styles || scripts, - watchOptions: { - // Using just `--poll` will result in a value of 0 which is very likely not the intention - // A value of 0 is falsy and will disable polling rather then enable - // 500 ms is a sensible default in this case - poll: serverOptions.poll === 0 ? 500 : serverOptions.poll, - ignored: serverOptions.poll === undefined ? undefined : /[\\\/]node_modules[\\\/]/, - }, - https: serverOptions.ssl, - overlay: { - errors: !(styles || scripts), - warnings: false, - }, - // inline is always false, because we add live reloading scripts in _addLiveReload when needed - inline: false, - public: serverOptions.publicHost, - allowedHosts: serverOptions.allowedHosts, - disableHostCheck: serverOptions.disableHostCheck, - publicPath: servePath, - hot: serverOptions.hmr, - contentBase: false, - logLevel: 'silent', - }; - - if (serverOptions.ssl) { - _addSslConfig(workspaceRoot, serverOptions, config); - } - - if (serverOptions.proxyConfig) { - _addProxyConfig(workspaceRoot, serverOptions, config); - } - - return config; -} - -/** - * Resolve and build a URL _path_ that will be the root of the server. This resolved base href and - * deploy URL from the browser options and returns a path from the root. - * @param serverOptions The server options that were passed to the server builder. - * @param browserOptions The browser options that were passed to the browser builder. - * @param logger A generic logger to use for showing warnings. - */ -export function buildServePath( - serverOptions: DevServerBuilderOptions, - browserOptions: BrowserBuilderSchema, - logger: logging.LoggerApi, -): string { - let servePath = serverOptions.servePath; - if (!servePath && servePath !== '') { - const defaultPath = _findDefaultServePath(browserOptions.baseHref, browserOptions.deployUrl); - if (defaultPath == null) { - logger.warn(tags.oneLine` - Warning: --deploy-url and/or --base-href contain unsupported values for ng serve. Default - serve path of '/' used. Use --serve-path to override. - `); - } - servePath = defaultPath || ''; - } - if (servePath.endsWith('/')) { - servePath = servePath.substr(0, servePath.length - 1); - } - if (!servePath.startsWith('/')) { - servePath = `/${servePath}`; - } - - return servePath; -} - -/** - * Private method to enhance a webpack config with live reload configuration. - * @private - */ -function _addLiveReload( - root: string, - options: DevServerBuilderOptions, - browserOptions: BrowserBuilderSchema, - webpackConfig: webpack.Configuration, - clientAddress: url.UrlWithStringQuery, - logger: logging.LoggerApi, -) { - if (webpackConfig.plugins === undefined) { - webpackConfig.plugins = []; - } - - // Workaround node shim hoisting issues with live reload client - // Only needed in dev server mode to support live reload capabilities in all package managers - // Not needed in Webpack 5 - node-libs-browser will not be present in webpack 5 - let nodeLibsBrowserPath; - try { - const webpackPath = path.dirname(require.resolve('webpack/package.json')); - nodeLibsBrowserPath = require.resolve('node-libs-browser', { paths: [webpackPath] }); - } catch {} - if (nodeLibsBrowserPath) { - const nodeLibsBrowser = require(nodeLibsBrowserPath); - webpackConfig.plugins.push( - new webpack.NormalModuleReplacementPlugin( - /^events|url|querystring$/, - (resource: { issuer?: string; request: string }) => { - if (!resource.issuer) { - return; - } - if (/[\/\\]hot[\/\\]emitter\.js$/.test(resource.issuer)) { - if (resource.request === 'events') { - resource.request = nodeLibsBrowser.events; - } - } else if ( - /[\/\\]webpack-dev-server[\/\\]client[\/\\]utils[\/\\]createSocketUrl\.js$/.test( - resource.issuer, - ) - ) { - switch (resource.request) { - case 'url': - resource.request = nodeLibsBrowser.url; - break; - case 'querystring': - resource.request = nodeLibsBrowser.querystring; - break; - } - } - }, - ), - ); - } - - // This allows for live reload of page when changes are made to repo. - // https://webpack.js.org/configuration/dev-server/#devserver-inline - let webpackDevServerPath; - try { - webpackDevServerPath = require.resolve('webpack-dev-server/client'); - } catch { - throw new Error('The "webpack-dev-server" package could not be found.'); - } - - // If a custom path is provided the webpack dev server client drops the sockjs-node segment. - // This adds it back so that behavior is consistent when using a custom URL path - let sockjsPath = ''; - if (clientAddress.pathname) { - clientAddress.pathname = path.posix.join(clientAddress.pathname, 'sockjs-node'); - sockjsPath = '&sockPath=' + clientAddress.pathname; - } - - const entryPoints = [`${webpackDevServerPath}?${url.format(clientAddress)}${sockjsPath}`]; - if (options.hmr) { - logger.warn(tags.stripIndents`NOTICE: Hot Module Replacement (HMR) is enabled for the dev server. - See https://webpack.js.org/guides/hot-module-replacement for information on working with HMR for Webpack.`); - - entryPoints.push( - 'webpack/hot/dev-server', - ); - } - - if (typeof webpackConfig.entry !== 'object' || Array.isArray(webpackConfig.entry)) { - webpackConfig.entry = {}; - } - if (!Array.isArray(webpackConfig.entry.main)) { - webpackConfig.entry.main = []; - } - webpackConfig.entry.main.unshift(...entryPoints); -} - -/** - * Private method to enhance a webpack config with SSL configuration. - * @private - */ -function _addSslConfig( - root: string, - options: DevServerBuilderOptions, - config: WebpackDevServer.Configuration, -) { - let sslKey: string | undefined = undefined; - let sslCert: string | undefined = undefined; - if (options.sslKey) { - const keyPath = path.resolve(root, options.sslKey); - if (existsSync(keyPath)) { - sslKey = readFileSync(keyPath, 'utf-8'); - } - } - if (options.sslCert) { - const certPath = path.resolve(root, options.sslCert); - if (existsSync(certPath)) { - sslCert = readFileSync(certPath, 'utf-8'); - } - } - - config.https = true; - if (sslKey != null && sslCert != null) { - config.https = { - key: sslKey, - cert: sslCert, - }; - } -} - -/** - * Private method to enhance a webpack config with Proxy configuration. - * @private - */ -function _addProxyConfig( - root: string, - options: DevServerBuilderOptions, - config: WebpackDevServer.Configuration, -) { - let proxyConfig = {}; - const proxyPath = path.resolve(root, options.proxyConfig as string); - if (existsSync(proxyPath)) { - proxyConfig = require(proxyPath); - } else { - const message = 'Proxy config file ' + proxyPath + ' does not exist.'; - throw new Error(message); - } - config.proxy = proxyConfig; -} - -/** - * Find the default server path. We don't want to expose baseHref and deployUrl as arguments, only - * the browser options where needed. This method should stay private (people who want to resolve - * baseHref and deployUrl should use the buildServePath exported function. - * @private - */ -function _findDefaultServePath(baseHref?: string, deployUrl?: string): string | null { - if (!baseHref && !deployUrl) { - return ''; - } - - if (/^(\w+:)?\/\//.test(baseHref || '') || /^(\w+:)?\/\//.test(deployUrl || '')) { - // If baseHref or deployUrl is absolute, unsupported by ng serve - return null; - } - - // normalize baseHref - // for ng serve the starting base is always `/` so a relative - // and root relative value are identical - const baseHrefParts = (baseHref || '').split('/').filter(part => part !== ''); - if (baseHref && !baseHref.endsWith('/')) { - baseHrefParts.pop(); - } - const normalizedBaseHref = baseHrefParts.length === 0 ? '/' : `/${baseHrefParts.join('/')}/`; - - if (deployUrl && deployUrl[0] === '/') { - if (baseHref && baseHref[0] === '/' && normalizedBaseHref !== deployUrl) { - // If baseHref and deployUrl are root relative and not equivalent, unsupported by ng serve - return null; - } - - return deployUrl; - } - - // Join together baseHref and deployUrl - return `${normalizedBaseHref}${deployUrl || ''}`; -} - export default createBuilder(serveWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts index ca3ec505d318..9b2a39f3bc28 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts @@ -102,8 +102,8 @@ describe('Dev Server Builder ssl', () => { const overrides = { ssl: true, - sslKey: '../ssl/server.key', - sslCert: '../ssl/server.crt', + sslKey: 'ssl/server.key', + sslCert: 'ssl/server.crt', }; const run = await architect.scheduleTarget(target, overrides); diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 70954cb64af2..386c3a89436c 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -14,10 +14,12 @@ import { CrossOrigin, ExtraEntryPoint, I18NMissingTranslation, + IndexUnion, Localize, OptimizationClass, SourceMapClass, } from '../browser/schema'; +import { Schema as DevServerSchema } from '../dev-server/schema'; import { NormalizedFileReplacement } from './normalize-file-replacements'; export interface BuildOptions { @@ -48,6 +50,7 @@ export interface BuildOptions { watch?: boolean; outputHashing?: string; poll?: number; + index?: IndexUnion; deleteOutputPath?: boolean; preserveSymlinks?: boolean; extractLicenses?: boolean; @@ -61,7 +64,6 @@ export interface BuildOptions { statsJson: boolean; forkTypeChecker: boolean; hmr?: boolean; - main: string; polyfills?: string; budgets: Budget[]; @@ -87,6 +89,8 @@ export interface WebpackTestOptions extends BuildOptions { codeCoverageExclude?: string[]; } +export interface WebpackDevServerOptions extends BuildOptions, Omit { } + export interface WebpackConfigOptions { root: string; logger: logging.Logger; diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts index abda3c9974a9..65699db2287d 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts @@ -236,18 +236,18 @@ export async function generateBrowserWebpackConfigFromContext( }; } -export function getIndexOutputFile(options: BrowserBuilderSchema): string { - if (typeof options.index === 'string') { - return path.basename(options.index); +export function getIndexOutputFile(index: BrowserBuilderSchema['index']): string { + if (typeof index === 'string') { + return path.basename(index); } else { - return options.index.output || 'index.html'; + return index.output || 'index.html'; } } -export function getIndexInputFile(options: BrowserBuilderSchema): string { - if (typeof options.index === 'string') { - return options.index; +export function getIndexInputFile(index: BrowserBuilderSchema['index']): string { + if (typeof index === 'string') { + return index; } else { - return options.index.input; + return index.input; } } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts index 0ac41b988246..d0a48c74fb6c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts @@ -5,12 +5,10 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { resolve } from 'path'; import * as webpack from 'webpack'; import { WebpackConfigOptions } from '../../utils/build-options'; import { withWebpackFourOrFive } from '../../utils/webpack-version'; import { CommonJsUsageWarnPlugin } from '../plugins'; -import { HmrLoader } from '../plugins/hmr/hmr-loader'; import { getSourceMapDevTool } from '../utils/helpers'; export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configuration { @@ -22,7 +20,6 @@ export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configurati vendorChunk, commonChunk, allowedCommonJsDependencies, - hmr, } = buildOptions; const extraPlugins = []; @@ -70,24 +67,11 @@ export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configurati crossOriginLoading = crossOrigin; } - const extraRules: webpack.RuleSetRule[] = []; - if (hmr) { - extraRules.push({ - loader: HmrLoader, - include: [buildOptions.main].map(p => resolve(wco.root, p)), - }); - - extraPlugins.push(new webpack.HotModuleReplacementPlugin()); - } - return { devtool: false, resolve: { mainFields: ['es2015', 'browser', 'module', 'main'], }, - module: { - rules: extraRules, - }, ...withWebpackFourOrFive({}, { target: ['web', 'es5'] }), output: { crossOriginLoading, diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 905488765e9c..a1df69728ee9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -46,7 +46,7 @@ import { ScriptsWebpackPlugin, WebpackRollupLoader, } from '../plugins'; -import { getEsVersionForFileName, getOutputHashFormat, normalizeExtraEntryPoints } from '../utils/helpers'; +import { getEsVersionForFileName, getOutputHashFormat, getWatchOptions, normalizeExtraEntryPoints } from '../utils/helpers'; const TerserPlugin = require('terser-webpack-plugin'); const PnpWebpackPlugin = require('pnp-webpack-plugin'); @@ -487,13 +487,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { filename: `[name]${targetInFileName}${hashFormat.chunk}.js`, }, watch: buildOptions.watch, - watchOptions: { - poll: buildOptions.poll, - ignored: - buildOptions.poll === undefined - ? undefined - : withWebpackFourOrFive(/[\\\/]node_modules[\\\/]/, 'node_modules/**'), - }, + watchOptions: getWatchOptions(buildOptions.poll), performance: { hints: false, }, diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts new file mode 100644 index 000000000000..9f0e1a284c39 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -0,0 +1,241 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging, tags } from '@angular-devkit/core'; +import { existsSync, readFileSync } from 'fs'; +import { posix, resolve } from 'path'; +import * as url from 'url'; +import * as webpack from 'webpack'; +import { Configuration } from 'webpack-dev-server'; +import { normalizeOptimization } from '../../utils'; +import { WebpackConfigOptions, WebpackDevServerOptions } from '../../utils/build-options'; +import { getIndexOutputFile } from '../../utils/webpack-browser-config'; +import { HmrLoader } from '../plugins/hmr/hmr-loader'; +import { getWatchOptions } from '../utils/helpers'; + +export function getDevServerConfig( + wco: WebpackConfigOptions, +): webpack.Configuration { + const { + buildOptions: { + optimization, + host, + port, + index, + headers, + poll, + ssl, + hmr, + main, + disableHostCheck, + liveReload, + allowedHosts, + watch, + proxyConfig, + }, + logger, + root, + } = wco; + + const servePath = buildServePath(wco.buildOptions, logger); + const { styles: stylesOptimization, scripts: scriptsOptimization } = normalizeOptimization(optimization); + + const extraPlugins = []; + + // Resolve public host and client address. + let sockPath: string | undefined; + let publicHost = wco.buildOptions.publicHost; + if (publicHost) { + if (!/^\w+:\/\//.test(publicHost)) { + publicHost = `${ssl ? 'https' : 'http'}://${publicHost}`; + } + + const parsedHost = url.parse(publicHost); + publicHost = parsedHost.host; + + if (parsedHost.pathname) { + sockPath = posix.join(parsedHost.pathname, 'sockjs-node'); + } + } + + if (!watch) { + // There's no option to turn off file watching in webpack-dev-server, but + // we can override the file watcher instead. + extraPlugins.push({ + // tslint:disable-next-line:no-any + apply: (compiler: any) => { + compiler.hooks.afterEnvironment.tap('angular-cli', () => { + compiler.watchFileSystem = { watch: () => { } }; + }); + }, + }); + } + + const extraRules: webpack.RuleSetRule[] = []; + if (hmr) { + extraRules.push({ + loader: HmrLoader, + include: [main].map(p => resolve(wco.root, p)), + }); + } + + return { + plugins: extraPlugins, + module: { + rules: extraRules, + }, + devServer: { + host, + port, + headers: { + 'Access-Control-Allow-Origin': '*', + ...headers, + }, + historyApiFallback: !!index && { + index: `${servePath}/${getIndexOutputFile(index)}`, + disableDotRule: true, + htmlAcceptHeaders: ['text/html', 'application/xhtml+xml'], + rewrites: [ + { + from: new RegExp(`^(?!${servePath})/.*`), + to: context => url.format(context.parsedUrl), + }, + ], + }, + sockPath, + stats: false, + compress: stylesOptimization || scriptsOptimization, + watchOptions: getWatchOptions(poll), + https: getSslConfig(root, wco.buildOptions), + overlay: { + errors: !(stylesOptimization || scriptsOptimization), + warnings: false, + }, + public: publicHost, + allowedHosts, + disableHostCheck, + inline: false, + publicPath: servePath, + liveReload, + hotOnly: hmr && !liveReload, + hot: hmr, + proxy: addProxyConfig(root, proxyConfig), + contentBase: false, + logLevel: 'silent', + } as Configuration & { logLevel: Configuration['clientLogLevel'] }, + }; +} + + +/** + * Resolve and build a URL _path_ that will be the root of the server. This resolved base href and + * deploy URL from the browser options and returns a path from the root. + */ +export function buildServePath( + options: WebpackDevServerOptions, + logger: logging.LoggerApi, +): string { + let servePath = options.servePath; + if (servePath === undefined) { + const defaultPath = findDefaultServePath(options.baseHref, options.deployUrl); + if (defaultPath == null) { + logger.warn(tags.oneLine` + Warning: --deploy-url and/or --base-href contain unsupported values for ng serve. Default + serve path of '/' used. Use --serve-path to override. + `); + } + servePath = defaultPath || ''; + } + + if (servePath.endsWith('/')) { + servePath = servePath.substr(0, servePath.length - 1); + } + + if (!servePath.startsWith('/')) { + servePath = `/${servePath}`; + } + + return servePath; +} + +/** + * Private method to enhance a webpack config with SSL configuration. + * @private + */ +function getSslConfig( + root: string, + options: WebpackDevServerOptions, +) { + const { ssl, sslCert, sslKey } = options; + if (ssl && sslCert && sslKey) { + return { + key: readFileSync(resolve(root, sslKey), 'utf-8'), + cert: readFileSync(resolve(root, sslCert), 'utf-8'), + }; + } + + return ssl; +} + +/** + * Private method to enhance a webpack config with Proxy configuration. + * @private + */ +function addProxyConfig( + root: string, + proxyConfig: string | undefined, +) { + if (!proxyConfig) { + return undefined; + } + + const proxyPath = resolve(root, proxyConfig); + if (existsSync(proxyPath)) { + return require(proxyPath); + } + + throw new Error('Proxy config file ' + proxyPath + ' does not exist.'); +} + +/** + * Find the default server path. We don't want to expose baseHref and deployUrl as arguments, only + * the browser options where needed. This method should stay private (people who want to resolve + * baseHref and deployUrl should use the buildServePath exported function. + * @private + */ +function findDefaultServePath(baseHref?: string, deployUrl?: string): string | null { + if (!baseHref && !deployUrl) { + return ''; + } + + if (/^(\w+:)?\/\//.test(baseHref || '') || /^(\w+:)?\/\//.test(deployUrl || '')) { + // If baseHref or deployUrl is absolute, unsupported by ng serve + return null; + } + + // normalize baseHref + // for ng serve the starting base is always `/` so a relative + // and root relative value are identical + const baseHrefParts = (baseHref || '').split('/').filter(part => part !== ''); + if (baseHref && !baseHref.endsWith('/')) { + baseHrefParts.pop(); + } + const normalizedBaseHref = baseHrefParts.length === 0 ? '/' : `/${baseHrefParts.join('/')}/`; + + if (deployUrl && deployUrl[0] === '/') { + if (baseHref && baseHref[0] === '/' && normalizedBaseHref !== deployUrl) { + // If baseHref and deployUrl are root relative and not equivalent, unsupported by ng serve + return null; + } + + return deployUrl; + } + + // Join together baseHref and deployUrl + return `${normalizedBaseHref}${deployUrl || ''}`; +} diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts index daa3ba386c2c..43fc57d596cf 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts @@ -39,6 +39,7 @@ export class CommonJsUsageWarnPlugin { // https://github.com/angular/angular-cli/blob/1e258317b1f6ec1e957ee3559cc3b28ba602f3ba/packages/angular_devkit/build_angular/src/dev-server/index.ts#L605-L638 private allowedDependencies = new Set([ 'webpack/hot/dev-server', + 'webpack/hot/only-dev-server', '@angular-devkit/build-angular', ]); diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index 73e9742d8a2e..f6ad3988cc45 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -8,8 +8,9 @@ import { basename, normalize } from '@angular-devkit/core'; import { ScriptTarget } from 'typescript'; -import { SourceMapDevToolPlugin } from 'webpack'; +import { Options, SourceMapDevToolPlugin } from 'webpack'; import { ExtraEntryPoint, ExtraEntryPointClass } from '../../browser/schema'; +import { withWebpackFourOrFive } from '../../utils/webpack-version'; export interface HashFormat { chunk: string; @@ -118,3 +119,10 @@ export function getEsVersionForFileName( export function isPolyfillsEntry(name: string): boolean { return name === 'polyfills' || name === 'polyfills-es5'; } + +export function getWatchOptions(poll: number | undefined): Options.WatchOptions { + return { + poll, + ignored: poll === undefined ? undefined : withWebpackFourOrFive(/[\\\/]node_modules[\\\/]/, 'node_modules/**'), + }; +} From f7f6eede232513962fd4ce0b3b7fe8ed3561c39b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Oct 2020 14:32:03 +0200 Subject: [PATCH 008/696] fix(@angular-devkit/build-angular): disable dev-server live-reload when using protoactor LIve-reload is not needed when using protoactor because watch mode is always disabled. --- .../angular_devkit/build_angular/src/protractor/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/protractor/index.ts b/packages/angular_devkit/build_angular/src/protractor/index.ts index 755324d83c78..eb4b81578074 100644 --- a/packages/angular_devkit/build_angular/src/protractor/index.ts +++ b/packages/angular_devkit/build_angular/src/protractor/index.ts @@ -14,9 +14,11 @@ import { import { JsonObject, tags } from '@angular-devkit/core'; import { resolve } from 'path'; import * as url from 'url'; +import { DevServerBuilderOptions } from '../dev-server/index'; import { runModuleAsObservableFork } from '../utils'; import { Schema as ProtractorBuilderOptions } from './schema'; + interface JasmineNodeOpts { jasmineNodeOpts: { grep?: string; @@ -105,7 +107,11 @@ export async function execute( const target = targetFromTargetString(options.devServerTarget); const serverOptions = await context.getTargetOptions(target); - const overrides: Record = { watch: false }; + const overrides = { + watch: false, + liveReload: false, + } as DevServerBuilderOptions; + if (options.host !== undefined) { overrides.host = options.host; } else if (typeof serverOptions.host === 'string') { From 574d309cda0ec46ab700f6fc0d97f3813c947629 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Oct 2020 14:36:18 +0200 Subject: [PATCH 009/696] fix(@angular-devkit/build-angular): don't set watchOptions in webpack-middleware `webpack-dev-middleware` doesn't have a `watchOptions` See: https://github.com/webpack/webpack-dev-middleware/blob/master/src/options.json --- .../angular_devkit/build_angular/src/webpack/plugins/karma.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts index b049408eda73..ae7876f027ac 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts @@ -120,7 +120,6 @@ const init: any = (config: any, emitter: any, customFileHandlers: any) => { // Hide webpack output because its noisy. logLevel: 'error', stats: false, - watchOptions: { poll: options.poll }, publicPath: '/_karma_webpack_/', }; From af1d49d18a1e0f7b97d3e182b5886acdff747214 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 16 Oct 2020 15:36:00 -0400 Subject: [PATCH 010/696] fix(@schematics/angular): allow inlineTemplate/inlineStyle with minimal application This change allows `inlineTemplate=false` and/or `inlineStyle=false` to be used with the `minimal` option when creating an application either by `ng new` or `ng generate application`. Closes #17528 --- .../schematics/angular/application/index.ts | 9 +- .../angular/application/index_spec.ts | 84 ++++++++++++++++++- .../angular/application/schema.json | 2 - .../schematics/angular/ng-new/schema.json | 2 - 4 files changed, 87 insertions(+), 10 deletions(-) diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index d6fe283d5ebe..93053a0e6086 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -103,10 +103,10 @@ function addAppToWorkspaceFile(options: ApplicationOptions, appDir: string): Rul || options.minimal || options.style !== Style.Css) { const componentSchematicsOptions: JsonObject = {}; - if (options.inlineTemplate || options.minimal) { + if (options.inlineTemplate ?? options.minimal) { componentSchematicsOptions.inlineTemplate = true; } - if (options.inlineStyle || options.minimal) { + if (options.inlineStyle ?? options.minimal) { componentSchematicsOptions.inlineStyle = true; } if (options.style && options.style !== Style.Css) { @@ -289,10 +289,11 @@ export default function (options: ApplicationOptions): Rule { viewEncapsulation: options.viewEncapsulation, } : { - inlineStyle: true, - inlineTemplate: true, + inlineStyle: options.inlineStyle ?? true, + inlineTemplate: options.inlineTemplate ?? true, skipTests: true, style: options.style, + viewEncapsulation: options.viewEncapsulation, }; const workspace = await getWorkspace(host); diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 4fbd54846756..fde0e33d8f91 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -32,8 +32,6 @@ describe('Application Schematic', () => { const defaultOptions: ApplicationOptions = { name: 'foo', - inlineStyle: false, - inlineTemplate: false, routing: false, skipPackageJson: false, }; @@ -206,6 +204,30 @@ describe('Application Schematic', () => { }); }); + it('minimal=true allows inlineStyle=false when configuring the schematics options for components', async () => { + const options = { ...defaultOptions, minimal: true, inlineStyle: false }; + const tree = await schematicRunner.runSchematicAsync('application', options, workspaceTree) + .toPromise(); + const config = JSON.parse(tree.readContent('/angular.json')); + const schematics = config.projects.foo.schematics; + expect(schematics['@schematics/angular:component']).toEqual({ + inlineTemplate: true, + skipTests: true, + }); + }); + + it('minimal=true allows inlineTemplate=false when configuring the schematics options for components', async () => { + const options = { ...defaultOptions, minimal: true, inlineTemplate: false }; + const tree = await schematicRunner.runSchematicAsync('application', options, workspaceTree) + .toPromise(); + const config = JSON.parse(tree.readContent('/angular.json')); + const schematics = config.projects.foo.schematics; + expect(schematics['@schematics/angular:component']).toEqual({ + inlineStyle: true, + skipTests: true, + }); + }); + it('should create correct files when using minimal', async () => { const options = { ...defaultOptions, minimal: true }; const tree = await schematicRunner.runSchematicAsync('application', options, workspaceTree) @@ -235,6 +257,64 @@ describe('Application Schematic', () => { ])); }); + it('should create correct files when using minimal and inlineStyle=false', async () => { + const options = { ...defaultOptions, minimal: true, inlineStyle: false }; + const tree = await schematicRunner.runSchematicAsync('application', options, workspaceTree) + .toPromise(); + const files = tree.files; + [ + '/projects/foo/tsconfig.spec.json', + '/projects/foo/tslint.json', + '/projects/foo/karma.conf.js', + '/projects/foo/src/test.ts', + '/projects/foo/src/app/app.component.html', + '/projects/foo/src/app/app.component.spec.ts', + ].forEach(x => expect(files).not.toContain(x)); + + expect(files).toEqual(jasmine.arrayContaining([ + '/projects/foo/tsconfig.app.json', + '/projects/foo/src/environments/environment.ts', + '/projects/foo/src/environments/environment.prod.ts', + '/projects/foo/src/favicon.ico', + '/projects/foo/src/index.html', + '/projects/foo/src/main.ts', + '/projects/foo/src/polyfills.ts', + '/projects/foo/src/styles.css', + '/projects/foo/src/app/app.module.ts', + '/projects/foo/src/app/app.component.css', + '/projects/foo/src/app/app.component.ts', + ])); + }); + + it('should create correct files when using minimal and inlineTemplate=false', async () => { + const options = { ...defaultOptions, minimal: true, inlineTemplate: false }; + const tree = await schematicRunner.runSchematicAsync('application', options, workspaceTree) + .toPromise(); + const files = tree.files; + [ + '/projects/foo/tsconfig.spec.json', + '/projects/foo/tslint.json', + '/projects/foo/karma.conf.js', + '/projects/foo/src/test.ts', + '/projects/foo/src/app/app.component.css', + '/projects/foo/src/app/app.component.spec.ts', + ].forEach(x => expect(files).not.toContain(x)); + + expect(files).toEqual(jasmine.arrayContaining([ + '/projects/foo/tsconfig.app.json', + '/projects/foo/src/environments/environment.ts', + '/projects/foo/src/environments/environment.prod.ts', + '/projects/foo/src/favicon.ico', + '/projects/foo/src/index.html', + '/projects/foo/src/main.ts', + '/projects/foo/src/polyfills.ts', + '/projects/foo/src/styles.css', + '/projects/foo/src/app/app.module.ts', + '/projects/foo/src/app/app.component.html', + '/projects/foo/src/app/app.component.ts', + ])); + }); + describe(`update package.json`, () => { it(`should add build-angular to devDependencies`, async () => { const tree = await schematicRunner.runSchematicAsync('application', defaultOptions, workspaceTree) diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index d96ee6824f78..cc31560ed1f8 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -22,14 +22,12 @@ "inlineStyle": { "description": "When true, includes styles inline in the root component.ts file. Only CSS styles can be included inline. Default is false, meaning that an external styles file is created and referenced in the root component.ts file.", "type": "boolean", - "default": false, "alias": "s", "x-user-analytics": 9 }, "inlineTemplate": { "description": "When true, includes template inline in the root component.ts file. Default is false, meaning that an external template file is created and referenced in the root component.ts file. ", "type": "boolean", - "default": false, "alias": "t", "x-user-analytics": 10 }, diff --git a/packages/schematics/angular/ng-new/schema.json b/packages/schematics/angular/ng-new/schema.json index e772a53571ab..d2c70b48ac0e 100644 --- a/packages/schematics/angular/ng-new/schema.json +++ b/packages/schematics/angular/ng-new/schema.json @@ -66,14 +66,12 @@ "inlineStyle": { "description": "When true, includes styles inline in the component TS file. By default, an external styles file is created and referenced in the component TS file.", "type": "boolean", - "default": false, "alias": "s", "x-user-analytics": 9 }, "inlineTemplate": { "description": "When true, includes template inline in the component TS file. By default, an external template file is created and referenced in the component TS file.", "type": "boolean", - "default": false, "alias": "t", "x-user-analytics": 10 }, From 72d340fb464bc87b2b8ba35225d18539cd49e404 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 17 Oct 2020 05:11:41 +0000 Subject: [PATCH 011/696] build: update babel packages --- package.json | 10 +- .../angular_devkit/build_angular/package.json | 10 +- yarn.lock | 794 ++++++++++-------- 3 files changed, 465 insertions(+), 349 deletions(-) diff --git a/package.json b/package.json index 9783bb3cc099..fdbf0be1f1d8 100644 --- a/package.json +++ b/package.json @@ -79,11 +79,11 @@ "@angular/platform-server": "11.0.0-next.6", "@angular/router": "11.0.0-next.6", "@angular/service-worker": "11.0.0-next.6", - "@babel/core": "7.11.6", - "@babel/generator": "7.11.6", - "@babel/plugin-transform-runtime": "7.11.5", - "@babel/preset-env": "7.11.5", - "@babel/runtime": "7.11.2", + "@babel/core": "7.12.3", + "@babel/generator": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.1", + "@babel/preset-env": "7.12.1", + "@babel/runtime": "7.12.1", "@babel/template": "7.10.4", "@bazel/bazelisk": "1.7.2", "@bazel/buildifier": "3.5.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9eb2c5d98e1b..86ec3c34ea9c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,11 +11,11 @@ "@angular-devkit/build-optimizer": "0.0.0", "@angular-devkit/build-webpack": "0.0.0", "@angular-devkit/core": "0.0.0", - "@babel/core": "7.11.6", - "@babel/generator": "7.11.6", - "@babel/plugin-transform-runtime": "7.11.5", - "@babel/preset-env": "7.11.5", - "@babel/runtime": "7.11.2", + "@babel/core": "7.12.3", + "@babel/generator": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.1", + "@babel/preset-env": "7.12.1", + "@babel/runtime": "7.12.1", "@babel/template": "7.10.4", "@jsdevtools/coverage-istanbul-loader": "3.0.5", "@ngtools/webpack": "0.0.0", diff --git a/yarn.lock b/yarn.lock index bd8bedb0f0c2..28d756cd1ad2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -184,28 +184,24 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" - integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" +"@babel/compat-data@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== -"@babel/core@7.11.6", "@babel/core@^7.7.5", "@babel/core@^7.8.6": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" - integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== +"@babel/core@7.12.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.6" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -236,7 +232,38 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.11.6", "@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.8.3": +"@babel/core@^7.7.5", "@babel/core@^7.8.6": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" + integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.6" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.5" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.5" + "@babel/types" "^7.11.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@7.12.1", "@babel/generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" + integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== + dependencies: + "@babel/types" "^7.12.1" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.8.3": version "7.11.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== @@ -260,27 +287,25 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-compilation-targets@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" - integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ== +"@babel/helper-compilation-targets@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" + integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== dependencies: - "@babel/compat-data" "^7.10.4" + "@babel/compat-data" "^7.12.1" + "@babel/helper-validator-option" "^7.12.1" browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" - integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== +"@babel/helper-create-class-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== dependencies: "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" "@babel/helper-split-export-declaration" "^7.10.4" "@babel/helper-create-regexp-features-plugin@^7.10.4": @@ -292,6 +317,15 @@ "@babel/helper-regex" "^7.10.4" regexpu-core "^4.7.0" +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.1" + "@babel/helper-define-map@^7.10.4": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" @@ -331,13 +365,20 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": +"@babel/helper-member-expression-to-functions@^7.10.4": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== dependencies: "@babel/types" "^7.11.0" +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + dependencies: + "@babel/types" "^7.12.1" + "@babel/helper-module-imports@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" @@ -345,7 +386,14 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0": +"@babel/helper-module-imports@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" + integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-transforms@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== @@ -358,6 +406,21 @@ "@babel/types" "^7.11.0" lodash "^4.17.19" +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" @@ -377,15 +440,14 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" - integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA== +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" "@babel/helper-replace-supers@^7.10.4": version "7.10.4" @@ -397,6 +459,16 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-replace-supers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" + integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -405,12 +477,19 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" - integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== dependencies: - "@babel/types" "^7.11.0" + "@babel/types" "^7.12.1" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" "@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": version "7.11.0" @@ -424,6 +503,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + "@babel/helper-wrap-function@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" @@ -443,6 +527,15 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helpers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" + integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -457,106 +550,119 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== -"@babel/plugin-proposal-async-generator-functions@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== +"@babel/parser@^7.12.1", "@babel/parser@^7.12.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== +"@babel/plugin-proposal-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-dynamic-import@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" - integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ== +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-export-namespace-from@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" - integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" - integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw== +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" - integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" - integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" - integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA== +"@babel/plugin-proposal-numeric-separator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" - integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== +"@babel/plugin-proposal-object-rest-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" - integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" - integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA== +"@babel/plugin-proposal-optional-chaining@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-private-methods@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== @@ -571,10 +677,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -641,72 +747,80 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" - integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA== +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== dependencies: - "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" -"@babel/plugin-transform-block-scoped-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" - integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA== +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.10.4": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" - integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew== +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-classes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-define-map" "^7.10.4" "@babel/helper-function-name" "^7.10.4" "@babel/helper-optimise-call-expression" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" - integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw== +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" - integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA== +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== @@ -714,225 +828,225 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" - integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA== +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-exponentiation-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" - integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw== +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-for-of@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" - integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ== +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" - integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg== +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== dependencies: "@babel/helper-function-name" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" - integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ== +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" - integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw== +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-modules-amd@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== dependencies: - "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== dependencies: - "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" - integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw== +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== dependencies: "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== dependencies: - "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" -"@babel/plugin-transform-new-target@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" - integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw== +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-object-super@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" -"@babel/plugin-transform-parameters@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" - integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== dependencies: - "@babel/helper-get-function-arity" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-property-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" - integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g== +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-regenerator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== +"@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz#f108bc8e0cf33c37da031c097d1df470b3a293fc" - integrity sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg== +"@babel/plugin-transform-runtime@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" + integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== dependencies: - "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" - integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== +"@babel/plugin-transform-sticky-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" -"@babel/plugin-transform-template-literals@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" - integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA== +"@babel/preset-env@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== dependencies: - "@babel/compat-data" "^7.11.0" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.11.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-class-properties" "^7.12.1" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" @@ -942,45 +1056,42 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.11.5" - browserslist "^4.12.0" + "@babel/types" "^7.12.1" core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" semver "^5.5.0" "@babel/preset-modules@^0.1.3": @@ -994,7 +1105,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.11.2", "@babel/runtime@^7.8.4": +"@babel/runtime@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.8.4": version "7.11.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== @@ -1025,6 +1143,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" + integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.1" + "@babel/types" "^7.12.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" @@ -1034,6 +1167,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" + integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.7.2": version "1.7.2" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.7.2.tgz#80673d886ac46bf671f6b1908bf80a4eb84eb200" @@ -6443,13 +6585,6 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -6971,7 +7106,7 @@ js-base64@^2.4.3: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -7394,18 +7529,6 @@ levelup@^4.3.2: level-supports "~1.0.0" xtend "~4.0.0" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -7689,13 +7812,6 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -10381,7 +10497,7 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpu-core@^4.7.0: +regexpu-core@^4.7.0, regexpu-core@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== From 38d807f9f3a30d4d1d0c0c585ae044e990b3d340 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 17 Oct 2020 05:07:44 +0000 Subject: [PATCH 012/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index fdbf0be1f1d8..43c8413c2f56 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-next.6", "@angular/compiler-cli": "11.0.0-next.6", "@angular/core": "11.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c", "@angular/forms": "11.0.0-next.6", "@angular/localize": "11.0.0-next.6", "@angular/material": "10.2.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 761cead69507..e56fc5b8ebe5 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b7a81c2b1df5a027ff210f2ff12a36518acf903b", - "@angular/cdk": "github:angular/cdk-builds#cdf3eb9af8b0b908d4ed0ccd51a206e77d518988", - "@angular/common": "github:angular/common-builds#07355656122097cddac2f8ce740f4bbe1bd0eb8b", - "@angular/compiler": "github:angular/compiler-builds#0280a02c0f4b1fe0fa60a5034e389707276e4190", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8a54a21915a002d682f672e124563117acc85ea2", - "@angular/core": "github:angular/core-builds#014e749dd97aefd398430a9bd29d23d5b42ba351", - "@angular/forms": "github:angular/forms-builds#4836eceb952df45b747f82f472dbc010dec7f3ff", - "@angular/language-service": "github:angular/language-service-builds#2b28c7ca2389b16f12f43f5d83d91a98e9aeee5b", - "@angular/localize": "github:angular/localize-builds#41f64a4e421f231b367322de7a91630571d46860", - "@angular/material": "github:angular/material2-builds#ed135d994b118bedbfe368cd38fb5d3a7c415374", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#97912d6b6518323c1e5dc61e636dc57eca25e758", - "@angular/platform-browser": "github:angular/platform-browser-builds#9dd3900b13616a7413682a1581cd73f0bc714064", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8aa7c3212681a6cedadf382a167fe4490af6588e", - "@angular/platform-server": "github:angular/platform-server-builds#3d82126ec7d3f0077894b6cbe7c17eb9cc971836", - "@angular/router": "github:angular/router-builds#c5ec76b282a0ea6c25e831b917fc750895ec119a" + "@angular/animations": "github:angular/animations-builds#d50c2e0fa72916790814de0a6b8914dc49fedd25", + "@angular/cdk": "github:angular/cdk-builds#d4004fed77b735b568d20e735fd7d0b26fb96973", + "@angular/common": "github:angular/common-builds#adf5790398b0bbd749a517a90eb7988a93c5f30c", + "@angular/compiler": "github:angular/compiler-builds#1dc564e3bce4043897b4b540961426901eb13930", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#17d84cd3b49a1dd56abcd7d052557c17a8e205da", + "@angular/core": "github:angular/core-builds#05e7226a21d0584503199c28e475ab86c5dd503c", + "@angular/forms": "github:angular/forms-builds#f9563d8086de3db06af96c69e854a3569fcea85e", + "@angular/language-service": "github:angular/language-service-builds#65e36ff2db3e552748449b163c4d075f8ac54559", + "@angular/localize": "github:angular/localize-builds#b3ccbd7e99a26b1b074f03cff50e818b89d6d351", + "@angular/material": "github:angular/material2-builds#3d9741923b34ae558bb4e5c0cee6044d85bf70e8", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#228fd2258d908d778779a181cf38d619c2fb6157", + "@angular/platform-browser": "github:angular/platform-browser-builds#4575a051aa56dd60b9d2a8e5d5da603a33d4eeb3", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6214f058c572df75382b0dbe661eabcda0b94a05", + "@angular/platform-server": "github:angular/platform-server-builds#117d5441afd182cf4b60732144f07cb37d402ed6", + "@angular/router": "github:angular/router-builds#cb61f3ed862f7632fc0662ddc2baed32992c35b0" } } diff --git a/yarn.lock b/yarn.lock index 28d756cd1ad2..048a5eb9fc38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#f07ea5758bf1464c6973c6dd927046b35e0dc4c5" + resolved "https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 4c1c11eda8c56cf1ca0f06f7b857513fccd54acb Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 17 Oct 2020 06:08:34 +0000 Subject: [PATCH 013/696] build: update rollup to version 2.32.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 43c8413c2f56..b98be9fb2cb1 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", - "rollup": "2.31.0", + "rollup": "2.32.0", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 86ec3c34ea9c..164fcca0bfb3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.1", "rimraf": "3.0.2", - "rollup": "2.31.0", + "rollup": "2.32.0", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/yarn.lock b/yarn.lock index 048a5eb9fc38..eefbd101a8d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10783,10 +10783,10 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.31.0: - version "2.31.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.31.0.tgz#b845345fabb9998aed9f43b114e5cdb7f0f9bbd7" - integrity sha512-0d8S3XwEZ7aCP910/9SjnelgLvC+ZXziouVolzxPOM1zvKkHioGkWGJIWmlOULlmvB8BZ6S0wrgsT4yMz0eyMg== +rollup@2.32.0: + version "2.32.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.0.tgz#ac58c8e85782bea8aa2d440fc05aba345013582a" + integrity sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw== optionalDependencies: fsevents "~2.1.2" From 8fb2a8525bc091bb5764952f8dde38bb4d2c3c22 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 17 Oct 2020 22:09:15 +0000 Subject: [PATCH 014/696] build: update bazel packages --- WORKSPACE | 4 ++-- package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index ce17d81e74fd..7112829f9852 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,8 +7,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_nodejs", - sha256 = "64a71a64ac58b8969bb19b1c9258a973b6433913e958964da698943fb5521d98", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.1/rules_nodejs-2.2.1.tar.gz"], + sha256 = "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz"], ) # Check the bazel version and download npm dependencies diff --git a/package.json b/package.json index b98be9fb2cb1..aaddd812385b 100644 --- a/package.json +++ b/package.json @@ -87,8 +87,8 @@ "@babel/template": "7.10.4", "@bazel/bazelisk": "1.7.2", "@bazel/buildifier": "3.5.0", - "@bazel/jasmine": "2.2.1", - "@bazel/typescript": "2.2.1", + "@bazel/jasmine": "2.2.2", + "@bazel/typescript": "2.2.2", "@jsdevtools/coverage-istanbul-loader": "3.0.3", "@types/babel__core": "7.1.10", "@types/babel__template": "7.0.3", diff --git a/yarn.lock b/yarn.lock index eefbd101a8d3..2fea97f47e40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1210,18 +1210,18 @@ "@bazel/buildifier-linux_x64" "0.29.0" "@bazel/buildifier-win32_x64" "0.29.0" -"@bazel/jasmine@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-2.2.1.tgz#4a1cc54b0092569104cf88fc1cbb27e34578cd90" - integrity sha512-l028iUpIbQ8WIWI+3OQpnBRa+NBKKrvtbrQNCrRv4+R305c4KAS2cGixIKI62CizD4nmhNAXRN/jE849I1g1zg== +"@bazel/jasmine@2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-2.2.2.tgz#32e7ec7af3549dd739c9ea74a9f2103589a91c62" + integrity sha512-etcJVYSf0ix3QstY7A5K1eUwKeIB1gOQpCZw2kCDsaKeiYcyRTusgqG3EHQdHBEytEV/FIP8LJ6CwahpJ0vg/Q== dependencies: c8 "~7.1.0" jasmine-reporters "~2.3.2" -"@bazel/typescript@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-2.2.1.tgz#46d6dcedd91a7fd0421e9286790aff94ec45bece" - integrity sha512-nFdwkJYzKsmu9IzbQ8Wtt6YI7AlTEv5JHWTbMmZB4HBOi7xjhgFKiq3HQRhZ963EVoJ481Kb6M0wtkzARCb3YA== +"@bazel/typescript@2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-2.2.2.tgz#c7cd49cb630ca3720c04c94046ba8ca4c0d5b0aa" + integrity sha512-hkx/7L3s8q5gIgaSFmkUZWPqdKmdJmQ04GaLnsI/YEp9EhPObqATSKnOHeDdT7bzqLO7giDAwAiXhEmsO1Smcw== dependencies: protobufjs "6.8.8" semver "5.6.0" From 3a29d8abd7ea38b14420d5def1c6654489ec2640 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 18 Oct 2020 05:53:33 +0000 Subject: [PATCH 015/696] build: update webpack-subresource-integrity to version 1.5.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index aaddd812385b..2ac59f4df15a 100644 --- a/package.json +++ b/package.json @@ -233,7 +233,7 @@ "webpack-dev-server": "3.10.3", "webpack-merge": "5.2.0", "webpack-sources": "2.0.1", - "webpack-subresource-integrity": "1.5.0", + "webpack-subresource-integrity": "1.5.1", "worker-plugin": "5.0.0", "zone.js": "^0.10.2" }, diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 164fcca0bfb3..7f32c03e79c9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -74,7 +74,7 @@ "webpack-dev-server": "3.11.0", "webpack-merge": "5.2.0", "webpack-sources": "2.0.1", - "webpack-subresource-integrity": "1.5.0", + "webpack-subresource-integrity": "1.5.1", "worker-plugin": "5.0.0" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index 2fea97f47e40..f4edf65a2fda 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13004,10 +13004,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-subresource-integrity@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.0.tgz#3b90889c5a98e5b292f4652ece224632802e5cf1" - integrity sha512-d2VhJiaguyAUoQAphCfieTif4mn6bMrQqxPH4YL1PTJiyayzvkWH8xNEMis13ekH/o/KUO1OqO5khCgB43YHdA== +webpack-subresource-integrity@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.1.tgz#6f44ea99987266b70c4ec42ac51064d33e982277" + integrity sha512-uekbQ93PZ9e7BFB8Hl9cFIVYQyQqiXp2ExKk9Zv+qZfH/zHXHrCFAfw1VW0+NqWbTWrs/HnuDrto3+tiPXh//Q== dependencies: webpack-sources "^1.3.0" From 4d5b9a8c6916ed17db9ae27b322f666f53a26c44 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 19 Oct 2020 07:11:10 +0000 Subject: [PATCH 016/696] build: update to version --- yarn.lock | 352 ++++++++++++------------------------------------------ 1 file changed, 74 insertions(+), 278 deletions(-) diff --git a/yarn.lock b/yarn.lock index f4edf65a2fda..94dfdec7fd3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,9 +79,9 @@ integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== "@angular/core@^10.0.0-0 || ^11.0.0": - version "10.1.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.1.5.tgz#2a855edc013237db93d18620ad3d4d74ef4a11b4" - integrity sha512-B8j1B5vkBmzyan78kMJhw7dfhe7znmujbeDU7qRgRcIllc9pVJv7D133Yze6JFiLVg21PfyFYs8FBJNeq39hxQ== + version "10.1.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.1.6.tgz#1e9e5abb7a412a92babf230ea385b32996574751" + integrity sha512-sUleQouCedT87VOCb49T7cm6La2VeJg1omtO5+QfjWmifNcQ/nqV56Zxov3RT7CmsVwVbkA0X5Q62oSEPAUXrw== dependencies: tslib "^2.0.0" @@ -189,7 +189,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== -"@babel/core@7.12.3": +"@babel/core@7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.12.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== @@ -232,29 +232,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.7.5", "@babel/core@^7.8.6": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" - integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.6" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@7.12.1", "@babel/generator@^7.12.1": +"@babel/generator@7.12.1", "@babel/generator@^7.12.1", "@babel/generator@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== @@ -263,15 +241,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.8.3": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" - integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== - dependencies: - "@babel/types" "^7.11.5" - jsesc "^2.5.1" - source-map "^0.5.0" - "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -308,15 +277,6 @@ "@babel/helper-replace-supers" "^7.12.1" "@babel/helper-split-export-declaration" "^7.10.4" -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" - "@babel/helper-create-regexp-features-plugin@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" @@ -336,11 +296,11 @@ lodash "^4.17.19" "@babel/helper-explode-assignable-expression@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" - integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" "@babel/helper-function-name@^7.10.4": version "7.10.4" @@ -365,13 +325,6 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.4": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" - integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== - dependencies: - "@babel/types" "^7.11.0" - "@babel/helper-member-expression-to-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" @@ -379,13 +332,6 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - "@babel/helper-module-imports@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" @@ -393,19 +339,6 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-module-transforms@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/template" "^7.10.4" - "@babel/types" "^7.11.0" - lodash "^4.17.19" - "@babel/helper-module-transforms@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" @@ -449,16 +382,6 @@ "@babel/helper-wrap-function" "^7.10.4" "@babel/types" "^7.12.1" -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helper-replace-supers@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" @@ -469,14 +392,6 @@ "@babel/traverse" "^7.12.1" "@babel/types" "^7.12.1" -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helper-simple-access@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" @@ -509,25 +424,16 @@ integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== "@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== dependencies: "@babel/helper-function-name" "^7.10.4" "@babel/template" "^7.10.4" "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.10.4", "@babel/helpers@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.12.1": +"@babel/helpers@^7.12.1", "@babel/helpers@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== @@ -545,12 +451,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.8.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== - -"@babel/parser@^7.12.1", "@babel/parser@^7.12.3": +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.8.3": version "7.12.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== @@ -654,7 +555,7 @@ "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1": +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== @@ -662,14 +563,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-async-generators@^7.8.0": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -812,7 +705,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.12.1": +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== @@ -820,14 +713,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-duplicate-keys@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" @@ -1105,20 +990,13 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.12.1": +"@babel/runtime@7.12.1", "@babel/runtime@^7.8.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@7.10.4", "@babel/template@^7.10.4", "@babel/template@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -1128,22 +1006,7 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.8.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" - integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.5" - "@babel/types" "^7.11.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/traverse@^7.12.1": +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== @@ -1158,16 +1021,7 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.1": +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== @@ -1306,14 +1160,6 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1327,11 +1173,6 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - "@nodelib/fs.walk@^1.2.3": version "1.2.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" @@ -1841,9 +1682,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>= 8": - version "14.11.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" - integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + version "14.11.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.10.tgz#8c102aba13bf5253f35146affbf8b26275069bef" + integrity sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA== "@types/node@10.12.30": version "10.12.30" @@ -1851,9 +1692,9 @@ integrity sha512-nsqTN6zUcm9xtdJiM9OvOJ5EF0kOI8f1Zuug27O/rgtxCRJHGqncSWfCMZUP852dCKPsDsYXGvBhxfRjDBkF5Q== "@types/node@^10.1.0": - version "10.17.39" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.39.tgz#ce1122758d0608de8303667cebf171f44192629b" - integrity sha512-dJLCxrpQmgyxYGcl0Ae9MTsQgI22qHHcGFj/8VKu7McJA5zQpnuGjoksnxbo1JxSjW/Nahnl13W8MYZf01CZHA== + version "10.17.40" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.40.tgz#8a50e47daff15fd4a89dc56f5221b3729e506be6" + integrity sha512-3hZT2z2/531A5pc8hYhn1gU5Qb1SIRSgMLQ6zuHA5xtt16lWAxUGprtr8lJuc9zNJMXEIIBWfSnzqBP/4mglpA== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -2976,9 +2817,9 @@ boolbase@^1.0.0, boolbase@~1.0.0: integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= bootstrap@^4.0.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.2.tgz#a85c4eda59155f0d71186b6e6ad9b875813779ab" - integrity sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A== + version "4.5.3" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.3.tgz#c6a72b355aaf323920be800246a6e4ef30997fe6" + integrity sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ== brace-expansion@^1.1.7: version "1.1.11" @@ -3312,11 +3153,6 @@ cacheable-request@^7.0.1: normalize-url "^4.1.0" responselike "^2.0.0" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -3456,9 +3292,9 @@ chardet@^0.7.0: integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== "chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.2.1, chokidar@^3.4.1, chokidar@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -3466,7 +3302,7 @@ chardet@^0.7.0: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.5.0" optionalDependencies: fsevents "~2.1.2" @@ -4874,9 +4710,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.571: - version "1.3.578" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.578.tgz#e6671936f4571a874eb26e2e833aa0b2c0b776e0" - integrity sha512-z4gU6dA1CbBJsAErW5swTGAaU2TBzc2mPAonJb00zqW1rOraDo2zfBMDRvaz9cVic+0JEZiYbHWPw/fTaZlG2Q== + version "1.3.582" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" + integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww== elliptic@^6.5.3: version "6.5.3" @@ -5003,9 +4839,9 @@ ent@~2.2.0: integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= entities@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== envinfo@7.5.1: version "7.5.1" @@ -5114,9 +4950,9 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: ext "^1.1.2" escalade@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e" - integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig== + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" @@ -5385,18 +5221,6 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - fast-glob@^3.1.1, fast-glob@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" @@ -5905,11 +5729,6 @@ glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - glob@7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -6159,17 +5978,10 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== -hosted-git-info@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.5.tgz#bea87905ef7317442e8df3087faa3c842397df03" - integrity sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ== - dependencies: - lru-cache "^6.0.0" - hosted-git-info@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.6.tgz#761da6d68c559238164f3f3078842ef9e8ae1607" - integrity sha512-VRvqVD5T6t9HdmNDWTwbi8H/EC722MemAhOSP5QvYAXpDAY0Nhu2I/i+bXsktu4sU5LVHSh/wmXtVU8bDtjedQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" + integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== dependencies: lru-cache "^6.0.0" @@ -7075,11 +6887,11 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^3.3.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.6.1.tgz#a20456b309a669b547a3c24bb2120f16f70cfc65" - integrity sha512-Jqp8P6ZWkTVFGmJwBK46p+kJNrZCdqkQ4GL+PGuBXZwK1fM4ST9BizkYgIwCFqYYqnTizAy6+XG2Ej5dFrej9Q== + version "3.6.2" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.6.2.tgz#a8df3fc92f2ef322bcdafb890f744f3ff5751e86" + integrity sha512-Uc0o2MRnC8TS1MjDrB8jE1umKEo2mflzGvdg0Ncs+yuLtOJ+uz/Wz8VmGsNGtuASr8+E0LDgPkOpvdoC76m5WQ== dependencies: - fast-glob "^2.2.6" + glob "^7.1.6" jasmine-core "~3.6.0" jasminewd2@^2.1.0: @@ -8093,7 +7905,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -8428,9 +8240,9 @@ mv@2.1.1, mv@~2: rimraf "~2.4.0" nan@^2.12.1, nan@^2.14.0: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nanoid@^3.1.12: version "3.1.12" @@ -8485,9 +8297,9 @@ next-tick@~1.0.0: integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= ng-packagr@~11.0.0-next.0: - version "11.0.0-next.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.0.tgz#33929360703012b6a6817dba592772cb7fa37aa2" - integrity sha512-Fnwbw8L2VrBdyaUq6KTdYjJzccjAWkT6xj3zO37SRRPNDxdO26jusyp/7fZt5hhHys+5PjCGM1iFTEPWzPzmsg== + version "11.0.0-next.1" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.1.tgz#e7aa3eb319fb0868498f7bb357c3faf72f373720" + integrity sha512-sIF6U/f03PFyn7c0If1b+sa5dYuc/ZOb2UGrQAGUs+MXyqFAQXBQiXOzn2EwG9xoApGq7Qs2CwpkXmw9snB6OA== dependencies: "@rollup/plugin-commonjs" "^15.0.0" "@rollup/plugin-json" "^4.0.0" @@ -8582,9 +8394,9 @@ node-libs-browser@^2.2.1: vm-browserify "^1.0.1" node-releases@^1.1.61: - version "1.1.61" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e" - integrity sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g== + version "1.1.63" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" + integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== node-sass-tilde-importer@^1.0.0: version "1.0.2" @@ -8672,7 +8484,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.0: +npm-package-arg@8.1.0, npm-package-arg@^8.0.0, npm-package-arg@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.0.tgz#b5f6319418c3246a1c38e1a8fbaa06231bc5308f" integrity sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig== @@ -8691,15 +8503,6 @@ npm-package-arg@8.1.0: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-package-arg@^8.0.0, npm-package-arg@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.0.1.tgz#9d76f8d7667b2373ffda60bb801a27ef71e3e270" - integrity sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ== - dependencies: - hosted-git-info "^3.0.2" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - npm-packlist@^1.1.12: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" @@ -8770,9 +8573,9 @@ npm-registry-fetch@^4.0.0: safe-buffer "^5.2.0" npm-registry-fetch@^8.0.0: - version "8.1.4" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-8.1.4.tgz#438cc8f042f6c5309e9a91ad5ccb80d7f6ed47de" - integrity sha512-UaLGFQP7VCuyBsb7S5P5od3av/Zy9JW6K5gbMigjZCYnEpIkWWRiLQTKVpxM4QocfPcsjm+xtyrDNm4jdqwNEg== + version "8.1.5" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-8.1.5.tgz#33270c6722030c2d158a970d1327dcd9a149b5c5" + integrity sha512-yZPNoJK9clx1jhSXU54kU6Aj1SV2p7mXUs1W/6OjQvek3wb1RrjDCrt4iY1+VX9eBQvvSGEpzNmYkRUaTL8rqg== dependencies: "@npmcli/ci-detect" "^1.0.0" lru-cache "^6.0.0" @@ -9915,9 +9718,9 @@ postcss@7.0.32: supports-color "^6.1.0" postcss@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.1.tgz#c3a287dd10e4f6c84cb3791052b96a5d859c9389" - integrity sha512-9DGLSsjooH3kSNjTZUOt2eIj2ZTW0VI2PZ/3My+8TC7KIbH2OKwUlISfDsf63EP4aiRUt3XkEWMWvyJHvJelEg== + version "8.1.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.2.tgz#9731fcaa4f7b0bef47121821bdae9eeb609a324c" + integrity sha512-mToqEVFq8jF9TFhlIK4HhE34zknFJuNTgqtsr60vUvrWn+9TIYugCwiV1JZRxCuOrej2jjstun1bn4Bc7/1HkA== dependencies: colorette "^1.2.1" line-column "^1.0.2" @@ -10409,10 +10212,10 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" @@ -10497,7 +10300,7 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpu-core@^4.7.0, regexpu-core@^4.7.1: +regexpu-core@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== @@ -10783,20 +10586,13 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.32.0: +rollup@2.32.0, rollup@^2.8.0: version "2.32.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.0.tgz#ac58c8e85782bea8aa2d440fc05aba345013582a" integrity sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw== optionalDependencies: fsevents "~2.1.2" -rollup@^2.8.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.29.0.tgz#0c5c5968530b21ca0e32f8b94b7cd9346cfb0eec" - integrity sha512-gtU0sjxMpsVlpuAf4QXienPmUAhd6Kc7owQ4f5lypoxBW18fw2UNYZ4NssLGsri6WhUZkE/Ts3EMRebN+gNLiQ== - optionalDependencies: - fsevents "~2.1.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -12454,9 +12250,9 @@ ua-parser-js@0.7.22: integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q== uglify-js@^3.1.4: - version "3.11.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.2.tgz#9f50325544273c27b20e586def140e7726c525ea" - integrity sha512-G440NU6fewtnQftSgqRV1r2A5ChKbU1gqFCJ7I8S7MPpY/eZZfLGefaY6gUZYiWebMaO+txgiQ1ZyLDuNWJulg== + version "3.11.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.3.tgz#b2f8c87826344f091ba48c417c499d6cba5d5786" + integrity sha512-wDRziHG94mNj2n3R864CvYw/+pc9y/RNImiTyrrf8BzgWn75JgFSwYvXrtZQMnMnOp/4UTrf3iCSQxSStPiByA== unbzip2-stream@^1.3.3: version "1.4.3" From ae94245131d883b5b060e8d6b6d05628bc448ea0 Mon Sep 17 00:00:00 2001 From: Jaime Oliveira Date: Mon, 19 Oct 2020 11:08:39 +0200 Subject: [PATCH 017/696] fix(@angular-devkit/build-angular): add a base href to karma debug context This commits adds a base href value in the karma context iframe used to run unit tests where a unit test throws: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document. Even if the application is fine. This is because the index.html from Angular CLI contains a base href value, but not the Karma context iframe. So when adding a unit test with a testing module that imports a NgModule, for example AppModule, which itself imports RouterModule, the unit test used to throw an error (regression appeared in router 3.1). That could be solved by either adding `RouterTestingModule` to the testing module, or by adding a provider `{ provide: APP_BASE_HREF, useValue: '/' }`, but required to understand the issue. This solves the issue in a transparent way: developers won't even encounter the problem anymore. Closes #19116 --- .../build_angular/src/webpack/plugins/karma-debug.html | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma-debug.html b/packages/angular_devkit/build_angular/src/webpack/plugins/karma-debug.html index 8c3fe313059d..44dbff5898f4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma-debug.html +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma-debug.html @@ -9,6 +9,7 @@ %X_UA_COMPATIBLE% Karma DEBUG RUNNER + From c11e82dc75aa89f94ebe7d424951958745b7b3e7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 12:34:33 +0200 Subject: [PATCH 018/696] test(@angular-devkit/build-angular): remove old e2e test Remove old disabled for 3 years --- .../e2e/tests/build/aot/aot-decorators.ts | 28 ---------- .../build/vendor-chunk-symlink-node-module.ts | 24 -------- tests/legacy-cli/e2e/tests/build/watch.ts | 37 ------------- .../legacy-cli/e2e/tests/test/e2e-baseurl.ts | 24 -------- .../legacy-cli/e2e/tests/test/test-assets.ts | 55 ------------------- 5 files changed, 168 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/aot/aot-decorators.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/vendor-chunk-symlink-node-module.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/watch.ts delete mode 100644 tests/legacy-cli/e2e/tests/test/e2e-baseurl.ts delete mode 100644 tests/legacy-cli/e2e/tests/test/test-assets.ts diff --git a/tests/legacy-cli/e2e/tests/build/aot/aot-decorators.ts b/tests/legacy-cli/e2e/tests/build/aot/aot-decorators.ts deleted file mode 100644 index c6d56342e2b0..000000000000 --- a/tests/legacy-cli/e2e/tests/build/aot/aot-decorators.ts +++ /dev/null @@ -1,28 +0,0 @@ -import {ng} from '../../../utils/process'; -import {appendToFile, expectFileToMatch, prependToFile, replaceInFile} from '../../../utils/fs'; -import {expectToFail} from '../../../utils/utils'; -import {ngVersionMatches} from '../../../utils/version'; - -export default function() { - // TODO(architect): This behaviour seems to have changed in devkit/build-angular. Figure out why. - return; - - return ng('generate', 'component', 'test-component', '--module', 'app.module.ts') - .then(() => prependToFile('src/app/test-component/test-component.component.ts', ` - import { Optional, SkipSelf } from '@angular/core'; - `)) - .then(() => replaceInFile('src/app/test-component/test-component.component.ts', - /constructor.*/, ` - constructor(@Optional() @SkipSelf() public test: TestComponentComponent) { - console.log(test); - } - `)) - .then(() => appendToFile('src/app/app.component.html', ` - - `)) - .then(() => ng('build', '--aot')) - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\bComponent\b/))) - // Check that the decorators are still kept. - .then(() => expectFileToMatch('dist/test-project/main.js', /ctorParameters.*Optional.*SkipSelf/)) - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\bNgModule\b/))); -} diff --git a/tests/legacy-cli/e2e/tests/build/vendor-chunk-symlink-node-module.ts b/tests/legacy-cli/e2e/tests/build/vendor-chunk-symlink-node-module.ts deleted file mode 100644 index 61eae952ea71..000000000000 --- a/tests/legacy-cli/e2e/tests/build/vendor-chunk-symlink-node-module.ts +++ /dev/null @@ -1,24 +0,0 @@ -import {ng} from '../../utils/process'; -import {deleteFile, expectFileToExist, moveFile, symlinkFile} from '../../utils/fs'; - - -// THIS TEST REQUIRES TO MOVE NODE_MODULES AND MOVE IT BACK. -export default function() { - // E2E_DISABLED: temporarily disabled - return Promise.resolve(); - - return Promise.resolve() - .then(() => moveFile('node_modules', '../node_modules')) - .then(() => symlinkFile('../node_modules', 'node_modules', 'dir')) - .then(() => ng('build')) - .then(() => expectFileToExist('dist/test-project/vendor.js')) - // Cleanup - .then(() => { - return deleteFile('node_modules') - .then(() => moveFile('../node_modules', 'node_modules')); - }, (err: any) => { - return deleteFile('node_modules') - .then(() => moveFile('../node_modules', 'node_modules')) - .then(() => { throw err; }); - }) -} diff --git a/tests/legacy-cli/e2e/tests/build/watch.ts b/tests/legacy-cli/e2e/tests/build/watch.ts deleted file mode 100644 index cb3bf7390bb9..000000000000 --- a/tests/legacy-cli/e2e/tests/build/watch.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { - killAllProcesses, - exec, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch -} from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; - - -const webpackGoodRegEx = /: Compiled successfully./; - -export default function () { - // TODO(architect): This test is behaving oddly both here and in devkit/build-angular. - // It seems to be because of file watchers. - return; - - if (process.platform.startsWith('win')) { - return Promise.resolve(); - } - - return execAndWaitForOutputToMatch('ng', ['serve'], webpackGoodRegEx) - // Should trigger a rebuild. - .then(() => exec('touch', 'src/main.ts')) - .then(() => waitForAnyProcessOutputToMatch(webpackGoodRegEx, 10000)) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }) - .then(() => execAndWaitForOutputToMatch('ng', ['serve', '--no-watch'], webpackGoodRegEx)) - // Should not trigger a rebuild when not watching files. - .then(() => exec('touch', 'src/main.ts')) - .then(() => expectToFail(() => waitForAnyProcessOutputToMatch(webpackGoodRegEx, 10000))) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }) -} diff --git a/tests/legacy-cli/e2e/tests/test/e2e-baseurl.ts b/tests/legacy-cli/e2e/tests/test/e2e-baseurl.ts deleted file mode 100644 index c7abf7c66d97..000000000000 --- a/tests/legacy-cli/e2e/tests/test/e2e-baseurl.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ng, killAllProcesses } from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; -import { ngServe } from '../../utils/project'; -import { updateJsonFile } from '../../utils/project'; - - -export default function () { - // TODO(architect): Figure out why this test is not working. - return; - - return Promise.resolve() - .then(() => expectToFail(() => ng('e2e', 'test-project-e2e', '--devServerTarget='))) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.serve.options.port = 4400; - })) - .then(() => ngServe()) - .then(() => ng('e2e', 'test-project-e2e', '--devServerTarget=', '--base-url=http://localhost:4400')) - .then(() => ng('e2e', 'test-project-e2e', '--devServerTarget=', '--port=4400')) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); -} diff --git a/tests/legacy-cli/e2e/tests/test/test-assets.ts b/tests/legacy-cli/e2e/tests/test/test-assets.ts deleted file mode 100644 index d647d07f8d0e..000000000000 --- a/tests/legacy-cli/e2e/tests/test/test-assets.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { writeMultipleFiles } from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; -import { stripIndent } from 'common-tags'; - -// Make sure asset files are served -export default function () { - // TODO(architect): Figure out why this test is not working. - return; - - return Promise.resolve() - .then(() => writeMultipleFiles({ - 'src/assets/file.txt': 'assets-folder-content', - 'src/file.txt': 'file-content', - // Not using `async()` in tests as it seemed to swallow `fetch()` errors - 'src/app/app.component.spec.ts': stripIndent` - describe('Test Runner', () => { - const fetch = global['fetch']; - it('should serve files in assets folder', (done) => { - fetch('/assets/file.txt') - .then(response => response.text()) - .then(fileText => { - expect(fileText).toMatch('assets-folder-content'); - done(); - }); - }); - it('should serve files explicitly added to assets array', (done) => { - fetch('/file.txt') - .then(response => response.text()) - .then(fileText => { - expect(fileText).toMatch('file-content'); - done(); - }); - }); - }); - ` - })) - // Test failure condition (no assets in angular.json) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project']; - appArchitect.build.options.assets = []; - })) - .then(() => expectToFail(() => ng('test', '--watch=false'), - 'Should fail because the assets to serve were not in the Angular CLI config')) - // Test passing condition (assets are included) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.assets = [ - { 'glob': '**/*', 'input': 'src/assets' }, - { 'glob': 'file.txt' }, - ]; - })) - .then(() => ng('test', '--watch=false')); -} From 212374a5f1c8911e489110062931c86f58a40333 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 11:26:00 +0200 Subject: [PATCH 019/696] refactor(@angular/cli): remove install-package under utils Remove the lone `install-package.ts` file from tasks to utilities --- packages/angular/cli/commands/add-impl.ts | 2 +- packages/angular/cli/commands/update-impl.ts | 2 +- packages/angular/cli/{tasks => utilities}/install-package.ts | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/angular/cli/{tasks => utilities}/install-package.ts (100%) diff --git a/packages/angular/cli/commands/add-impl.ts b/packages/angular/cli/commands/add-impl.ts index 321601e22e22..21573856af7a 100644 --- a/packages/angular/cli/commands/add-impl.ts +++ b/packages/angular/cli/commands/add-impl.ts @@ -13,8 +13,8 @@ import { PackageManager } from '../lib/config/schema'; import { isPackageNameSafeForAnalytics } from '../models/analytics'; import { Arguments } from '../models/interface'; import { RunSchematicOptions, SchematicCommand } from '../models/schematic-command'; -import { installPackage, installTempPackage } from '../tasks/install-package'; import { colors } from '../utilities/color'; +import { installPackage, installTempPackage } from '../utilities/install-package'; import { getPackageManager } from '../utilities/package-manager'; import { NgAddSaveDepedency, diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index b67d46aa1ec5..ce3a7ac7e823 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -14,8 +14,8 @@ import * as semver from 'semver'; import { PackageManager } from '../lib/config/schema'; import { Command } from '../models/command'; import { Arguments } from '../models/interface'; -import { runTempPackageBin } from '../tasks/install-package'; import { colors } from '../utilities/color'; +import { runTempPackageBin } from '../utilities/install-package'; import { writeErrorToLogFile } from '../utilities/log-file'; import { getPackageManager } from '../utilities/package-manager'; import { diff --git a/packages/angular/cli/tasks/install-package.ts b/packages/angular/cli/utilities/install-package.ts similarity index 100% rename from packages/angular/cli/tasks/install-package.ts rename to packages/angular/cli/utilities/install-package.ts From b7890b6afcf08036c1f67274e61db2ccc02a021d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 19 Oct 2020 15:10:49 +0000 Subject: [PATCH 020/696] build: update to version --- yarn.lock | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 94dfdec7fd3c..825395f4bf49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11829,7 +11829,7 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.5, terser@^5.0.0, terser@^5.3.4: +terser@5.3.5: version "5.3.5" resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.5.tgz#9e080baa0568f96654621b20eb9effa440b1484e" integrity sha512-Qw3CZAMmmfU824AoGKalx+riwocSI5Cs0PoGp9RdSLfmxkmJgyBxqLBP/isDNtFyhHnitikvRMZzyVgeq+U+Tg== @@ -11847,6 +11847,15 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.0.0, terser@^5.3.4: + version "5.3.7" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" + integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From 4f25c3b7c035d1ef66c758a03f41755ed0d419d8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:11:43 -0400 Subject: [PATCH 021/696] ci: ensure E2E steps are isolated within e2e-cli CircleCi job A separate directory within the ramdisk is now created for each E2E step to prevent the E2E tests from accidently reusing files from a previous step. --- .circleci/config.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 56a6364fe701..a2464adce12d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -198,12 +198,14 @@ jobs: command: ./.circleci/env.sh - run: name: Execute CLI E2E Tests - command: PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.ve >>--ve<> <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk + command: | + mkdir /mnt/ramdisk/e2e-main + PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.ve >>--ve<> <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e-main - run: name: Execute CLI E2E Tests Subset with Yarn command: | - rm -rf /mnt/ramdisk/*test-project - PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.ve >>--ve<> <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk --glob="{tests/basic/**,tests/update/**}" + mkdir /mnt/ramdisk/e2e-yarn + PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.ve >>--ve<> <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**}" e2e-cli-node-10: executor: From 1d2763664eca20755013f684f60053a8b02e5f7f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:14:45 -0400 Subject: [PATCH 022/696] test(@angular/cli): set yarn as package manager for yarn workspace update E2E Previously, the package manager would default to using npm during the update of the yarn workspace test project. This can cause undefined package behavior and did not accurately represent a yarn workspace environment. --- .../1.0-yarn-workspace-project/packages/app/.angular-cli.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/assets/1.0-yarn-workspace-project/packages/app/.angular-cli.json b/tests/legacy-cli/e2e/assets/1.0-yarn-workspace-project/packages/app/.angular-cli.json index 87c52afc90b8..afc28818ac8e 100644 --- a/tests/legacy-cli/e2e/assets/1.0-yarn-workspace-project/packages/app/.angular-cli.json +++ b/tests/legacy-cli/e2e/assets/1.0-yarn-workspace-project/packages/app/.angular-cli.json @@ -53,5 +53,6 @@ "defaults": { "styleExt": "css", "component": {} - } + }, + "packageManager": "yarn" } From 445fe1d4e6557d5a9c8f0f301fc5f95422252980 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:17:19 -0400 Subject: [PATCH 023/696] fix(@angular-devkit/schematics): show active package manager with install task The manager that is being used to perform the package installation will now be shown during the installation. This provides more insight to the user as well as providing additional troubleshooting information in the event of a failure. --- .../angular_devkit/schematics/tasks/package-manager/executor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts index bbfc8b469813..a7237b529648 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts @@ -105,7 +105,7 @@ export default function( return new Observable(obs => { const spinner = ora({ - text: 'Installing packages...', + text: `Installing packages (${taskPackageManagerName})...`, // Workaround for https://github.com/sindresorhus/ora/issues/136. discardStdin: process.platform != 'win32', }).start(); From ff07ef8e8e98db40ff5a3c52c6e4dbbd4144f6b7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 19 Oct 2020 17:37:14 +0000 Subject: [PATCH 024/696] build: update terser to version 5.3.7 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 17 ++++------------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 2ac59f4df15a..fd5725fdc958 100644 --- a/package.json +++ b/package.json @@ -214,7 +214,7 @@ "symbol-observable": "2.0.3", "tar": "^6.0.0", "temp": "^0.9.0", - "terser": "5.3.5", + "terser": "5.3.7", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", "through2": "^4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 7f32c03e79c9..946b11c4a6d8 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -65,7 +65,7 @@ "style-loader": "2.0.0", "stylus": "0.54.8", "stylus-loader": "4.1.1", - "terser": "5.3.5", + "terser": "5.3.7", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", "tree-kill": "1.2.2", diff --git a/yarn.lock b/yarn.lock index 825395f4bf49..86a15f794eb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11829,10 +11829,10 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.5.tgz#9e080baa0568f96654621b20eb9effa440b1484e" - integrity sha512-Qw3CZAMmmfU824AoGKalx+riwocSI5Cs0PoGp9RdSLfmxkmJgyBxqLBP/isDNtFyhHnitikvRMZzyVgeq+U+Tg== +terser@5.3.7, terser@^5.0.0, terser@^5.3.4: + version "5.3.7" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" + integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -11847,15 +11847,6 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.0.0, terser@^5.3.4: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" - integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From ea1325e03e7786031b5123fc37178c61e53420bd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 20:00:44 +0200 Subject: [PATCH 025/696] docs(@angular/cli): fix formatting in docs command --- packages/angular/cli/commands/deploy-long.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/angular/cli/commands/deploy-long.md b/packages/angular/cli/commands/deploy-long.md index 5d600ef2e8d8..afe619565c0a 100644 --- a/packages/angular/cli/commands/deploy-long.md +++ b/packages/angular/cli/commands/deploy-long.md @@ -8,15 +8,15 @@ For example: ```json "projects": { - "my-project": { - ... - "architect": { - ... - "deploy": { - "builder": "@angular/fire:deploy", - "options": {} - } - } - } + "my-project": { + ... + "architect": { + ... + "deploy": { + "builder": "@angular/fire:deploy", + "options": {} + } } + } +} ``` \ No newline at end of file From 7b77e92338ca79e889cb0b83c075183260e1f460 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 11:00:02 +0200 Subject: [PATCH 026/696] refactor(@angular-devkit/build-angular): remove allowed `webpack` and `@angular-devkit/build-angular` from `CommonJsUsageWarnPlugin` These are no longer needed --- .../src/dev-server/common-js-warning_spec.ts | 46 +++++++++++++++++++ .../plugins/common-js-usage-warn-plugin.ts | 14 ++---- 2 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts diff --git a/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts new file mode 100644 index 000000000000..309938c9b0ba --- /dev/null +++ b/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts @@ -0,0 +1,46 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { Architect } from '@angular-devkit/architect'; +import { logging } from '@angular-devkit/core'; +import { createArchitect, host } from '../test-utils'; + +describe('Dev Server Builder commonjs warning', () => { + const targetSpec = { project: 'app', target: 'serve' }; + + let architect: Architect; + let logger: logging.Logger; + let logs: string[]; + + beforeEach(async () => { + await host.initialize().toPromise(); + architect = (await createArchitect(host.root())).architect; + + // Create logger + logger = new logging.Logger(''); + logs = []; + logger.subscribe(e => logs.push(e.message)); + }); + + afterEach(async () => host.restore().toPromise()); + + it('should not show warning when using HMR', async () => { + const run = await architect.scheduleTarget(targetSpec, { hmr: true }, { logger }); + const output = await run.result; + expect(output.success).toBe(true); + expect(logs.join()).not.toContain('Warning'); + await run.stop(); + }); + + it('should not show warning when using live-reload', async () => { + const run = await architect.scheduleTarget(targetSpec, { liveReload: true}, { logger }); + const output = await run.result; + expect(output.success).toBe(true); + expect(logs.join()).not.toContain('Warning'); + await run.stop(); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts index 43fc57d596cf..dbd73e027009 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts @@ -33,18 +33,10 @@ export interface CommonJsUsageWarnPluginOptions { export class CommonJsUsageWarnPlugin { private shownWarnings = new Set(); - - // Allow the below dependency for HMR - // tslint:disable-next-line: max-line-length - // https://github.com/angular/angular-cli/blob/1e258317b1f6ec1e957ee3559cc3b28ba602f3ba/packages/angular_devkit/build_angular/src/dev-server/index.ts#L605-L638 - private allowedDependencies = new Set([ - 'webpack/hot/dev-server', - 'webpack/hot/only-dev-server', - '@angular-devkit/build-angular', - ]); + private allowedDependencies: Set; constructor(private options: CommonJsUsageWarnPluginOptions = {}) { - this.options.allowedDependencies?.forEach(d => this.allowedDependencies.add(d)); + this.allowedDependencies = new Set(this.options.allowedDependencies); } apply(compiler: Compiler) { @@ -90,7 +82,7 @@ export class CommonJsUsageWarnPlugin { // Only show warnings for modules from main entrypoint. // And if the issuer request is not from 'webpack-dev-server', as 'webpack-dev-server' // will require CommonJS libraries for live reloading such as 'sockjs-node'. - if (mainIssuer?.name === 'main' && !issuer?.userRequest?.includes('webpack-dev-server')) { + if (mainIssuer?.name === 'main') { const warning = `${issuer?.userRequest} depends on '${rawRequest}'. ` + 'CommonJS or AMD dependencies can cause optimization bailouts.\n' + 'For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies'; From 54fc6f19233b61ce581e15974e013598786dec68 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 11:00:41 +0200 Subject: [PATCH 027/696] refactor(@angular-devkit/build-angular): minor cleanup to dev-server code --- .../build_angular/src/dev-server/index.ts | 46 +++++++++---------- .../src/webpack/configs/dev-server.ts | 4 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index b5462d6ab586..57ab7f420105 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -15,8 +15,8 @@ import { import { json, tags } from '@angular-devkit/core'; import { NodeJsSyncHost } from '@angular-devkit/core/node'; import * as path from 'path'; -import { Observable, from } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; +import { Observable, from, of } from 'rxjs'; +import { concatMap, switchMap } from 'rxjs/operators'; import * as ts from 'typescript'; import * as url from 'url'; import * as webpack from 'webpack'; @@ -80,11 +80,10 @@ export function serveWebpackBrowser( } = {}, ): Observable { // Check Angular version. - assertCompatibleAngularVersion(context.workspaceRoot, context.logger); + const { logger, workspaceRoot } = context; + assertCompatibleAngularVersion(workspaceRoot, logger); const browserTarget = targetFromTargetString(options.browserTarget); - const root = context.workspaceRoot; - let first = true; const host = new NodeJsSyncHost(); async function setup(): Promise<{ @@ -151,7 +150,7 @@ export function serveWebpackBrowser( ); } - if (options.liveReload || options.hmr) { + if (options.liveReload && !options.hmr) { // This is needed because we cannot use the inline option directly in the config // because of the SuppressExtractedTextChunksWebpackPlugin // Consider not using SuppressExtractedTextChunksWebpackPlugin when liveReload is enable. @@ -163,7 +162,7 @@ export function serveWebpackBrowser( // Remove live-reload code from all entrypoints but not main. // Otherwise this will break SuppressExtractedTextChunksWebpackPlugin because // 'addDevServerEntrypoints' adds addional entry-points to all entries. - if (!options.hmr && config.entry && typeof config.entry === 'object' && !Array.isArray(config.entry) && config.entry.main) { + if (config.entry && typeof config.entry === 'object' && !Array.isArray(config.entry) && config.entry.main) { for (const [key, value] of Object.entries(config.entry)) { if (key === 'main' || typeof value === 'string') { continue; @@ -176,11 +175,11 @@ export function serveWebpackBrowser( } } } + } - if (options.hmr) { - context.logger.warn(tags.stripIndents`NOTICE: Hot Module Replacement (HMR) is enabled for the dev server. - See https://webpack.js.org/guides/hot-module-replacement for information on working with HMR for Webpack.`); - } + if (options.hmr) { + logger.warn(tags.stripIndents`NOTICE: Hot Module Replacement (HMR) is enabled for the dev server. + See https://webpack.js.org/guides/hot-module-replacement for information on working with HMR for Webpack.`); } if ( @@ -188,7 +187,7 @@ export function serveWebpackBrowser( && !/^127\.\d+\.\d+\.\d+/g.test(options.host) && options.host !== 'localhost' ) { - context.logger.warn(tags.stripIndent` + logger.warn(tags.stripIndent` Warning: This is a simple server for use in testing or debugging Angular applications locally. It hasn't been reviewed for security issues. @@ -200,7 +199,7 @@ export function serveWebpackBrowser( } if (options.disableHostCheck) { - context.logger.warn(tags.oneLine` + logger.warn(tags.oneLine` Warning: Running a server with --disable-host-check is a security risk. See https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a for more information. @@ -208,7 +207,7 @@ export function serveWebpackBrowser( } let webpackConfig = config; - const tsConfig = readTsconfig(browserOptions.tsConfig, context.workspaceRoot); + const tsConfig = readTsconfig(browserOptions.tsConfig, workspaceRoot); if (i18n.shouldInline && tsConfig.options.enableIvy !== false) { if (i18n.inlineLocales.size > 1) { throw new Error( @@ -238,7 +237,7 @@ export function serveWebpackBrowser( if (browserOptions.index) { const { scripts = [], styles = [], baseHref, tsConfig } = browserOptions; - const { options: compilerOptions } = readTsconfig(tsConfig, context.workspaceRoot); + const { options: compilerOptions } = readTsconfig(tsConfig, workspaceRoot); const target = compilerOptions.target || ts.ScriptTarget.ES5; const buildBrowserFeatures = new BuildBrowserFeatures(projectRoot); @@ -250,7 +249,7 @@ export function serveWebpackBrowser( webpackConfig.plugins = [...(webpackConfig.plugins || [])]; webpackConfig.plugins.push( new IndexHtmlWebpackPlugin({ - input: path.resolve(root, getIndexInputFile(browserOptions.index)), + input: path.resolve(workspaceRoot, getIndexInputFile(browserOptions.index)), output: getIndexOutputFile(browserOptions.index), baseHref, moduleEntrypoints, @@ -270,7 +269,7 @@ export function serveWebpackBrowser( } if (normalizedOptimization.scripts || normalizedOptimization.styles) { - context.logger.error(tags.stripIndents` + logger.error(tags.stripIndents` **************************************************************************************** This is a simple server for use in testing or debugging Angular applications locally. It hasn't been reviewed for security issues. @@ -284,12 +283,12 @@ export function serveWebpackBrowser( webpackConfig, context, { - logging: transforms.logging || createWebpackLoggingCallback(!!options.verbose, context.logger), + logging: transforms.logging || createWebpackLoggingCallback(!!options.verbose, logger), webpackFactory: require('webpack') as typeof webpack, webpackDevServerFactory: require('webpack-dev-server') as typeof webpackDevServer, }, ).pipe( - map(buildEvent => { + concatMap((buildEvent, index) => { // Resolve serve address. const serverAddress = url.format({ protocol: options.ssl ? 'https' : 'http', @@ -298,9 +297,8 @@ export function serveWebpackBrowser( port: buildEvent.port, }); - if (first) { - first = false; - context.logger.info(tags.oneLine` + if (index === 0) { + logger.info(tags.oneLine` ** Angular Live Development Server is listening on ${options.host}:${buildEvent.port}, open your browser on ${serverAddress} @@ -314,10 +312,10 @@ export function serveWebpackBrowser( } if (buildEvent.success) { - context.logger.info(': Compiled successfully.'); + logger.info(': Compiled successfully.'); } - return { ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput; + return of({ ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput); }), ); }), diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 9f0e1a284c39..db4b97e59685 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -119,7 +119,9 @@ export function getDevServerConfig( public: publicHost, allowedHosts, disableHostCheck, - inline: false, + // This should always be true, but at the moment this breaks 'SuppressExtractedTextChunksWebpackPlugin' + // because it will include addition JS in the styles.js. + inline: hmr, publicPath: servePath, liveReload, hotOnly: hmr && !liveReload, From bfb33b15e167922e3205b595658538a402a71cc6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 11:07:28 +0200 Subject: [PATCH 028/696] refactor(@angular-devkit/build-angular): remove support for TypeScript 3.9 BREAKING CHANGE: TypeScript 3.9 is no longer supported, please upgrade to TypeScript 4.0. --- integration/angular_cli/package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration/angular_cli/package.json b/integration/angular_cli/package.json index feba5be5709a..1e4c667b9ab6 100644 --- a/integration/angular_cli/package.json +++ b/integration/angular_cli/package.json @@ -43,7 +43,7 @@ "puppeteer": "5.2.1", "ts-node": "~8.3.0", "tslint": "~6.1.0", - "typescript": "~3.9.2" + "typescript": "~4.0.0" }, "resolutions": { "rxjs": "6.5.4", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 946b11c4a6d8..3db910b2641e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -84,7 +84,7 @@ "ng-packagr": "^11.0.0 || ^11.0.0-next", "protractor": "^7.0.0", "tslint": "^6.1.0", - "typescript": ">=3.9 < 4.1" + "typescript": "~4.0.0" }, "peerDependenciesMeta": { "@angular/localize": { From b218dab8182147fdb5d5a0d5be641c906727d7da Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Oct 2020 11:07:43 +0200 Subject: [PATCH 029/696] refactor(@ngtools/webpack): remove support for TypeScript 3.9 BREAKING CHANGE: TypeScript 3.9 is no longer supported, please upgrade to TypeScript 4.0. --- packages/ngtools/webpack/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 26cb94994f71..63691d579d95 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -27,7 +27,7 @@ }, "peerDependencies": { "@angular/compiler-cli": "^11.0.0 || ^11.0.0-next", - "typescript": ">=3.9 < 4.1", + "typescript": "~4.0.0", "webpack": "^4.0.0" }, "devDependencies": { From dcfbc09c4c5e6b964efe5aacc9b339de1aca21d6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Oct 2020 05:12:43 +0000 Subject: [PATCH 030/696] build: update @bazel/bazelisk to version 1.7.3 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fd5725fdc958..3e79edefed67 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "@babel/preset-env": "7.12.1", "@babel/runtime": "7.12.1", "@babel/template": "7.10.4", - "@bazel/bazelisk": "1.7.2", + "@bazel/bazelisk": "1.7.3", "@bazel/buildifier": "3.5.0", "@bazel/jasmine": "2.2.2", "@bazel/typescript": "2.2.2", diff --git a/yarn.lock b/yarn.lock index 86a15f794eb8..b218c0a04388 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1030,10 +1030,10 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@bazel/bazelisk@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.7.2.tgz#80673d886ac46bf671f6b1908bf80a4eb84eb200" - integrity sha512-/cin20XIfSctNVh6veOVKFwUp6g6/oeEEvgPLSetgK6HFspReI3jI+2lO4haQX8yD2QFN20ndheXDuLYidoj6g== +"@bazel/bazelisk@1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.7.3.tgz#51d99286326e15434ce10c54c1ee598c4ab1f694" + integrity sha512-A+QLZvKifKnbFawH5aaCnooPx0Ia5JS3S8SckKB034GVB3BjtUTCwjaxzxG3ARQ6Jq1vDcQwWgF2bjT9FjrdDg== "@bazel/buildifier-darwin_x64@0.29.0": version "0.29.0" From 3905033d175e0e5078edd75c3a4d80d75e4a4507 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Oct 2020 06:12:01 +0000 Subject: [PATCH 031/696] build: update resolve to version 1.18.1 --- packages/angular/cli/package.json | 2 +- yarn.lock | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 35b97a5fc985..9ffc5a13c990 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "6.1.0", "open": "7.3.0", "pacote": "9.5.12", - "resolve": "1.17.0", + "resolve": "1.18.1", "rimraf": "3.0.2", "semver": "7.3.2", "symbol-observable": "2.0.3", diff --git a/yarn.lock b/yarn.lock index b218c0a04388..51877be81197 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6492,6 +6492,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -10472,7 +10479,15 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.17.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== From 3d0b6be0eae58f9dd499d9546d6de24b7c84f4ec Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Oct 2020 06:08:23 +0000 Subject: [PATCH 032/696] build: update mini-css-extract-plugin to version 1.1.0 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 46 ++----------------- 3 files changed, 7 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index 3e79edefed67..d95cab4880f1 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.0.0", + "mini-css-extract-plugin": "1.1.0", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3db910b2641e..f43d557514ee 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.0", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.0.0", + "mini-css-extract-plugin": "1.1.0", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 51877be81197..c542b4328748 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6674,7 +6674,7 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= @@ -8004,13 +8004,12 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.0.0.tgz#4afb39f3d97b1b92eacb1ac45025416089f831bd" - integrity sha512-IsmrPv1nkdSUtFCDrAsuv5kg0k/27sLxfXqSz8vLjnbRKrNgoRdQrUNA4MppawvD+GHLkNP6L1P93Bw50ALkbg== +mini-css-extract-plugin@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.0.tgz#dcc2f0bfbec660c0bd1200ff7c8f82deec2cc8a6" + integrity sha512-0bTS+Fg2tGe3dFAgfiN7+YRO37oyQM7/vjFvZF1nXSCJ/sy0tGpeme8MbT4BCpUuUphKwTh9LH/uuTcWRr9DPA== dependencies: loader-utils "^2.0.0" - normalize-url "1.9.1" schema-utils "^3.0.0" webpack-sources "^1.1.0" @@ -8452,16 +8451,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" @@ -9739,11 +9728,6 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - prettier@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" @@ -9967,14 +9951,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -11136,13 +11112,6 @@ socks@~2.3.2: ip "1.1.5" smart-buffer "^4.1.0" -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - source-list-map@^2.0.0, source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -11499,11 +11468,6 @@ streamroller@^2.2.4: debug "^4.1.1" fs-extra "^8.1.0" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" From b28c6bea93811734030361a615f9988f21a167fd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Oct 2020 05:09:11 +0000 Subject: [PATCH 033/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index d95cab4880f1..22f239d9e14a 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-next.6", "@angular/compiler-cli": "11.0.0-next.6", "@angular/core": "11.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42", "@angular/forms": "11.0.0-next.6", "@angular/localize": "11.0.0-next.6", "@angular/material": "10.2.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e56fc5b8ebe5..679f94f8be7b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#d50c2e0fa72916790814de0a6b8914dc49fedd25", - "@angular/cdk": "github:angular/cdk-builds#d4004fed77b735b568d20e735fd7d0b26fb96973", - "@angular/common": "github:angular/common-builds#adf5790398b0bbd749a517a90eb7988a93c5f30c", - "@angular/compiler": "github:angular/compiler-builds#1dc564e3bce4043897b4b540961426901eb13930", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#17d84cd3b49a1dd56abcd7d052557c17a8e205da", - "@angular/core": "github:angular/core-builds#05e7226a21d0584503199c28e475ab86c5dd503c", - "@angular/forms": "github:angular/forms-builds#f9563d8086de3db06af96c69e854a3569fcea85e", - "@angular/language-service": "github:angular/language-service-builds#65e36ff2db3e552748449b163c4d075f8ac54559", - "@angular/localize": "github:angular/localize-builds#b3ccbd7e99a26b1b074f03cff50e818b89d6d351", - "@angular/material": "github:angular/material2-builds#3d9741923b34ae558bb4e5c0cee6044d85bf70e8", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#228fd2258d908d778779a181cf38d619c2fb6157", - "@angular/platform-browser": "github:angular/platform-browser-builds#4575a051aa56dd60b9d2a8e5d5da603a33d4eeb3", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6214f058c572df75382b0dbe661eabcda0b94a05", - "@angular/platform-server": "github:angular/platform-server-builds#117d5441afd182cf4b60732144f07cb37d402ed6", - "@angular/router": "github:angular/router-builds#cb61f3ed862f7632fc0662ddc2baed32992c35b0" + "@angular/animations": "github:angular/animations-builds#5cbe46c25499ca608295929f439d4dd3916c25b7", + "@angular/cdk": "github:angular/cdk-builds#a6a8a329573fbaf60c435093be3dd4e7a81bff4d", + "@angular/common": "github:angular/common-builds#2a9e2ea87f8d2c230e52a7dcc584d317dc746224", + "@angular/compiler": "github:angular/compiler-builds#2a7a7537019a2d822a6616f353e4e8314660cdac", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#0c47fa610de3d952d199d0f5e6c32cd423388255", + "@angular/core": "github:angular/core-builds#9051ef03d47fe2cb8b666e2d55f788edbb539ba1", + "@angular/forms": "github:angular/forms-builds#dc58241e6f92645908f435a0f0ef06c35174f6b6", + "@angular/language-service": "github:angular/language-service-builds#5a424b008f6ca91faef90ddbddc30389d22a0e89", + "@angular/localize": "github:angular/localize-builds#fab2cf9c334edb3fe8dae588a0f410c7ae7a5604", + "@angular/material": "github:angular/material2-builds#6b8d33f19063bb4dbca8a783302124b9847d0913", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#40db3d67a6c4ddf868366feeb1d75768da4db757", + "@angular/platform-browser": "github:angular/platform-browser-builds#5312fca54486231337bf3e5c64951a17947a7024", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#276e23760640d2ac8efbbedc759428f41e056fdc", + "@angular/platform-server": "github:angular/platform-server-builds#cae05176faa5ba2d89342675611ac7b689f412c9", + "@angular/router": "github:angular/router-builds#17ad3903f71e8cbc4c8a86157a1e6764f212405b" } } diff --git a/yarn.lock b/yarn.lock index c542b4328748..445628112261 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#8c0ae8122450ebb3c9cf9bbe388ef38709170d2c" + resolved "https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 46ef4cfb7855ae725e0ab4d7af0df41e0f553359 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Oct 2020 10:14:24 +0000 Subject: [PATCH 034/696] fix(@angular-devkit/build-angular): update resolve-url-loader to version 3.1.2 Closes: #19134 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 50 ++++++------------- 3 files changed, 17 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 22f239d9e14a..36b910935931 100644 --- a/package.json +++ b/package.json @@ -195,7 +195,7 @@ "quicktype-core": "^6.0.15", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.1", + "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", "rollup": "2.32.0", "rxjs": "6.6.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f43d557514ee..8696274a1458 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -51,7 +51,7 @@ "postcss-loader": "4.0.4", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.1", + "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", "rollup": "2.32.0", "rxjs": "6.6.3", diff --git a/yarn.lock b/yarn.lock index 445628112261..2a4c92b28033 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2203,16 +2203,13 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= -adjust-sourcemap-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" - integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== +adjust-sourcemap-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" + integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== dependencies: - assert "1.4.1" - camelcase "5.0.0" - loader-utils "1.2.3" - object-path "0.11.4" - regex-parser "2.2.10" + loader-utils "^2.0.0" + regex-parser "^2.2.11" adm-zip@^0.4.9: version "0.4.16" @@ -2533,13 +2530,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assert@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -3208,11 +3198,6 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -8668,11 +8653,6 @@ object-keys@^1.0.12, object-keys@^1.0.6, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-path@0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= - object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -10270,10 +10250,10 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regex-parser@2.2.10: - version "2.2.10" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" - integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== regexp.prototype.flags@^1.2.0: version "1.3.0" @@ -10434,12 +10414,12 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-url-loader@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" - integrity sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ== +resolve-url-loader@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" + integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== dependencies: - adjust-sourcemap-loader "2.0.0" + adjust-sourcemap-loader "3.0.0" camelcase "5.3.1" compose-function "3.0.3" convert-source-map "1.7.0" From 2298ab865b553d8599f14481122b3ea040fd284e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Oct 2020 09:40:43 +0200 Subject: [PATCH 035/696] refactor(@angular-devkit/build-angular): remove deprecated browser build option rebaseRootRelativeCssUrls BREAKING CHANGE: Deprecated `rebaseRootRelativeCssUrls` browser builder option has been removed without replacement. This option was used to change root relative URLs in stylesheets to include base HREF and deploy URL and was used only for compatibility and transition as this behavior is non-standard. --- packages/angular/cli/lib/config/schema.json | 6 - .../build_angular/src/browser/schema.json | 6 - .../src/browser/specs/styles_spec.ts | 114 +----------------- .../build_angular/src/utils/build-options.ts | 2 - .../src/webpack/configs/styles.ts | 1 - .../webpack/plugins/postcss-cli-resources.ts | 23 +--- 6 files changed, 2 insertions(+), 150 deletions(-) diff --git a/packages/angular/cli/lib/config/schema.json b/packages/angular/cli/lib/config/schema.json index c8e163d12103..fe0cdfea4ff6 100644 --- a/packages/angular/cli/lib/config/schema.json +++ b/packages/angular/cli/lib/config/schema.json @@ -970,12 +970,6 @@ }, "default": [] }, - "rebaseRootRelativeCssUrls": { - "description": "Change root relative URLs in stylesheets to include base HREF and deploy URL. Use only for compatibility and transition. The behavior of this option is non-standard and will be removed in the next major release.", - "type": "boolean", - "default": false, - "x-deprecated": true - }, "webWorkerTsConfig": { "type": "string", "description": "TypeScript configuration for Web Worker modules." diff --git a/packages/angular_devkit/build_angular/src/browser/schema.json b/packages/angular_devkit/build_angular/src/browser/schema.json index 628b5dcd8dd8..70d7c8302036 100644 --- a/packages/angular_devkit/build_angular/src/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/browser/schema.json @@ -348,12 +348,6 @@ }, "default": [] }, - "rebaseRootRelativeCssUrls": { - "description": "Change root relative URLs in stylesheets to include base HREF and deploy URL. Use only for compatibility and transition. The behavior of this option is non-standard and will be removed in the next major release.", - "type": "boolean", - "default": false, - "x-deprecated": true - }, "webWorkerTsConfig": { "type": "string", "description": "TypeScript configuration for Web Worker modules." diff --git a/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts index 7da64970b00e..577ca5a55c41 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts @@ -354,7 +354,7 @@ describe('Browser Builder styles', () => { }); // TODO: consider making this a unit test in the url processing plugins. - it(`supports baseHref/deployUrl in resource urls without rebaseRootRelativeCssUrls`, async () => { + it(`supports baseHref/deployUrl in resource urls`, async () => { // Use a large image for the relative ref so it cannot be inlined. host.copyFile('src/spectrum.png', './src/assets/global-img-relative.png'); host.copyFile('src/spectrum.png', './src/assets/component-img-relative.png'); @@ -458,118 +458,6 @@ describe('Browser Builder styles', () => { expect(main).toContain(`url('/assets/component-img-absolute.svg')`); }, 90000); - it(`supports baseHref/deployUrl in resource urls with rebaseRootRelativeCssUrls`, async () => { - // Use a large image for the relative ref so it cannot be inlined. - host.copyFile('src/spectrum.png', './src/assets/global-img-relative.png'); - host.copyFile('src/spectrum.png', './src/assets/component-img-relative.png'); - host.writeMultipleFiles({ - 'src/styles.css': ` - h1 { background: url('/assets/global-img-absolute.svg'); } - h2 { background: url('./assets/global-img-relative.png'); } - `, - 'src/app/app.component.css': ` - h3 { background: url('/assets/component-img-absolute.svg'); } - h4 { background: url('../assets/component-img-relative.png'); } - `, - 'src/assets/global-img-absolute.svg': imgSvg, - 'src/assets/component-img-absolute.svg': imgSvg, - }); - - // Check base paths are correctly generated. - const overrides = { - extractCss: true, - rebaseRootRelativeCssUrls: true, - }; - let { files } = await browserBuild(architect, host, target, { - ...overrides, - aot: true, - }); - - let styles = await files['styles.css']; - let main = await files['main.js']; - expect(styles).toContain(`url('/assets/global-img-absolute.svg')`); - expect(styles).toContain(`url('global-img-relative.png')`); - expect(main).toContain(`url('/assets/component-img-absolute.svg')`); - expect(main).toContain(`url('component-img-relative.png')`); - expect(host.scopedSync().exists(normalize('dist/assets/global-img-absolute.svg'))).toBe(true); - expect(host.scopedSync().exists(normalize('dist/global-img-relative.png'))).toBe(true); - expect(host.scopedSync().exists(normalize('dist/assets/component-img-absolute.svg'))).toBe( - true, - ); - expect(host.scopedSync().exists(normalize('dist/component-img-relative.png'))).toBe(true); - - // Check urls with deploy-url scheme are used as is. - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: '/base/', - deployUrl: 'http://deploy.url/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('http://deploy.url/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('http://deploy.url/assets/component-img-absolute.svg')`); - - // Check urls with base-href scheme are used as is (with deploy-url). - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: 'http://base.url/', - deployUrl: 'deploy/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('http://base.url/deploy/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('http://base.url/deploy/assets/component-img-absolute.svg')`); - - // Check urls with deploy-url and base-href scheme only use deploy-url. - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: 'http://base.url/', - deployUrl: 'http://deploy.url/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('http://deploy.url/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('http://deploy.url/assets/component-img-absolute.svg')`); - - // Check with schemeless base-href and deploy-url flags. - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: '/base/', - deployUrl: 'deploy/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('/base/deploy/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('/base/deploy/assets/component-img-absolute.svg')`); - - // Check with identical base-href and deploy-url flags. - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: '/base/', - deployUrl: '/base/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('/base/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('/base/assets/component-img-absolute.svg')`); - - // Check with only base-href flag. - files = (await browserBuild(architect, host, target, { - ...overrides, - baseHref: '/base/', - })).files; - - styles = await files['styles.css']; - main = await files['main.js']; - expect(styles).toContain(`url('/base/assets/global-img-absolute.svg')`); - expect(main).toContain(`url('/base/assets/component-img-absolute.svg')`); - }, 90000); - it(`supports bootstrap@4 with full path`, async () => { const bootstrapPath = dirname(require.resolve('bootstrap/package.json')); diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 386c3a89436c..0063bf0775e4 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -75,8 +75,6 @@ export interface BuildOptions { lazyModules: string[]; platform?: 'browser' | 'server'; fileReplacements: NormalizedFileReplacement[]; - /** @deprecated use only for compatibility in 8.x; will be removed in 9.0 */ - rebaseRootRelativeCssUrls?: boolean; experimentalRollupPass?: boolean; allowedCommonJsDependencies?: string[]; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 002c7ecb699b..835712ba23bf 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -184,7 +184,6 @@ export function getStylesConfig(wco: WebpackConfigOptions) { deployUrl: buildOptions.deployUrl, resourcesOutputPath: buildOptions.resourcesOutputPath, loader, - rebaseRootRelative: buildOptions.rebaseRootRelativeCssUrls, filename: `[name]${hashFormat.file}.[ext]`, emitFile: buildOptions.platform !== 'server', extracted, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index 3fbda764a394..db6af3669628 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -57,22 +57,19 @@ export default postcss.plugin('postcss-cli-resources', (options: PostcssCliResou deployUrl = '', baseHref = '', resourcesOutputPath = '', - rebaseRootRelative = false, filename, loader, emitFile, extracted, } = options; - const dedupeSlashes = (url: string) => url.replace(/\/\/+/g, '/'); - const process = async (inputUrl: string, context: string, resourceCache: Map) => { // If root-relative, absolute or protocol relative url, leave as is if (/^((?:\w+:)?\/\/|data:|chrome:|#)/.test(inputUrl)) { return inputUrl; } - if (!rebaseRootRelative && /^\//.test(inputUrl)) { + if (/^\//.test(inputUrl)) { return inputUrl; } @@ -88,24 +85,6 @@ export default postcss.plugin('postcss-cli-resources', (options: PostcssCliResou return cachedUrl; } - if (rebaseRootRelative && inputUrl.startsWith('/')) { - let outputUrl = ''; - if (deployUrl.match(/:\/\//) || deployUrl.startsWith('/')) { - // If deployUrl is absolute or root relative, ignore baseHref & use deployUrl as is. - outputUrl = `${deployUrl.replace(/\/$/, '')}${inputUrl}`; - } else if (baseHref.match(/:\/\//)) { - // If baseHref contains a scheme, include it as is. - outputUrl = baseHref.replace(/\/$/, '') + dedupeSlashes(`/${deployUrl}/${inputUrl}`); - } else { - // Join together base-href, deploy-url and the original URL. - outputUrl = dedupeSlashes(`/${baseHref}/${deployUrl}/${inputUrl}`); - } - - resourceCache.set(cacheKey, outputUrl); - - return outputUrl; - } - if (inputUrl.startsWith('~')) { inputUrl = inputUrl.substr(1); } From 904fc1995078436a7b43b85d6465d8f8c3e388b8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Oct 2020 09:42:25 +0200 Subject: [PATCH 036/696] feat(@schematics/angular): add migration to remove rebaseRootRelativeCssUrls from workspace config --- .../schematics/angular/migrations/migration-collection.json | 2 +- .../angular/migrations/update-11/update-angular-config.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 984ce471c889..3c07751fc1c0 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -116,7 +116,7 @@ "description": "Add 'declarationMap' compiler options for non production library builds." }, "update-angular-config-v11": { - "version": "11.0.0-next.5", + "version": "11.0.0-next.8", "factory": "./update-11/update-angular-config", "description": "Remove deprecated options from 'angular.json' that are no longer present in v11." } diff --git a/packages/schematics/angular/migrations/update-11/update-angular-config.ts b/packages/schematics/angular/migrations/update-11/update-angular-config.ts index 981edba7136c..005ed5ec706c 100644 --- a/packages/schematics/angular/migrations/update-11/update-angular-config.ts +++ b/packages/schematics/angular/migrations/update-11/update-angular-config.ts @@ -17,6 +17,7 @@ export default function (): Rule { environment: undefined, extractCss: undefined, tsconfigFileName: undefined, + rebaseRootRelativeCssUrls: undefined, }; for (const [, project] of workspace.projects) { From a09a2e4056bdd6ae3c75b59d9b66ba7c1aeb8b36 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Oct 2020 10:07:15 +0200 Subject: [PATCH 037/696] fix(@angular/cli): include deprecated option in JSON help This option is used to mark deprecated options as such in AIO. --- packages/angular/cli/models/interface.ts | 6 ++++++ packages/angular/cli/utilities/json-schema.ts | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/packages/angular/cli/models/interface.ts b/packages/angular/cli/models/interface.ts index 338b6310bce5..e5374e0f5e0d 100644 --- a/packages/angular/cli/models/interface.ts +++ b/packages/angular/cli/models/interface.ts @@ -153,6 +153,12 @@ export interface Option { * If this is falsey, do not report this option. */ userAnalytics?: number; + + /** + * Deprecation. If this flag is not false a warning will be shown on the console. Either `true` + * or a string to show the user as a notice. + */ + deprecated?: boolean | string; } /** diff --git a/packages/angular/cli/utilities/json-schema.ts b/packages/angular/cli/utilities/json-schema.ts index abd856c4196a..e2974080318a 100644 --- a/packages/angular/cli/utilities/json-schema.ts +++ b/packages/angular/cli/utilities/json-schema.ts @@ -251,6 +251,11 @@ export async function parseJsonSchemaToOptions( const xUserAnalytics = current['x-user-analytics']; const userAnalytics = typeof xUserAnalytics == 'number' ? xUserAnalytics : undefined; + // Deprecated is set only if it's true or a string. + const xDeprecated = current['x-deprecated']; + const deprecated = (xDeprecated === true || typeof xDeprecated === 'string') + ? xDeprecated : undefined; + const option: Option = { name, description: '' + (current.description === undefined ? '' : current.description), @@ -262,6 +267,7 @@ export async function parseJsonSchemaToOptions( ...format !== undefined ? { format } : {}, hidden, ...userAnalytics ? { userAnalytics } : {}, + ...deprecated !== undefined ? { deprecated } : {}, ...positional !== undefined ? { positional } : {}, }; From 1a96da986fead27621d0256f207c6459585a06c7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Oct 2020 16:50:46 +0200 Subject: [PATCH 038/696] ci: remove docs-preview branch filter This branch no longer exists --- .circleci/config.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a2464adce12d..63dce005a334 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -350,10 +350,6 @@ workflows: - build: requires: - setup - filters: - branches: - ignore: - - /docs-preview/ - e2e-cli: post-steps: - store_artifacts: From b6a3353edbf43e740b9c864896a8cb112d47e9a0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Oct 2020 11:44:19 -0400 Subject: [PATCH 039/696] refactor(@angular-devkit/core): deprecate unused isFile/isDirectory utilities `isFile` and `isDirectory` are tooling only APIs for Node.js that are no longer used by the Angular CLI. --- packages/angular_devkit/core/node/fs.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/node/fs.ts b/packages/angular_devkit/core/node/fs.ts index f6df37c3cb63..a09048e9a87d 100644 --- a/packages/angular_devkit/core/node/fs.ts +++ b/packages/angular_devkit/core/node/fs.ts @@ -7,6 +7,7 @@ */ import { statSync } from 'fs'; +/** @deprecated Since v11.0, unused by the Angular tooling */ export function isFile(filePath: string): boolean { let stat; try { @@ -21,7 +22,7 @@ export function isFile(filePath: string): boolean { return stat.isFile() || stat.isFIFO(); } - +/** @deprecated Since v11.0, unused by the Angular tooling */ export function isDirectory(filePath: string): boolean { let stat; try { From 37686b684e124021131a4f4f7bf34e413a1321e2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Oct 2020 11:33:10 -0400 Subject: [PATCH 040/696] fix(@angular/cli): skip searching deprecated packages with ng add When attempting to add a package via the add command, packages that have been marked as deprecated will no longer be installed when the deprecated package's peer dependencies match the project's dependencies. --- packages/angular/cli/commands/add-impl.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/commands/add-impl.ts b/packages/angular/cli/commands/add-impl.ts index 21573856af7a..5e1da5855055 100644 --- a/packages/angular/cli/commands/add-impl.ts +++ b/packages/angular/cli/commands/add-impl.ts @@ -115,7 +115,7 @@ export class AddCommand extends SchematicCommand { } else if (!latestManifest || (await this.hasMismatchedPeer(latestManifest))) { // 'latest' is invalid so search for most recent matching package const versionManifests = Object.values(packageMetadata.versions).filter( - (value: PackageManifest) => !prerelease(value.version), + (value: PackageManifest) => !prerelease(value.version) && !value.deprecated, ) as PackageManifest[]; versionManifests.sort((a, b) => rcompare(a.version, b.version, true)); From 0b0961c9c233a825b6e4bb59ab7f0790f9b14676 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Oct 2020 12:50:36 -0400 Subject: [PATCH 041/696] refactor(@angular-devkit/schematics): minor cleanup to reduce utility imports --- .../schematics/src/tree/host-tree.ts | 88 +++++++++---------- .../tools/file-system-engine-host-base.ts | 28 +++--- 2 files changed, 55 insertions(+), 61 deletions(-) diff --git a/packages/angular_devkit/schematics/src/tree/host-tree.ts b/packages/angular_devkit/schematics/src/tree/host-tree.ts index eab9c9d3809c..fa0579cfc449 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree.ts @@ -10,7 +10,6 @@ import { PathFragment, PathIsDirectoryException, PathIsFileException, - clean, dirname, join, normalize, @@ -369,52 +368,53 @@ export class HostTree implements Tree { apply(action: Action, strategy?: MergeStrategy): void { throw new SchematicsException('Apply not implemented on host trees.'); } + + private *generateActions(): Iterable { + for (const record of this._record.records()) { + switch (record.kind) { + case 'create': + yield { + id: this._id, + parent: 0, + kind: 'c', + path: record.path, + content: Buffer.from(record.content), + } as CreateFileAction; + break; + case 'overwrite': + yield { + id: this._id, + parent: 0, + kind: 'o', + path: record.path, + content: Buffer.from(record.content), + } as OverwriteFileAction; + break; + case 'rename': + yield { + id: this._id, + parent: 0, + kind: 'r', + path: record.from, + to: record.to, + } as RenameFileAction; + break; + case 'delete': + yield { + id: this._id, + parent: 0, + kind: 'd', + path: record.path, + } as DeleteFileAction; + break; + } + } + } + get actions(): Action[] { // Create a list of all records until we hit our original backend. This is to support branches // that diverge from each others. - const allRecords = [...this._record.records()]; - - return clean( - allRecords - .map(record => { - switch (record.kind) { - case 'create': - return { - id: this._id, - parent: 0, - kind: 'c', - path: record.path, - content: Buffer.from(record.content), - } as CreateFileAction; - case 'overwrite': - return { - id: this._id, - parent: 0, - kind: 'o', - path: record.path, - content: Buffer.from(record.content), - } as OverwriteFileAction; - case 'rename': - return { - id: this._id, - parent: 0, - kind: 'r', - path: record.from, - to: record.to, - } as RenameFileAction; - case 'delete': - return { - id: this._id, - parent: 0, - kind: 'd', - path: record.path, - } as DeleteFileAction; - - default: - return; - } - }), - ); + return Array.from(this.generateActions()); } } diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index 9f26ba505118..bae042aa74d8 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -10,7 +10,6 @@ import { InvalidJsonCharacterException, JsonObject, UnexpectedEndOfInputException, - isPromise, normalize, virtualFs, } from '@angular-devkit/core'; @@ -21,10 +20,8 @@ import { Observable, from as observableFrom, isObservable, - of as observableOf, throwError, } from 'rxjs'; -import { mergeMap } from 'rxjs/operators'; import { Url } from 'url'; import { HostCreateTree, @@ -301,20 +298,17 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { options: OptionT, context?: FileSystemSchematicContext, ): Observable { - // tslint:disable-next-line:no-any https://github.com/ReactiveX/rxjs/issues/3989 - return ((observableOf(options) as any) - .pipe( - ...this._transforms.map(tFn => mergeMap((opt: {}) => { - const newOptions = tFn(schematic, opt, context); - if (isObservable(newOptions)) { - return newOptions; - } else if (isPromise(newOptions)) { - return observableFrom(newOptions); - } else { - return observableOf(newOptions); - } - })), - )) as {} as Observable; + const transform = async () => { + let transformedOptions = options; + for (const transformer of this._transforms) { + const transformerResult = transformer(schematic, transformedOptions, context); + transformedOptions = await (isObservable(transformerResult) ? transformerResult.toPromise() : transformerResult); + } + + return transformedOptions; + }; + + return observableFrom(transform()) as unknown as Observable; } transformContext(context: FileSystemSchematicContext): FileSystemSchematicContext { From 61edb7539813c4c4cb0cb66fa4474761f7d0b1e9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Oct 2020 06:08:10 +0000 Subject: [PATCH 042/696] build: update mini-css-extract-plugin to version 1.1.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 36b910935931..69a142c2f4a5 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.0", + "mini-css-extract-plugin": "1.1.1", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 8696274a1458..ba47830d9969 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.0", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.0", + "mini-css-extract-plugin": "1.1.1", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 2a4c92b28033..ec796de8749e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7989,10 +7989,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.0.tgz#dcc2f0bfbec660c0bd1200ff7c8f82deec2cc8a6" - integrity sha512-0bTS+Fg2tGe3dFAgfiN7+YRO37oyQM7/vjFvZF1nXSCJ/sy0tGpeme8MbT4BCpUuUphKwTh9LH/uuTcWRr9DPA== +mini-css-extract-plugin@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.1.tgz#4ab9948b7be38cf3a730cb4c9a881eb7f62baadb" + integrity sha512-pzlnOi/lMkwIkdb7zoRQvbkW18AFCQffouSBpxy+e3pnKTKMC5IuMVHYndexKZmacfsOZS2LXCe8gIgkrC+yqg== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From 0dc18757fef22ea5fc63bf223157d582b7b1b0f5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Oct 2020 05:12:30 +0000 Subject: [PATCH 043/696] build: update enhanced-resolve to version 5.3.0 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 69a142c2f4a5..5043130dc0e2 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "css-loader": "5.0.0", "cssnano": "4.1.10", "debug": "^4.1.1", - "enhanced-resolve": "5.2.0", + "enhanced-resolve": "5.3.0", "express": "4.17.1", "fast-json-stable-stringify": "2.1.0", "file-loader": "6.1.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 63691d579d95..580b37e3e16d 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/angular/angular-cli/tree/master/packages/@ngtools/webpack", "dependencies": { "@angular-devkit/core": "0.0.0", - "enhanced-resolve": "5.2.0", + "enhanced-resolve": "5.3.0", "webpack-sources": "2.0.1" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index ec796de8749e..459e1f8aa4bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4801,10 +4801,10 @@ engine.io@~3.4.0: engine.io-parser "~2.2.0" ws "^7.1.2" -enhanced-resolve@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.2.0.tgz#3db3307a608f236f33aeea79303d32915792cbab" - integrity sha512-NZlGLl8DxmZoq0uqPPtJfsCAir68uR047+Udsh1FH4+5ydGQdMurn/A430A1BtxASVmMEuS7/XiJ5OxJ9apAzQ== +enhanced-resolve@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.3.0.tgz#14be504e14ad58e9821a311ea6a9037c716786d9" + integrity sha512-EENz3E701+77g0wfbOITeI8WLPNso2kQNMBIBEi/TH/BEa9YXtS01X7sIEk5XXsfFq1jNkhIpu08hBPH1TRLIQ== dependencies: graceful-fs "^4.2.4" tapable "^2.0.0" From 6884a6ba78b720026223663a8078d17156bfc8a0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Oct 2020 06:11:59 +0000 Subject: [PATCH 044/696] build: update source-map-support to version 0.5.19 --- package.json | 2 +- yarn.lock | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/package.json b/package.json index 5043130dc0e2..8236469022b2 100644 --- a/package.json +++ b/package.json @@ -205,7 +205,7 @@ "semver": "7.3.2", "source-map": "0.7.3", "source-map-loader": "1.1.1", - "source-map-support": "0.5.16", + "source-map-support": "0.5.19", "spdx-satisfies": "^5.0.0", "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", diff --git a/yarn.lock b/yarn.lock index 459e1f8aa4bc..c8de7554d7d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11128,14 +11128,6 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.16: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-support@0.5.19, source-map-support@^0.5.17, source-map-support@^0.5.3, source-map-support@^0.5.5, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" From f47cb844ed6a29e2eda3b087a5390828534c5997 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Oct 2020 05:08:36 +0000 Subject: [PATCH 045/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 8236469022b2..199524460a3f 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-next.6", "@angular/compiler-cli": "11.0.0-next.6", "@angular/core": "11.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b", "@angular/forms": "11.0.0-next.6", "@angular/localize": "11.0.0-next.6", "@angular/material": "10.2.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 679f94f8be7b..fe7e2ae37c0f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#5cbe46c25499ca608295929f439d4dd3916c25b7", - "@angular/cdk": "github:angular/cdk-builds#a6a8a329573fbaf60c435093be3dd4e7a81bff4d", - "@angular/common": "github:angular/common-builds#2a9e2ea87f8d2c230e52a7dcc584d317dc746224", - "@angular/compiler": "github:angular/compiler-builds#2a7a7537019a2d822a6616f353e4e8314660cdac", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#0c47fa610de3d952d199d0f5e6c32cd423388255", - "@angular/core": "github:angular/core-builds#9051ef03d47fe2cb8b666e2d55f788edbb539ba1", - "@angular/forms": "github:angular/forms-builds#dc58241e6f92645908f435a0f0ef06c35174f6b6", - "@angular/language-service": "github:angular/language-service-builds#5a424b008f6ca91faef90ddbddc30389d22a0e89", - "@angular/localize": "github:angular/localize-builds#fab2cf9c334edb3fe8dae588a0f410c7ae7a5604", - "@angular/material": "github:angular/material2-builds#6b8d33f19063bb4dbca8a783302124b9847d0913", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#40db3d67a6c4ddf868366feeb1d75768da4db757", - "@angular/platform-browser": "github:angular/platform-browser-builds#5312fca54486231337bf3e5c64951a17947a7024", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#276e23760640d2ac8efbbedc759428f41e056fdc", - "@angular/platform-server": "github:angular/platform-server-builds#cae05176faa5ba2d89342675611ac7b689f412c9", - "@angular/router": "github:angular/router-builds#17ad3903f71e8cbc4c8a86157a1e6764f212405b" + "@angular/animations": "github:angular/animations-builds#71edf68626a71a418d8a78ba7378bfd6759c9274", + "@angular/cdk": "github:angular/cdk-builds#4fe5782297f264586bf2d206f463f67c096ccede", + "@angular/common": "github:angular/common-builds#af0f94032973c2ef5f5669c22313a9551bb513ef", + "@angular/compiler": "github:angular/compiler-builds#217601585280975ef4a5f5726ecdf0d3306e1177", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#21583d4a2fe94ffd6934699c1a63b0d101eb4d88", + "@angular/core": "github:angular/core-builds#5df74e1d948a40fe41fcf8f8725826e069ee8e84", + "@angular/forms": "github:angular/forms-builds#fcd2acbfb00840ee4e8749d95f8b737d5816e6a2", + "@angular/language-service": "github:angular/language-service-builds#483323419956e7c0672653db2f0f11637444efa1", + "@angular/localize": "github:angular/localize-builds#21cc726b213e7f026b8108324b9a538df5bb8953", + "@angular/material": "github:angular/material2-builds#7fb0b9eb55a5bd99ed35f20a6a6e9e8f8225462f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#92c4c4e94af9130949325a68dd4fedb9b0a7830f", + "@angular/platform-browser": "github:angular/platform-browser-builds#850a1eef52ee9f6e824f9325545f412576658ffe", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#259e15b59c2fb8d467fe6ea9d3bd48685a0b1a9a", + "@angular/platform-server": "github:angular/platform-server-builds#c5c8e7563027e99ae66b3d9da415e219b68008c9", + "@angular/router": "github:angular/router-builds#d654711c7dddbfb1a731ec3193de1790e653e813" } } diff --git a/yarn.lock b/yarn.lock index c8de7554d7d4..9138426e50e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#3347e6202daaa259a75d6bb954113e703f4f0c42" + resolved "https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 2be47ba836d9a1c923062c9108ef38aca5b7493c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Oct 2020 07:49:32 +0000 Subject: [PATCH 046/696] build: update rollup to version 2.32.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 199524460a3f..1450ef292d41 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.32.0", + "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ba47830d9969..147c1992f500 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.32.0", + "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.27.0", "sass-loader": "10.0.3", diff --git a/yarn.lock b/yarn.lock index 9138426e50e2..bcc453e795c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10557,7 +10557,14 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.32.0, rollup@^2.8.0: +rollup@2.32.1: + version "2.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" + integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== + optionalDependencies: + fsevents "~2.1.2" + +rollup@^2.8.0: version "2.32.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.0.tgz#ac58c8e85782bea8aa2d440fc05aba345013582a" integrity sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw== From 9768230b4dd98906fe06b70ef87c7c738fe40645 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Oct 2020 10:53:41 +0200 Subject: [PATCH 047/696] docs: update further help section in readme --- packages/schematics/angular/library/files/README.md.template | 2 +- packages/schematics/angular/workspace/files/README.md.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schematics/angular/library/files/README.md.template b/packages/schematics/angular/library/files/README.md.template index d30000860412..8545804c5540 100644 --- a/packages/schematics/angular/library/files/README.md.template +++ b/packages/schematics/angular/library/files/README.md.template @@ -21,4 +21,4 @@ Run `ng test <%= name %>` to execute the unit tests via [Karma](https://karma-ru ## Further help -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/packages/schematics/angular/workspace/files/README.md.template b/packages/schematics/angular/workspace/files/README.md.template index 42a51babbb5b..25d6cf773051 100644 --- a/packages/schematics/angular/workspace/files/README.md.template +++ b/packages/schematics/angular/workspace/files/README.md.template @@ -24,4 +24,4 @@ Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protrac ## Further help -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. From 5f930c984bfe01b2963bf3d432406ae2cf2e28df Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Oct 2020 14:25:55 +0200 Subject: [PATCH 048/696] docs: remove `=true` from `--next` `=true` us redundant --- packages/angular/cli/commands/update-long.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/commands/update-long.md b/packages/angular/cli/commands/update-long.md index 93be9c0f3c78..72df66ce35da 100644 --- a/packages/angular/cli/commands/update-long.md +++ b/packages/angular/cli/commands/update-long.md @@ -4,14 +4,19 @@ Perform a basic update to the current stable release of the core framework and C ng update @angular/cli @angular/core ``` -To update to the next beta or pre-release version, use the `--next=true` option. +To update to the next beta or pre-release version, use the `--next` option. To update from one major version to another, use the format -`ng update @angular/cli@^ @angular/core@^`. + +``` +ng update @angular/cli@^ @angular/core@^ +``` We recommend that you always update to the latest patch version, as it contains fixes we released since the initial major release. -For example, use the following command to take the latest 9.x.x version and use that to update. +For example, use the following command to take the latest 10.x.x version and use that to update. -`ng update @angular/cli@^9 @angular/core@^9` +``` +ng update @angular/cli@^10 @angular/core@^10 +``` For detailed information and guidance on updating your application, see the interactive [Angular Update Guide](https://update.angular.io/). From 14239cd889c00be43d81bdc66416738456f01ea7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Oct 2020 09:30:11 +0200 Subject: [PATCH 049/696] docs: rename xi18n to extract-i18n in github issue templates --- .github/ISSUE_TEMPLATE/1-bug-report.md | 2 +- .github/ISSUE_TEMPLATE/2-feature-request.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md index 36bb9ef9072b..c24ab5b7ef34 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ b/.github/ISSUE_TEMPLATE/1-bug-report.md @@ -27,7 +27,7 @@ Existing issues often contain information about workarounds, resolution, or prog - [ ] add - [ ] update - [ ] lint -- [ ] xi18n +- [ ] extract-i18n - [ ] run - [ ] config - [ ] help diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.md b/.github/ISSUE_TEMPLATE/2-feature-request.md index 5efe1953908c..9210f5135779 100644 --- a/.github/ISSUE_TEMPLATE/2-feature-request.md +++ b/.github/ISSUE_TEMPLATE/2-feature-request.md @@ -28,7 +28,7 @@ Existing issues often contain information about workarounds, resolution, or prog - [ ] add - [ ] update - [ ] lint -- [ ] xi18n +- [ ] extract-i18n - [ ] run - [ ] config - [ ] help From 47373010e235657c04471c0afc5d8cab5512d952 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Oct 2020 15:41:53 +0200 Subject: [PATCH 050/696] refactor(@angular/cli): rename `ng xi18n` to `ng extract-i18n` `ng i18n-extract` and `ng xi18n` has been deprecated in favor of `ng extract-i18n` to have a better intuitive naming and match the architect key in `angular.json`. --- packages/angular/cli/BUILD.bazel | 6 +++--- packages/angular/cli/commands.json | 4 ++-- .../commands/{xi18n-impl.ts => extract-i18n-impl.ts} | 11 ++++++++--- .../cli/commands/{xi18n.json => extract-i18n.json} | 6 +++--- packages/angular/cli/models/command-runner.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/extract-default.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/extract-errors.ts | 2 +- .../e2e/tests/i18n/extract-ivy-libraries.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts | 8 ++++---- tests/legacy-cli/e2e/tests/i18n/extract-locale.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/extract-outfile.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/extract-xmb.ts | 2 +- .../e2e/tests/i18n/ivy-localize-app-shell.ts | 2 +- .../e2e/tests/i18n/ivy-localize-serviceworker.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/legacy.ts | 2 +- tests/legacy-cli/e2e/utils/process.ts | 2 +- 16 files changed, 31 insertions(+), 26 deletions(-) rename packages/angular/cli/commands/{xi18n-impl.ts => extract-i18n-impl.ts} (60%) rename packages/angular/cli/commands/{xi18n.json => extract-i18n.json} (70%) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 8395b2a215eb..3e6f54fd8e33 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -46,7 +46,7 @@ ts_library( "//packages/angular/cli:commands/update.ts", "//packages/angular/cli:commands/version.ts", "//packages/angular/cli:commands/run.ts", - "//packages/angular/cli:commands/xi18n.ts", + "//packages/angular/cli:commands/extract-i18n.ts", # @external_end ], data = glob( @@ -223,8 +223,8 @@ ts_json_schema( ) ts_json_schema( - name = "xi18n_schema", - src = "commands/xi18n.json", + name = "extract-i18n_schema", + src = "commands/extract-i18n.json", data = [ "commands/definitions.json", ], diff --git a/packages/angular/cli/commands.json b/packages/angular/cli/commands.json index 85de6cc170d3..0b65947a0647 100644 --- a/packages/angular/cli/commands.json +++ b/packages/angular/cli/commands.json @@ -6,6 +6,7 @@ "deploy": "./commands/deploy.json", "doc": "./commands/doc.json", "e2e": "./commands/e2e.json", + "extract-i18n": "./commands/extract-i18n.json", "make-this-awesome": "./commands/easter-egg.json", "generate": "./commands/generate.json", "help": "./commands/help.json", @@ -15,6 +16,5 @@ "serve": "./commands/serve.json", "test": "./commands/test.json", "update": "./commands/update.json", - "version": "./commands/version.json", - "xi18n": "./commands/xi18n.json" + "version": "./commands/version.json" } diff --git a/packages/angular/cli/commands/xi18n-impl.ts b/packages/angular/cli/commands/extract-i18n-impl.ts similarity index 60% rename from packages/angular/cli/commands/xi18n-impl.ts rename to packages/angular/cli/commands/extract-i18n-impl.ts index ae0e9253a3ca..00a8e2e4ce2d 100644 --- a/packages/angular/cli/commands/xi18n-impl.ts +++ b/packages/angular/cli/commands/extract-i18n-impl.ts @@ -8,12 +8,12 @@ import { ArchitectCommand } from '../models/architect-command'; import { Arguments } from '../models/interface'; -import { Schema as Xi18nCommandSchema } from './xi18n'; +import { Schema as ExtractI18nCommandSchema } from './extract-i18n'; -export class Xi18nCommand extends ArchitectCommand { +export class ExtractI18nCommand extends ArchitectCommand { public readonly target = 'extract-i18n'; - public async run(options: Xi18nCommandSchema & Arguments) { + public async run(options: ExtractI18nCommandSchema & Arguments) { const version = process.version.substr(1).split('.'); if (Number(version[0]) === 12 && Number(version[1]) === 0) { this.logger.error( @@ -23,6 +23,11 @@ export class Xi18nCommand extends ArchitectCommand { return 1; } + const commandName = process.argv[2]; + if (['xi18n', 'i18n-extract'].includes(commandName)) { + this.logger.warn(`Warning: "ng ${commandName}" has been deprecated and will be removed in a future major version. Please use "ng extract-i18n" instead.`); + } + return this.runArchitectTarget(options); } } diff --git a/packages/angular/cli/commands/xi18n.json b/packages/angular/cli/commands/extract-i18n.json similarity index 70% rename from packages/angular/cli/commands/xi18n.json rename to packages/angular/cli/commands/extract-i18n.json index c48d958440fa..85ecb0ffeeed 100644 --- a/packages/angular/cli/commands/xi18n.json +++ b/packages/angular/cli/commands/extract-i18n.json @@ -1,13 +1,13 @@ { "$schema": "http://json-schema.org/schema", - "$id": "ng-cli://commands/xi18n.json", + "$id": "ng-cli://commands/extract-i18n.json", "description": "Extracts i18n messages from source code.", "$longDescription": "", - "$aliases": ["i18n-extract"], + "$aliases": ["i18n-extract", "xi18n"], "$scope": "in", "$type": "architect", - "$impl": "./xi18n-impl#Xi18nCommand", + "$impl": "./extract-i18n-impl#ExtractI18nCommand", "type": "object", "allOf": [ diff --git a/packages/angular/cli/models/command-runner.ts b/packages/angular/cli/models/command-runner.ts index b8ec88e57883..980640a5a80c 100644 --- a/packages/angular/cli/models/command-runner.ts +++ b/packages/angular/cli/models/command-runner.ts @@ -39,6 +39,7 @@ const standardCommands = { 'config': '../commands/config.json', 'doc': '../commands/doc.json', 'e2e': '../commands/e2e.json', + 'extract-i18n': '../commands/extract-i18n.json', 'make-this-awesome': '../commands/easter-egg.json', 'generate': '../commands/generate.json', 'help': '../commands/help.json', @@ -49,7 +50,6 @@ const standardCommands = { 'test': '../commands/test.json', 'update': '../commands/update.json', 'version': '../commands/version.json', - 'xi18n': '../commands/xi18n.json', }; export interface CommandMapOptions { diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-default.ts b/tests/legacy-cli/e2e/tests/i18n/extract-default.ts index 8761196485c7..c37427d4ddfa 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-default.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-default.ts @@ -15,7 +15,7 @@ export default async function() { join('src/app/i18n-test', 'i18n-test.component.html'), '

Hello world

', ); - await ng('xi18n'); + await ng('extract-i18n'); await expectFileToExist('messages.xlf'); await expectFileToMatch('messages.xlf', /Hello world/); } diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-errors.ts b/tests/legacy-cli/e2e/tests/i18n/extract-errors.ts index 51152622c1f3..479fe4b94432 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-errors.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-errors.ts @@ -16,7 +16,7 @@ export default async function () { '

Hello world inner

', ); - const { message } = await expectToFail(() => ng('xi18n')); + const { message } = await expectToFail(() => ng('extract-i18n')); const veProject = getGlobalVariable('argv')['ve']; const msg = veProject diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts b/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts index 71418bfbe293..98a622c5a515 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts @@ -61,7 +61,7 @@ export default async function() { await installPackage(localizeVersion); // Extract messages - await ng('xi18n', '--ivy'); + await ng('extract-i18n', '--ivy'); await expectFileToMatch('messages.xlf', 'Hello world'); await expectFileToMatch('messages.xlf', 'i18n-lib-test works!'); await expectFileToMatch('messages.xlf', 'src/app/app.component.html'); diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts b/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts index e9e61ef7db58..a3cd8c93dbe8 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts @@ -21,7 +21,7 @@ export default async function() { ); // Should fail with --ivy flag if `@angular/localize` is missing - const { message: message1 } = await expectToFail(() => ng('xi18n')); + const { message: message1 } = await expectToFail(() => ng('extract-i18n')); if (!message1.includes(`Ivy extraction requires the '@angular/localize' package.`)) { throw new Error('Expected localize package error message when missing'); } @@ -34,13 +34,13 @@ export default async function() { await installPackage(localizeVersion); // Should show ivy enabled application warning without --ivy flag - const { stderr: message3 } = await ng('xi18n', '--no-ivy'); + const { stderr: message3 } = await ng('extract-i18n', '--no-ivy'); if (!message3.includes(`Ivy extraction not enabled but application is Ivy enabled.`)) { throw new Error('Expected ivy enabled application warning'); } // Should not show any warnings when extracting - const { stderr: message5 } = await ng('xi18n', '--ivy'); + const { stderr: message5 } = await ng('extract-i18n', '--ivy'); if (message5.includes('WARNING')) { throw new Error('Expected no warnings to be shown'); } @@ -53,7 +53,7 @@ export default async function() { }); // Should show ivy disabled application warning with --ivy flag and enableIvy false - const { message: message4 } = await expectToFail(() => ng('xi18n', '--ivy')); + const { message: message4 } = await expectToFail(() => ng('extract-i18n', '--ivy')); if (!message4.includes(`Ivy extraction enabled but application is not Ivy enabled.`)) { throw new Error('Expected ivy disabled application warning'); } diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-locale.ts b/tests/legacy-cli/e2e/tests/i18n/extract-locale.ts index a08ae923cda3..dc6a4df3787a 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-locale.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-locale.ts @@ -14,7 +14,7 @@ export default function() { .then(() => writeFile( join('src/app/i18n-test', 'i18n-test.component.html'), '

Hello world

')) - .then(() => ng('xi18n', '--i18n-locale', 'fr')) + .then(() => ng('extract-i18n', '--i18n-locale', 'fr')) .then((output) => { if (!output.stderr.match(/starting from Angular v4/)) { return expectFileToMatch('messages.xlf', 'source-language="fr"'); diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-outfile.ts b/tests/legacy-cli/e2e/tests/i18n/extract-outfile.ts index eeca7032faca..c4454bbcbe31 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-outfile.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-outfile.ts @@ -14,6 +14,6 @@ export default async function () { join('src/app/i18n-test', 'i18n-test.component.html'), '

Hello world

', ); - await ng('xi18n', '--out-file', 'messages.fr.xlf'); + await ng('extract-i18n', '--out-file', 'messages.fr.xlf'); await expectFileToMatch('messages.fr.xlf', 'Hello world'); } diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-xmb.ts b/tests/legacy-cli/e2e/tests/i18n/extract-xmb.ts index 4529cf8ef42b..3677c7f01662 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-xmb.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-xmb.ts @@ -17,7 +17,7 @@ export default function() { .then(() => writeFile(join('src/app/i18n-test', 'i18n-test.component.html'), '

Hello world

'), ) - .then(() => ng('xi18n', '--format', 'xmb')) + .then(() => ng('extract-i18n', '--format', 'xmb')) .then(() => expectFileToExist('messages.xmb')) .then(() => expectFileToMatch('messages.xmb', /Hello world/)); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts index ddb6fbce801f..c60aa1446d85 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts @@ -104,7 +104,7 @@ export default async function () { ); // Extract the translation messages and copy them for each language. - await ng('xi18n', '--output-path=src/locale'); + await ng('extract-i18n', '--output-path=src/locale'); await expectFileToExist('src/locale/messages.xlf'); await expectFileToMatch('src/locale/messages.xlf', `source-language="en-US"`); await expectFileToMatch('src/locale/messages.xlf', `An introduction header for this sample`); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts index 1b7b26a92f4a..2402d2ed90cc 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts @@ -119,7 +119,7 @@ export default async function() { ); // Extract the translation messages and copy them for each language. - await ng('xi18n', '--output-path=src/locale'); + await ng('extract-i18n', '--output-path=src/locale'); await expectFileToExist('src/locale/messages.xlf'); await expectFileToMatch('src/locale/messages.xlf', `source-language="en-US"`); await expectFileToMatch('src/locale/messages.xlf', `An introduction header for this sample`); diff --git a/tests/legacy-cli/e2e/tests/i18n/legacy.ts b/tests/legacy-cli/e2e/tests/i18n/legacy.ts index a53df4aa75cf..cdcd3f975717 100644 --- a/tests/legacy-cli/e2e/tests/i18n/legacy.ts +++ b/tests/legacy-cli/e2e/tests/i18n/legacy.ts @@ -219,7 +219,7 @@ export async function setupI18nConfig(useLocalize = true, format: keyof typeof f // Extract the translation messages. await ng( - 'xi18n', + 'extract-i18n', '--output-path=src/locale', `--format=${format}`, ); diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 244ff1086534..add60058cb17 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -187,7 +187,7 @@ export function execAndWaitForOutputToMatch(cmd: string, args: string[], match: export function ng(...args: string[]) { const argv = getGlobalVariable('argv'); const maybeSilentNg = argv['nosilent'] ? noSilentNg : silentNg; - if (['build', 'serve', 'test', 'e2e', 'xi18n'].indexOf(args[0]) != -1) { + if (['build', 'serve', 'test', 'e2e', 'extract-i18n'].indexOf(args[0]) != -1) { if (args[0] == 'e2e') { // Wait 1 second before running any end-to-end test. return new Promise(resolve => setTimeout(resolve, 1000)) From 83c91204ed8dd2345d47a8f398b3799532003ac7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Oct 2020 18:51:44 -0400 Subject: [PATCH 051/696] fix(@angular-devkit/core): allow prompt providers to access property types This allows prompt providers to adjust their logic based on the type of property requested. --- etc/api/angular_devkit/core/src/_golden-api.d.ts | 1 + packages/angular_devkit/core/src/json/schema/interface.ts | 1 + packages/angular_devkit/core/src/json/schema/registry.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/etc/api/angular_devkit/core/src/_golden-api.d.ts b/etc/api/angular_devkit/core/src/_golden-api.d.ts index 93168b67c547..0572bee4faef 100644 --- a/etc/api/angular_devkit/core/src/_golden-api.d.ts +++ b/etc/api/angular_devkit/core/src/_golden-api.d.ts @@ -715,6 +715,7 @@ export interface PromptDefinition { }>; message: string; multiselect?: boolean; + propertyTypes: Set; raw?: string | JsonObject; type: string; validator?: (value: JsonValue) => boolean | string | Promise; diff --git a/packages/angular_devkit/core/src/json/schema/interface.ts b/packages/angular_devkit/core/src/json/schema/interface.ts index c62f08237d36..2e4375511a03 100644 --- a/packages/angular_devkit/core/src/json/schema/interface.ts +++ b/packages/angular_devkit/core/src/json/schema/interface.ts @@ -105,6 +105,7 @@ export interface PromptDefinition { raw?: string | JsonObject; multiselect?: boolean; + propertyTypes: Set; } export type PromptProvider = (definitions: Array) diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index a2f8df45077a..50c5ed4bbb3c 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -590,6 +590,7 @@ export class CoreSchemaRegistry implements SchemaRegistry { raw: schema, items, multiselect, + propertyTypes, default: typeof (parentSchema as JsonObject).default == 'object' && (parentSchema as JsonObject).default !== null && From fd63e294068b4a6d93f3fe67d53988cc1672ebbf Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Oct 2020 18:54:57 -0400 Subject: [PATCH 052/696] fix(@angular/cli): coerce prompt answers to requested property types This change converts answers from prompts into the property type requested from the schema. This allows properties that expect a number to correctly validate when an input prompt is used. --- .../angular/cli/models/schematic-command.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index 92f87ad0075b..677362609e69 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -322,6 +322,32 @@ export abstract class SchematicCommand< const validator = definition.validator; if (validator) { question.validate = input => validator(input); + + // Filter allows transformation of the value prior to validation + question.filter = async (input) => { + for (const type of definition.propertyTypes) { + let value; + switch (type) { + case 'string': + value = String(input); + break; + case 'integer': + case 'number': + value = Number(input); + break; + default: + value = input; + break; + } + // Can be a string if validation fails + const isValid = (await validator(value)) === true; + if (isValid) { + return value; + } + } + + return input; + }; } switch (definition.type) { @@ -339,6 +365,17 @@ export abstract class SchematicCommand< }; }); break; + case 'input': + if ( + definition.propertyTypes.size === 1 && + (definition.propertyTypes.has('number') || + definition.propertyTypes.has('integer')) + ) { + question.type = 'number'; + } else { + question.type = 'input'; + } + break; default: question.type = definition.type; break; From 13f375d19981107bcd047beb0a42ccf66bfd6a9a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 21 Oct 2020 10:32:19 -0400 Subject: [PATCH 053/696] fix(@angular/cli): use newer update command if global version is newer This allows improvements and bugfixes in later versions of the update command to be used in projects with older versions of the Angular CLI that do not have bootstrapping (<8.3.13). --- packages/angular/cli/lib/init.ts | 46 +++++++++++++++++--------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 2740fa69bf43..2439b1fa18a7 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -81,33 +81,37 @@ if (process.env['NG_CLI_PROFILING']) { const projectLocalCli = require.resolve('@angular/cli', { paths: [process.cwd()] }); cli = await import(projectLocalCli); - // This was run from a global, check local version. - if (await isWarningEnabled('versionMismatch')) { - const globalVersion = new SemVer(require('../package.json').version); - - // Older versions might not have the VERSION export - let localVersion = cli.VERSION?.full; - if (!localVersion) { - try { - localVersion = require(path.join(path.dirname(projectLocalCli), '../../package.json')) - .version; - } catch (error) { - // tslint:disable-next-line no-console - console.error( - 'Version mismatch check skipped. Unable to retrieve local version: ' + error, - ); - } - } + const globalVersion = new SemVer(require('../package.json').version); - let shouldWarn = false; + // Older versions might not have the VERSION export + let localVersion = cli.VERSION?.full; + if (!localVersion) { try { - shouldWarn = !!localVersion && globalVersion.compare(localVersion) > 0; + localVersion = require(path.join(path.dirname(projectLocalCli), '../../package.json')) + .version; } catch (error) { // tslint:disable-next-line no-console - console.error('Version mismatch check skipped. Unable to compare local version: ' + error); + console.error( + 'Version mismatch check skipped. Unable to retrieve local version: ' + error, + ); } + } + + let isGlobalGreater = false; + try { + isGlobalGreater = !!localVersion && globalVersion.compare(localVersion) > 0; + } catch (error) { + // tslint:disable-next-line no-console + console.error('Version mismatch check skipped. Unable to compare local version: ' + error); + } - if (shouldWarn) { + if (isGlobalGreater) { + // If using the update command and the global version is greater, use the newer update command + // This allows improvements in update to be used in older versions that do not have bootstrapping + if (process.argv[2] === 'update') { + cli = await import('./cli'); + } else if (await isWarningEnabled('versionMismatch')) { + // Otherwise, use local version and warn if global is newer than local const warning = `Your global Angular CLI version (${globalVersion}) is greater than your local ` + `version (${localVersion}). The local Angular CLI version is used.\n\n` + From ff7edce98a11515821f17d259d5145b2716e3716 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Wed, 21 Oct 2020 20:22:50 +0300 Subject: [PATCH 054/696] build: update `lock-closed` GitHub action to latest version This commit updates the version of the `dev-infra/lock-closed` GitHub action to the latest version, that includes the fix from angular/dev-infra#80. --- .github/workflows/lock-closed.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 8c154c9c03d4..b43e8601204e 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,7 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@414834b2b24dd2df37c6ed00808387ee6fd91b66 - + - uses: angular/dev-infra/github-actions/lock-closed@0fc6f4d839e93312ed0dd9a2be88d4c11e947a0b with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} From cc723d8d74986005c2455ca212cb4b41a5cdf56f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 16 Oct 2020 16:26:37 -0400 Subject: [PATCH 055/696] feat(@angular-devkit/build-angular): support following symlinked asset directories By default subdirectories within a symlinked directory are not searched by a glob. The new `followSymlinks` option for the longhand form of the `assets` browser builder option now allows opting in to search such subdirectories. --- packages/angular/cli/lib/config/schema.json | 10 +++++ .../build_angular/src/browser/schema.json | 5 +++ .../build_angular/src/utils/copy-assets.ts | 10 ++++- .../src/webpack/configs/common.ts | 1 + tests/legacy-cli/e2e/tests/build/assets.ts | 37 +++++++++++++++++++ tests/legacy-cli/e2e/tests/misc/assets.ts | 16 -------- 6 files changed, 62 insertions(+), 17 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/assets.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/assets.ts diff --git a/packages/angular/cli/lib/config/schema.json b/packages/angular/cli/lib/config/schema.json index fe0cdfea4ff6..1c769c14e70c 100644 --- a/packages/angular/cli/lib/config/schema.json +++ b/packages/angular/cli/lib/config/schema.json @@ -1004,6 +1004,11 @@ { "type": "object", "properties": { + "followSymlinks": { + "type": "boolean", + "default": false, + "description": "Allow glob patterns to follow symlink directories. This allows subdirectories of the symlink to be searched." + }, "glob": { "type": "string", "description": "The pattern to match." @@ -1586,6 +1591,11 @@ { "type": "object", "properties": { + "followSymlinks": { + "type": "boolean", + "default": false, + "description": "Allow glob patterns to follow symlink directories. This allows subdirectories of the symlink to be searched." + }, "glob": { "type": "string", "description": "The pattern to match." diff --git a/packages/angular_devkit/build_angular/src/browser/schema.json b/packages/angular_devkit/build_angular/src/browser/schema.json index 70d7c8302036..6e1b9d8ed254 100644 --- a/packages/angular_devkit/build_angular/src/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/browser/schema.json @@ -389,6 +389,11 @@ { "type": "object", "properties": { + "followSymlinks": { + "type": "boolean", + "default": false, + "description": "Allow glob patterns to follow symlink directories. This allows subdirectories of the symlink to be searched." + }, "glob": { "type": "string", "description": "The pattern to match." diff --git a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts index 17e2fdd64c20..976796ce4cdd 100644 --- a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts +++ b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts @@ -17,7 +17,14 @@ function globAsync(pattern: string, options: glob.IOptions) { } export async function copyAssets( - entries: { glob: string; ignore?: string[]; input: string; output: string; flatten?: boolean }[], + entries: { + glob: string; + ignore?: string[]; + input: string; + output: string; + flatten?: boolean; + followSymlinks?: boolean; + }[], basePaths: Iterable, root: string, changed?: Set, @@ -31,6 +38,7 @@ export async function copyAssets( dot: true, nodir: true, ignore: entry.ignore ? defaultIgnore.concat(entry.ignore) : defaultIgnore, + follow: entry.followSymlinks, }); const directoryExists = new Set(); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index a1df69728ee9..3da304dbfbd9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -280,6 +280,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { force: true, globOptions: { dot: true, + followSymbolicLinks: !!asset.followSymlinks, ignore: [ '.gitkeep', '**/.DS_Store', diff --git a/tests/legacy-cli/e2e/tests/build/assets.ts b/tests/legacy-cli/e2e/tests/build/assets.ts new file mode 100644 index 000000000000..915138288059 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/assets.ts @@ -0,0 +1,37 @@ +import * as fs from 'fs'; +import { expectFileToExist, expectFileToMatch, writeFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + await writeFile('src/assets/.file', ''); + await writeFile('src/assets/test.abc', 'hello world'); + + await ng('build'); + + await expectFileToExist('dist/test-project/favicon.ico'); + await expectFileToExist('dist/test-project/assets/.file'); + await expectFileToMatch('dist/test-project/assets/test.abc', 'hello world'); + await expectToFail(() => expectFileToExist('dist/test-project/assets/.gitkeep')); + + // Ensure `followSymlinks` option follows symlinks + await updateJsonFile('angular.json', workspaceJson => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect['build'].options.assets = [{ glob: '**/*', input: 'src/assets', output: 'assets', followSymlinks: true }]; + }); + fs.mkdirSync('dirToSymlink/subdir1', { recursive: true }); + fs.mkdirSync('dirToSymlink/subdir2/subsubdir1', { recursive: true }); + fs.writeFileSync('dirToSymlink/a.txt', ''); + fs.writeFileSync('dirToSymlink/subdir1/b.txt', ''); + fs.writeFileSync('dirToSymlink/subdir2/c.txt', ''); + fs.writeFileSync('dirToSymlink/subdir2/subsubdir1/d.txt', ''); + fs.symlinkSync(process.cwd() + '/dirToSymlink', 'src/assets/symlinkDir'); + + await ng('build'); + + await expectFileToExist('dist/test-project/assets/symlinkDir/a.txt'); + await expectFileToExist('dist/test-project/assets/symlinkDir/subdir1/b.txt'); + await expectFileToExist('dist/test-project/assets/symlinkDir/subdir2/c.txt'); + await expectFileToExist('dist/test-project/assets/symlinkDir/subdir2/subsubdir1/d.txt'); +} diff --git a/tests/legacy-cli/e2e/tests/misc/assets.ts b/tests/legacy-cli/e2e/tests/misc/assets.ts deleted file mode 100644 index 181a07dac4a3..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/assets.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {writeFile, expectFileToExist, expectFileToMatch} from '../../utils/fs'; -import {ng} from '../../utils/process'; -import {expectToFail} from '../../utils/utils'; - - -export default function() { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - return writeFile('src/assets/.file', '') - .then(() => writeFile('src/assets/test.abc', 'hello world')) - .then(() => ng('build')) - .then(() => expectFileToExist('dist/test-project/favicon.ico')) - .then(() => expectFileToExist('dist/test-project/assets/.file')) - .then(() => expectFileToMatch('dist/test-project/assets/test.abc', 'hello world')) - .then(() => expectToFail(() => expectFileToExist('dist/test-project/assets/.gitkeep'))); -} From a986ce72394f8bff821e04538033737cc0993e83 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 21 Oct 2020 13:10:32 -0700 Subject: [PATCH 056/696] release: v11.0.0-rc.0 --- packages/schematics/angular/utility/latest-versions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 3f46a7e7c061..7b8a790f96da 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.0.0-next.6', + Angular: '~11.0.0-rc.0', RxJs: '~6.6.0', ZoneJs: '~0.10.2', TypeScript: '~4.0.2', @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1100.0-next.7', - DevkitBuildNgPackagr: '~0.1100.0-next.7', - DevkitBuildWebpack: '~0.1100.0-next.7', + DevkitBuildAngular: '~0.1100.0-rc.0', + DevkitBuildNgPackagr: '~0.1100.0-rc.0', + DevkitBuildWebpack: '~0.1100.0-rc.0', ngPackagr: '^11.0.0-next.0', }; From 46b613fb822bf5ff21b1609be8973eb7b03cd7fc Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 21 Oct 2020 13:22:03 -0700 Subject: [PATCH 057/696] Revert "release: v11.0.0-rc.0" This reverts commit a986ce72394f8bff821e04538033737cc0993e83. RC should be cut from the `11.0.x` branch, not from `master`. --- packages/schematics/angular/utility/latest-versions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 7b8a790f96da..3f46a7e7c061 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.0.0-rc.0', + Angular: '~11.0.0-next.6', RxJs: '~6.6.0', ZoneJs: '~0.10.2', TypeScript: '~4.0.2', @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1100.0-rc.0', - DevkitBuildNgPackagr: '~0.1100.0-rc.0', - DevkitBuildWebpack: '~0.1100.0-rc.0', + DevkitBuildAngular: '~0.1100.0-next.7', + DevkitBuildNgPackagr: '~0.1100.0-next.7', + DevkitBuildWebpack: '~0.1100.0-next.7', ngPackagr: '^11.0.0-next.0', }; From 9d4a45b5bbbbca4849927129c1ac5651e5d9e24a Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Wed, 21 Oct 2020 15:46:07 -0700 Subject: [PATCH 058/696] test(@angular/cli): use local registry in update-1.0-yarn test --- tests/legacy-cli/e2e/tests/update/update-1.0-yarn.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/legacy-cli/e2e/tests/update/update-1.0-yarn.ts b/tests/legacy-cli/e2e/tests/update/update-1.0-yarn.ts index 93e36f41f819..6d52842c1609 100644 --- a/tests/legacy-cli/e2e/tests/update/update-1.0-yarn.ts +++ b/tests/legacy-cli/e2e/tests/update/update-1.0-yarn.ts @@ -4,6 +4,8 @@ import { isPrereleaseCli, useBuiltPackages, useCIChrome, useCIDefaults } from '. import { expectToFail } from '../../utils/utils'; export default async function() { + process.env['NPM_CONFIG_REGISTRY'] = 'http://localhost:4873'; + const extraUpdateArgs = (await isPrereleaseCli()) ? ['--next', '--force'] : []; const dir = await createProjectFromAsset('1.0-yarn-workspace-project', false, true); From 27234ef752fa36474d70c072e3a456dcdc6c9181 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 22 Oct 2020 05:08:44 +0000 Subject: [PATCH 059/696] build: update angular packages --- package.json | 26 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 24 ++--- yarn.lock | 100 +++++++++--------- 4 files changed, 77 insertions(+), 77 deletions(-) diff --git a/package.json b/package.json index 1450ef292d41..2213b137781f 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ ] }, "devDependencies": { - "@angular/animations": "11.0.0-next.6", + "@angular/animations": "11.0.0-rc.0", "@angular/cdk": "10.2.5", - "@angular/common": "11.0.0-next.6", - "@angular/compiler": "11.0.0-next.6", - "@angular/compiler-cli": "11.0.0-next.6", - "@angular/core": "11.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b", - "@angular/forms": "11.0.0-next.6", - "@angular/localize": "11.0.0-next.6", + "@angular/common": "11.0.0-rc.0", + "@angular/compiler": "11.0.0-rc.0", + "@angular/compiler-cli": "11.0.0-rc.0", + "@angular/core": "11.0.0-rc.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e", + "@angular/forms": "11.0.0-rc.0", + "@angular/localize": "11.0.0-rc.0", "@angular/material": "10.2.5", - "@angular/platform-browser": "11.0.0-next.6", - "@angular/platform-browser-dynamic": "11.0.0-next.6", - "@angular/platform-server": "11.0.0-next.6", - "@angular/router": "11.0.0-next.6", - "@angular/service-worker": "11.0.0-next.6", + "@angular/platform-browser": "11.0.0-rc.0", + "@angular/platform-browser-dynamic": "11.0.0-rc.0", + "@angular/platform-server": "11.0.0-rc.0", + "@angular/router": "11.0.0-rc.0", + "@angular/service-worker": "11.0.0-rc.0", "@babel/core": "7.12.3", "@babel/generator": "7.12.1", "@babel/plugin-transform-runtime": "7.12.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 580b37e3e16d..70948805cad4 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,8 +31,8 @@ "webpack": "^4.0.0" }, "devDependencies": { - "@angular/compiler": "11.0.0-next.6", - "@angular/compiler-cli": "11.0.0-next.6", + "@angular/compiler": "11.0.0-rc.0", + "@angular/compiler-cli": "11.0.0-rc.0", "typescript": "4.0.3", "webpack": "4.44.2" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index fe7e2ae37c0f..59602e70cd72 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#71edf68626a71a418d8a78ba7378bfd6759c9274", + "@angular/animations": "github:angular/animations-builds#4127ced1d5669f7308473a5967696e87cbdba0b4", "@angular/cdk": "github:angular/cdk-builds#4fe5782297f264586bf2d206f463f67c096ccede", - "@angular/common": "github:angular/common-builds#af0f94032973c2ef5f5669c22313a9551bb513ef", - "@angular/compiler": "github:angular/compiler-builds#217601585280975ef4a5f5726ecdf0d3306e1177", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#21583d4a2fe94ffd6934699c1a63b0d101eb4d88", - "@angular/core": "github:angular/core-builds#5df74e1d948a40fe41fcf8f8725826e069ee8e84", - "@angular/forms": "github:angular/forms-builds#fcd2acbfb00840ee4e8749d95f8b737d5816e6a2", - "@angular/language-service": "github:angular/language-service-builds#483323419956e7c0672653db2f0f11637444efa1", - "@angular/localize": "github:angular/localize-builds#21cc726b213e7f026b8108324b9a538df5bb8953", + "@angular/common": "github:angular/common-builds#7d0c55589c23f5c1ffe995d93e1b72ab54a8509b", + "@angular/compiler": "github:angular/compiler-builds#79bd6c8935848afe9b1a8b87028bd5282aeb6cf2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2add501c424f6edd359fd1140df202c7a12c16c4", + "@angular/core": "github:angular/core-builds#6a109163a36edace77b11e89bec39f65240adb78", + "@angular/forms": "github:angular/forms-builds#2f7a013203a68f5cac177f585bc8b62956aa89bb", + "@angular/language-service": "github:angular/language-service-builds#ddcdf9ce7d42888f95f3cbed54a8f8697bc8e545", + "@angular/localize": "github:angular/localize-builds#529f58d2ad42ead0653db46f7d9dfaa965345be6", "@angular/material": "github:angular/material2-builds#7fb0b9eb55a5bd99ed35f20a6a6e9e8f8225462f", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#92c4c4e94af9130949325a68dd4fedb9b0a7830f", - "@angular/platform-browser": "github:angular/platform-browser-builds#850a1eef52ee9f6e824f9325545f412576658ffe", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#259e15b59c2fb8d467fe6ea9d3bd48685a0b1a9a", - "@angular/platform-server": "github:angular/platform-server-builds#c5c8e7563027e99ae66b3d9da415e219b68008c9", - "@angular/router": "github:angular/router-builds#d654711c7dddbfb1a731ec3193de1790e653e813" + "@angular/platform-browser": "github:angular/platform-browser-builds#0780c2b7cf4d318a9ce9fda1400d2f813f7d61da", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a6ae156d8c3c1ade0926308b2eb9046191c09ebe", + "@angular/platform-server": "github:angular/platform-server-builds#c41341bc0cd969254ce69de1e2e8400e63e07770", + "@angular/router": "github:angular/router-builds#936272a2162c70e104a130013cb0f5448e7f995b" } } diff --git a/yarn.lock b/yarn.lock index bcc453e795c8..580fa9e24ce1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@angular/animations@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-next.6.tgz#4ee52b17d2280664c698e377d5a3f43061441ce5" - integrity sha512-x+7TX2JrMINqUc7qFLsV/IVjv0XU6YfqmVprpzPxyYIY9ofYyGgsX4gesYG8tkmRxyrw5BZaMsYkgPZ8jngwgA== +"@angular/animations@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.0.tgz#5100d2e46531eb02be711387fe3b820559d3d827" + integrity sha512-ic01WbRRG8g8AjXbScc4TdCq2xjPEaKZPezGR6zmX3/FJjhmftK7IGdZABAXO5UR9WVzeHp0P2Kye6KnydHlXA== dependencies: tslib "^2.0.0" @@ -26,17 +26,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-next.6.tgz#fecae0da927c596df5f936fff0751d1543503ee8" - integrity sha512-93RCH6yS0QbGzEjcl/Pwz04M35ddAY5NIInrUnz+BsuwFklu1EhvOTZqm9WFKT1gsSaQf1o45hVI1nAhiK7b+Q== +"@angular/common@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.0.tgz#b237d2becdb62acacb473981a70c60ccc2dc10f0" + integrity sha512-sLt3EqdI7i85LCy0Sk6aY6RVM86FgErvrinD1lxI3T1/QKsRBhFw1Uh1bRm/BYGH7ugOdENDwffv0oDAz422Fg== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-next.6.tgz#f9c8e70b045f2f602dbd9aa66bf7e9545442b48b" - integrity sha512-hJBVI3cMUAV0VvFsXRkqKsX0Qg6TMFP5z1ThGmRjlwVYRZrQH6LtfApzB80UT9nqpAgPtdhikSoDNT3my3JJ5g== +"@angular/compiler-cli@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.0.tgz#12182f70afe0019afdfb8b175a82a8d91e2bbb40" + integrity sha512-Ay4RW2rbRpIPPGjVgqFc7ip54znUGDi/5nP1u7O5jWTxWB+8rwunF9U7sQaff1aQ245bitGWEB34vVvYHyWgog== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -54,10 +54,10 @@ tslib "^2.0.0" yargs "15.3.0" -"@angular/compiler@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-next.6.tgz#d2c1d771e7ec4a12cece0dac1dccecb55ec7b7ff" - integrity sha512-6xAKXPeeIQH6kS/4r8eXn67zoq2fng6Ql+rdYMJul7ELK3kCk1IGxgECFb+eA6PtvAXkM+71eD1k7VJliEQr8A== +"@angular/compiler@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.0.tgz#e9fa385a9469fd6ee83202c5413492125fb9d928" + integrity sha512-tvl/FWpDfd0OuDr2iuUNv6FIGCGuDteD0yyAjqi/KQka9JLPCyx6VLKdwwfaTApRJvqQ2aF1Ek8YUum6DUtwAw== dependencies: tslib "^2.0.0" @@ -66,10 +66,10 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-next.6.tgz#bf5bd47e8319c9348d52cac00f24cb9a070d78d3" - integrity sha512-f0Q/Z3V2PnCVnBupXJmfxqPfJskxn+WEjMtO4vacrrqJ9lqScXPb8xJXo0+vgA+M5CZG5C9uXBHhH+Y+Ks7Kxw== +"@angular/core@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.0.tgz#0bfae6d1b4cca15a5e6605da916c8f2a301ca6b2" + integrity sha512-h3woHlGzPVx3zcm76Gxwfrpzjzq5q0cEmF8wDJ8Tce1R2BoPsSP3MD44LFZZSwh6SO4Ga2wc3z6c+NpwQe7QEA== dependencies: tslib "^2.0.0" @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#259c11664c88cbe9dcf6e0aa17b6f7a83b03f59b" + resolved "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" @@ -117,17 +117,17 @@ yaml "^1.10.0" yargs "^15.4.1" -"@angular/forms@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-next.6.tgz#d2abf717e6eeada1792efce8e532fe333404e08e" - integrity sha512-lcIuOCAaOQh2rWO+/cVxeBZMZxGnN6INEVeu4rcXwM4WqJ18z5WUpTQCke/WFG+VdZWKs5hb0Z1ZSUxaclacHg== +"@angular/forms@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.0.tgz#8aa5f0f2375a95f019c9a263c3d21e54bc5a1f96" + integrity sha512-+NxTnK/z0Sy13qU7/Hl1RtHx39+YXCnqsoTi8f/mUJh2DmcVS1+72o6iLlxJu1eFoMncNiKhH4mBXYI/H89VWQ== dependencies: tslib "^2.0.0" -"@angular/localize@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-next.6.tgz#c45d74de847531403dad888a534aac382e6c077f" - integrity sha512-7QCk/oXe3Vo3S+CyN85st1SoSii+r/43vA156EVhMFrxlqU2P/5EbXqy84a+It4irq9UFe4E0FPifZf3spj9jQ== +"@angular/localize@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.0.tgz#08e663ebbf266c455f708afa4d0917d749c08ae5" + integrity sha512-Jnt+dyu/5O56slrgH0oZ6He617hAAtCnxlmhaDVQawiQskdAD3fo2Z1f4d16uvkkB+ach8zE15MjGoa5n7Xozw== dependencies: "@babel/core" "7.8.3" glob "7.1.2" @@ -140,40 +140,40 @@ dependencies: tslib "^2.0.0" -"@angular/platform-browser-dynamic@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-next.6.tgz#31db216d92fcf182e35d3b17f0934ff03d6a0e69" - integrity sha512-CU3pyjKTdoobiUhh1FyqQCn2t5844irtaaSmdnwAUl6xlAV4JTZoqvJRME+imuhY8eAh+dhEjQCKYEu+4h5F0w== +"@angular/platform-browser-dynamic@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.0.tgz#c07c6b77ea4346d364196a271b4bffefde125da9" + integrity sha512-ryFvQnAGz8rtYUbninPlQVUURwHQF+nSlsVqw9VA893NJf/xH+UC3S3wr0HBRiCvJBphK7k1/Bi4pCjCVoip2w== dependencies: tslib "^2.0.0" -"@angular/platform-browser@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-next.6.tgz#543ae133745eea68d8894c9eca9814cc6754a1ec" - integrity sha512-ulo5BL2NyCEauZMaiLhX9aeQuVJ5KzrFunFJKDso25AEyA40kbOETB2v8U2f3QvMQoaUsBASp5weQMxfkhikBQ== +"@angular/platform-browser@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.0.tgz#69ba9bb1467d540d555857dd97aec8ba569dd879" + integrity sha512-3+5lpOZQ2KEHEcxxfi06KNJl3MkpLKQ/G6mDmXwjtTkZqql8cDQhtqSXjSz1MOo513OxHngmaI0+L/6U/rPVSQ== dependencies: tslib "^2.0.0" -"@angular/platform-server@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-next.6.tgz#b7f1850433c862e920c43506d3fabdd0db6aac68" - integrity sha512-MeQYFxURXhU8EIybkm1u9G0Z7qkM0W4GlRGbMGY8iYhhv3I2G4d0m29MPFUaXm5UhF1JWtdrIGc/G/k2FtDRhw== +"@angular/platform-server@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.0.tgz#f80de1724aa83aea01d7db0bd65cb148bb7e6d81" + integrity sha512-7D0a15mXlm7ZY1n5fhpl4wIgaQp3XjXpL575mnkNwt+yw357xiDO4OeLpgQAUF8YYYPm5bUbdXTOF81KoG0uvQ== dependencies: domino "^2.1.2" tslib "^2.0.0" xhr2 "^0.2.0" -"@angular/router@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-next.6.tgz#eb1954b85c854747fefd57fbe7a697e503a852ab" - integrity sha512-DTz0wMeZF4V3ORt7/yv1biTLYbVZXKYN+OJcB+sOmidK/OWK3E+QVc8a1/5eQvADNs1/Qns2RZskiSBkBQHaMQ== +"@angular/router@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.0.tgz#26097d9781bf1e056680896873b6c4439629fbbb" + integrity sha512-f48WD1oZyu9rZ8Gs6E91xjtStHQaIL/ipJgP75t00To4IU4Z+uTDiXOvvz34RR1lrQo3ON7zRZ3fLD3o372M4g== dependencies: tslib "^2.0.0" -"@angular/service-worker@11.0.0-next.6": - version "11.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-next.6.tgz#82236e729c5a9d3f08b424c61c2455e023e438bc" - integrity sha512-qGjs+eq4Z8a4ZIDco8P09fksi581Xe5qGUGhClNHxDpUzd/NlUsAJxMY+dSuceTWVK/aY3gGg71cCsM6JxFPmg== +"@angular/service-worker@11.0.0-rc.0": + version "11.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.0.tgz#41fc183976fd019ac69086cc215b00a550c28639" + integrity sha512-D/Il+YWa4BRRAvQn2OGx+sYKSq3a9ll6vk8jh5YZZd0rg8pIvGq3cwgLyxPvWsGN5sYSMfh30ggJzI3MgYyEag== dependencies: tslib "^2.0.0" From affaabe6d343cf8e37f0bfac0583db71bc74d8cb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 22 Oct 2020 08:56:55 +0200 Subject: [PATCH 060/696] fix(@schematics/angular): remove lint fix default value Since will remove lintFix usage warnings when the option is set by a default of another schematic. Example when executing ``` ng generate module customers --route customers --module app.module ``` The lintFix default of the module schematic will be passed down to the component schematic which would cause a warning to be shown. Closes #19169 --- packages/schematics/angular/application/schema.json | 1 - packages/schematics/angular/component/schema.json | 1 - packages/schematics/angular/directive/schema.json | 1 - packages/schematics/angular/enum/schema.json | 1 - packages/schematics/angular/guard/schema.json | 1 - packages/schematics/angular/interceptor/schema.json | 1 - packages/schematics/angular/interface/schema.json | 1 - packages/schematics/angular/library/schema.json | 1 - packages/schematics/angular/module/schema.json | 1 - packages/schematics/angular/service/schema.json | 1 - 10 files changed, 10 deletions(-) diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index cc31560ed1f8..0c805352f76b 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -100,7 +100,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the application.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 474c6035ae43..afaa68a4516a 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -139,7 +139,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the component.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index 0d1f20323f83..7d490faf4b17 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -76,7 +76,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the directive.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/enum/schema.json b/packages/schematics/angular/enum/schema.json index 550e25cb97af..20515b04af3c 100644 --- a/packages/schematics/angular/enum/schema.json +++ b/packages/schematics/angular/enum/schema.json @@ -29,7 +29,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the enum.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index 4f36c07cbd3c..e47a56ff1e32 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -40,7 +40,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the guard.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index c37b18b17237..f9b2c5c83f30 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -40,7 +40,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the interceptor.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/interface/schema.json b/packages/schematics/angular/interface/schema.json index cd6647837b1e..1caf6f55cb74 100644 --- a/packages/schematics/angular/interface/schema.json +++ b/packages/schematics/angular/interface/schema.json @@ -42,7 +42,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the interface.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/library/schema.json b/packages/schematics/angular/library/schema.json index 354ddf4154a5..e6da5dd25f97 100644 --- a/packages/schematics/angular/library/schema.json +++ b/packages/schematics/angular/library/schema.json @@ -45,7 +45,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the library.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/module/schema.json b/packages/schematics/angular/module/schema.json index bf1d762b98a6..ad22688922ec 100644 --- a/packages/schematics/angular/module/schema.json +++ b/packages/schematics/angular/module/schema.json @@ -61,7 +61,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the module.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json index 6f5f46de482e..54ab96a42b40 100644 --- a/packages/schematics/angular/service/schema.json +++ b/packages/schematics/angular/service/schema.json @@ -40,7 +40,6 @@ }, "lintFix": { "type": "boolean", - "default": false, "description": "When true, applies lint fixes after generating the service.", "x-user-analytics": 15, "x-deprecated": "Use \"ng lint --fix\" directly instead." From faf650c990f9b067ec9d23cef08131ff679789d3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 22 Oct 2020 12:19:20 +0200 Subject: [PATCH 061/696] refactor(@angular-devkit/build-angular): remove legacy server bundle guess logic Closes #16353 --- .../build_angular/src/app-shell/index.ts | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/app-shell/index.ts b/packages/angular_devkit/build_angular/src/app-shell/index.ts index f7996f0e68af..6bf05351bf07 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/index.ts @@ -116,24 +116,23 @@ async function _getServerModuleBundlePath( ) { if (options.appModuleBundle) { return path.join(context.workspaceRoot, options.appModuleBundle); - } else { - const { baseOutputPath = '' } = serverResult; - const outputPath = path.join(baseOutputPath, browserLocaleDirectory); + } - if (!fs.existsSync(outputPath)) { - throw new Error(`Could not find server output directory: ${outputPath}.`); - } + const { baseOutputPath = '' } = serverResult; + const outputPath = path.join(baseOutputPath, browserLocaleDirectory); - const files = fs.readdirSync(outputPath, 'utf8'); - const re = /^main\.(?:[a-zA-Z0-9]{20}\.)?(?:bundle\.)?js$/; - const maybeMain = files.filter(x => re.test(x))[0]; + if (!fs.existsSync(outputPath)) { + throw new Error(`Could not find server output directory: ${outputPath}.`); + } - if (!maybeMain) { - throw new Error('Could not find the main bundle.'); - } else { - return path.join(outputPath, maybeMain); - } + const re = /^main\.(?:[a-zA-Z0-9]{20}\.)?js$/; + const maybeMain = fs.readdirSync(outputPath).find(x => re.test(x)); + + if (!maybeMain) { + throw new Error('Could not find the main bundle.'); } + + return path.join(outputPath, maybeMain); } async function _appShellBuilder( From f122b2f351ab8bb189f15b34875357d0b374715d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 22 Oct 2020 13:33:48 +0200 Subject: [PATCH 062/696] fix(@angular-devkit/build-angular): don't add publicHost pathname to sockPath in dev-server With this change we remove the unintentional breaking change that added publicHost pathname to sockPath instead we now prepend the sockPath with the servePath, which can be either the passed servePath option, baseHref or deployUrl. --- .../build_angular/src/webpack/configs/dev-server.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index db4b97e59685..ae98e6efcf4f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -48,7 +48,6 @@ export function getDevServerConfig( const extraPlugins = []; // Resolve public host and client address. - let sockPath: string | undefined; let publicHost = wco.buildOptions.publicHost; if (publicHost) { if (!/^\w+:\/\//.test(publicHost)) { @@ -57,10 +56,6 @@ export function getDevServerConfig( const parsedHost = url.parse(publicHost); publicHost = parsedHost.host; - - if (parsedHost.pathname) { - sockPath = posix.join(parsedHost.pathname, 'sockjs-node'); - } } if (!watch) { @@ -107,7 +102,7 @@ export function getDevServerConfig( }, ], }, - sockPath, + sockPath: posix.join(servePath, 'sockjs-node'), stats: false, compress: stylesOptimization || scriptsOptimization, watchOptions: getWatchOptions(poll), From dc3cdae7b9038c7bd2e477aeda04d9a96368ef4f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 22 Oct 2020 11:29:14 -0400 Subject: [PATCH 063/696] fix(@angular-devkit/build-webpack): fully close Webpack 5 compiler The Webpack 5 compiler now contains a close function that should be called when the compiler is finished. --- .../build_webpack/src/webpack/index.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_webpack/src/webpack/index.ts b/packages/angular_devkit/build_webpack/src/webpack/index.ts index 6fc1f3751e4a..f4624e0a8605 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index.ts @@ -52,6 +52,12 @@ export function runWebpack( return createWebpack({ ...config, watch: false }).pipe( switchMap(webpackCompiler => new Observable(obs => { + // Webpack 5 has a compiler level close function + // The close function will crash if caching is disabled + const compilerClose = webpackCompiler.options.cache !== false + ? (webpackCompiler as { close?(callback: () => void): void }).close + : undefined; + const callback = (err?: Error, stats?: webpack.Stats) => { if (err) { return obs.error(err); @@ -71,7 +77,11 @@ export function runWebpack( } as unknown as BuildResult); if (!config.watch) { - obs.complete(); + if (compilerClose) { + compilerClose(() => obs.complete()); + } else { + obs.complete(); + } } }; @@ -81,7 +91,10 @@ export function runWebpack( const watching = webpackCompiler.watch(watchOptions, callback); // Teardown logic. Close the watcher when unsubscribed from. - return () => watching.close(() => { }); + return () => { + watching.close(() => { }); + compilerClose?.(() => { }); + }; } else { webpackCompiler.run(callback); } From e4a313839596b8883a7c5441fd48d0ca24502873 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 22 Oct 2020 11:53:27 -0400 Subject: [PATCH 064/696] refactor(@angular-devkit/build-webpack): reduce configuration path processing --- .../build_webpack/src/webpack-dev-server/index.ts | 7 ++++--- packages/angular_devkit/build_webpack/src/webpack/index.ts | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts index 6cc7661ba968..cb67b2e28e08 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts @@ -6,8 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ import { BuilderContext, createBuilder } from '@angular-devkit/architect'; -import { getSystemPath, json, normalize, resolve } from '@angular-devkit/core'; +import { json } from '@angular-devkit/core'; import * as net from 'net'; +import { resolve as pathResolve } from 'path'; import { Observable, from, isObservable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import * as webpack from 'webpack'; @@ -112,9 +113,9 @@ export function runWebpackDevServer( export default createBuilder< json.JsonObject & WebpackDevServerBuilderSchema, DevServerBuildOutput >((options, context) => { - const configPath = resolve(normalize(context.workspaceRoot), normalize(options.webpackConfig)); + const configPath = pathResolve(context.workspaceRoot, options.webpackConfig); - return from(import(getSystemPath(configPath))).pipe( + return from(import(configPath)).pipe( switchMap((config: webpack.Configuration) => runWebpackDevServer(config, context)), ); }); diff --git a/packages/angular_devkit/build_webpack/src/webpack/index.ts b/packages/angular_devkit/build_webpack/src/webpack/index.ts index f4624e0a8605..0146ccda0709 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index.ts @@ -6,7 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import { getSystemPath, json, normalize, resolve } from '@angular-devkit/core'; +import { json } from '@angular-devkit/core'; +import { resolve as pathResolve } from 'path'; import { Observable, from, isObservable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import * as webpack from 'webpack'; @@ -110,9 +111,9 @@ export function runWebpack( export default createBuilder((options, context) => { - const configPath = resolve(normalize(context.workspaceRoot), normalize(options.webpackConfig)); + const configPath = pathResolve(context.workspaceRoot, options.webpackConfig); - return from(import(getSystemPath(configPath))).pipe( + return from(import(configPath)).pipe( switchMap((config: webpack.Configuration) => runWebpack(config, context)), ); }); From 17e9f38170467065b03652b16be43263f81013b1 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:50:10 -0400 Subject: [PATCH 065/696] test(@angular-devkit/build-webpack): update webpack 5 E2E to 5.1.3 --- tests/legacy-cli/e2e/tests/misc/webpack-5.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/misc/webpack-5.ts b/tests/legacy-cli/e2e/tests/misc/webpack-5.ts index f68b540f4a97..01a6879d2b1a 100644 --- a/tests/legacy-cli/e2e/tests/misc/webpack-5.ts +++ b/tests/legacy-cli/e2e/tests/misc/webpack-5.ts @@ -6,7 +6,7 @@ export default async function() { // Setup project for yarn usage await rimraf('node_modules'); await updateJsonFile('package.json', (json) => { - json.resolutions = { webpack: '5.1.0' }; + json.resolutions = { webpack: '5.1.3' }; }); await silentYarn(); await silentYarn('webdriver-update'); From c24008c3564c60cd55a6e7ced7e813caa6047f8d Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 22 Oct 2020 09:03:41 -0700 Subject: [PATCH 066/696] build: add husky ignored files to .gitignore Ahead of upgrading to husky v5, adding the shell file location to .gitignore to prevent it from randomly showing up when devs checkout older branches. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 80366783e51d..faddb2caebf5 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,7 @@ yarn-error.log* .ng_pkg_build/ .ng-dev.log .ng-dev.user* +.husky/_ # Mac OSX Finder files. **/.DS_Store From f8b9a502a61a89e507673fa5dd106602a405439b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 22 Oct 2020 14:55:31 -0700 Subject: [PATCH 067/696] docs: add `rm -rf node_modules/` to release docs In the latest release, I was not able to build even after running `yarn` to refresh dependencies. Eventually, we tracked the issue down to `rm -rf node_modules/`. There may be some instances where this can be necessary to ensure clean builds. --- docs/process/release.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index 96d3fde42fae..c364c04b519b 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -154,13 +154,13 @@ For the first release of a major version, follow the instructions in For non-major release, check out the patch branch (e.g. `9.1.x`), then run: ```bash -yarn # Reload dependencies +rm -rf node_modules/ && yarn # Reload dependencies yarn admin publish --tag latest ``` If also publishing a prerelease, check out `master`, then run: ```bash -yarn # Reload dependencies +rm -rf node_modules/ && yarn # Reload dependencies yarn admin publish --tag next ``` @@ -170,7 +170,7 @@ run: **Make sure to update the NPM tag for the version you are releasing!** ```bash -yarn # Reload dependencies +rm -rf node_modules/ && yarn # Reload dependencies yarn admin publish --tag v8-lts ``` From 88f6717f2a8444673bc6daa2a1453846c1406139 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 23 Oct 2020 09:23:30 +0000 Subject: [PATCH 068/696] build: update jest-worker to version 26.6.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2213b137781f..4362338bed12 100644 --- a/package.json +++ b/package.json @@ -158,7 +158,7 @@ "jasmine": "^3.3.1", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~6.0.0", - "jest-worker": "26.5.0", + "jest-worker": "26.6.1", "jquery": "^3.3.1", "jsonc-parser": "2.3.1", "karma": "~5.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 147c1992f500..0936b46c9db6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -34,7 +34,7 @@ "find-cache-dir": "3.3.1", "glob": "7.1.6", "inquirer": "7.3.3", - "jest-worker": "26.5.0", + "jest-worker": "26.6.1", "karma-source-map-support": "1.4.0", "less": "3.12.2", "less-loader": "7.0.2", diff --git a/yarn.lock b/yarn.lock index 580fa9e24ce1..9c937dbfe3dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6891,7 +6891,16 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.5.0, jest-worker@^26.5.0: +jest-worker@26.6.1: + version "26.6.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.1.tgz#c2ae8cde6802cc14056043f997469ec170d9c32a" + integrity sha512-R5IE3qSGz+QynJx8y+ICEkdI2OJ3RJjRQVEyCcFAd3yVhQSEtquziPO29Mlzgn07LOVE8u8jhJ1FqcwegiXWOw== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^26.5.0: version "26.5.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug== From 648c3ef03f45d17de8d79347421d9f5a700f50e0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 23 Oct 2020 06:12:54 +0000 Subject: [PATCH 069/696] build: update terser to version 5.3.8 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 17 +++++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4362338bed12..64da2eea15f4 100644 --- a/package.json +++ b/package.json @@ -214,7 +214,7 @@ "symbol-observable": "2.0.3", "tar": "^6.0.0", "temp": "^0.9.0", - "terser": "5.3.7", + "terser": "5.3.8", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", "through2": "^4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0936b46c9db6..a3d3c897987c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -65,7 +65,7 @@ "style-loader": "2.0.0", "stylus": "0.54.8", "stylus-loader": "4.1.1", - "terser": "5.3.7", + "terser": "5.3.8", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", "tree-kill": "1.2.2", diff --git a/yarn.lock b/yarn.lock index 9c937dbfe3dd..97b1fd1fb285 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11796,10 +11796,10 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.7, terser@^5.0.0, terser@^5.3.4: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" - integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== +terser@5.3.8: + version "5.3.8" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.8.tgz#991ae8ba21a3d990579b54aa9af11586197a75dd" + integrity sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -11814,6 +11814,15 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.0.0, terser@^5.3.4: + version "5.3.7" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" + integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From 4996e5d8d042dc1705603241f733a363624fa11c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 23 Oct 2020 05:09:09 +0000 Subject: [PATCH 070/696] build: update mini-css-extract-plugin to version 1.1.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 64da2eea15f4..0ba971b57f5c 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.1", + "mini-css-extract-plugin": "1.1.2", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a3d3c897987c..01dc01490ef3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.0", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.1", + "mini-css-extract-plugin": "1.1.2", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 97b1fd1fb285..dd0c9a89f926 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7998,10 +7998,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.1.tgz#4ab9948b7be38cf3a730cb4c9a881eb7f62baadb" - integrity sha512-pzlnOi/lMkwIkdb7zoRQvbkW18AFCQffouSBpxy+e3pnKTKMC5IuMVHYndexKZmacfsOZS2LXCe8gIgkrC+yqg== +mini-css-extract-plugin@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.2.tgz#34877f631eb4bc8f9d99f0ade2ccacadb0317def" + integrity sha512-tIq578wiGzmo9Ll+JOgHPssV4eoMDTcj3MKkjPbzgooaakMklViJG1qbT0zcwoogUKKliFy/kKjUJaFb4DBHxQ== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From c2b0417c86bbc5fbc1be8ae3298a9f4c4f62c9f7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 23 Oct 2020 06:09:13 +0000 Subject: [PATCH 071/696] build: update sass-loader to version 10.0.4 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 0ba971b57f5c..ba2c10b7f84c 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,7 @@ "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.27.0", - "sass-loader": "10.0.3", + "sass-loader": "10.0.4", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", "source-map": "0.7.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 01dc01490ef3..aaade6a66b9e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -56,7 +56,7 @@ "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.27.0", - "sass-loader": "10.0.3", + "sass-loader": "10.0.4", "semver": "7.3.2", "source-map": "0.7.3", "source-map-loader": "1.1.1", diff --git a/yarn.lock b/yarn.lock index dd0c9a89f926..0b84c1927a87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10631,10 +10631,10 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.3.tgz#9e2f1bfdd6355f2adde4e4835d838b020bf800b0" - integrity sha512-W4+FV5oUdYy0PnC11ZoPrcAexODgDCa3ngxoy5X5qBhZYoPz9FPjb6Oox8Aa0ZYEyx34k8AQfOVuvqefOSAAUQ== +sass-loader@10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.4.tgz#ec7181096947d078d60a1d76d527f47c19b151d8" + integrity sha512-zhdZ8qvZM4iL5XjLVEjJLvKWvC+MB+hHgzL2x/Nf7UHpUNmPYsJvypW79bW39g4LZ603dH/dRSsRYzJJIljtdA== dependencies: klona "^2.0.4" loader-utils "^2.0.0" From e22c196c32278dee78f56088613de51bbf826131 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 23 Oct 2020 12:09:34 -0400 Subject: [PATCH 072/696] fix(@angular-devkit/build-angular): support emitting AVIF image files --- .../angular_devkit/build_angular/src/webpack/configs/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 3da304dbfbd9..2a3176517299 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -497,7 +497,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { strictExportPresence: true, rules: [ { - test: /\.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)$/, + test: /\.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani|avif)$/, loader: require.resolve('file-loader'), options: { name: `[name]${hashFormat.file}.[ext]`, From 58dfe228f0f6790e40717c4deb54a7e0790caaab Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 12:29:11 +0100 Subject: [PATCH 073/696] build: remove @types/jasminewd2 from repo devDependencies --- integration/angular_cli/e2e/tsconfig.json | 1 - integration/angular_cli/package.json | 1 - .../build_angular/test/hello-world-app/e2e/tsconfig.e2e.json | 1 - 3 files changed, 3 deletions(-) diff --git a/integration/angular_cli/e2e/tsconfig.json b/integration/angular_cli/e2e/tsconfig.json index c92199cfd63f..a82df00eef37 100644 --- a/integration/angular_cli/e2e/tsconfig.json +++ b/integration/angular_cli/e2e/tsconfig.json @@ -6,7 +6,6 @@ "target": "es2018", "types": [ "jasmine", - "jasminewd2", "node" ] } diff --git a/integration/angular_cli/package.json b/integration/angular_cli/package.json index 1e4c667b9ab6..bab0f9274257 100644 --- a/integration/angular_cli/package.json +++ b/integration/angular_cli/package.json @@ -30,7 +30,6 @@ "@angular/compiler-cli": "~9.1.1", "@types/node": "^12.11.1", "@types/jasmine": "~3.5.0", - "@types/jasminewd2": "~2.0.3", "codelyzer": "^5.1.2", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/tsconfig.e2e.json b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/tsconfig.e2e.json index c92199cfd63f..a82df00eef37 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/tsconfig.e2e.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/tsconfig.e2e.json @@ -6,7 +6,6 @@ "target": "es2018", "types": [ "jasmine", - "jasminewd2", "node" ] } From 15085fea47c2242faa1ccb035d2000312d6e0634 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 26 Oct 2020 07:10:23 +0000 Subject: [PATCH 074/696] build: update to version --- yarn.lock | 187 +++++++++++++++++++++++------------------------------- 1 file changed, 78 insertions(+), 109 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0b84c1927a87..cbee0e4e6768 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,9 +79,9 @@ integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== "@angular/core@^10.0.0-0 || ^11.0.0": - version "10.1.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.1.6.tgz#1e9e5abb7a412a92babf230ea385b32996574751" - integrity sha512-sUleQouCedT87VOCb49T7cm6La2VeJg1omtO5+QfjWmifNcQ/nqV56Zxov3RT7CmsVwVbkA0X5Q62oSEPAUXrw== + version "10.2.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.0.tgz#a5eac8b37ef5268f90e45e06b1a4d48ab55f31dc" + integrity sha512-pj+0cIDHMfeTFFrxbxM1qanSqhnA3ybCYMQm+Fs/WAPlLSvB6s/vVhq6tCdicHzd7/fujGXPcb8Hvtx+km8TqQ== dependencies: tslib "^2.0.0" @@ -1682,9 +1682,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>= 8": - version "14.11.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.10.tgz#8c102aba13bf5253f35146affbf8b26275069bef" - integrity sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA== + version "14.14.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.3.tgz#e1c09064121f894baaad2bd9f12ce4a41bffb274" + integrity sha512-33/L34xS7HVUx23e0wOT2V1qPF1IrHgQccdJVm9uXGTB9vFBrrzBtkQymT8VskeKOxjz55MSqMv0xuLq+u98WQ== "@types/node@10.12.30": version "10.12.30" @@ -1692,9 +1692,9 @@ integrity sha512-nsqTN6zUcm9xtdJiM9OvOJ5EF0kOI8f1Zuug27O/rgtxCRJHGqncSWfCMZUP852dCKPsDsYXGvBhxfRjDBkF5Q== "@types/node@^10.1.0": - version "10.17.40" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.40.tgz#8a50e47daff15fd4a89dc56f5221b3729e506be6" - integrity sha512-3hZT2z2/531A5pc8hYhn1gU5Qb1SIRSgMLQ6zuHA5xtt16lWAxUGprtr8lJuc9zNJMXEIIBWfSnzqBP/4mglpA== + version "10.17.42" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.42.tgz#90dd71b26fe4f4e2929df6b07e72ef2e9648a173" + integrity sha512-HElxYF7C/MSkuvlaHB2c+82zhXiuO49Cq056Dol8AQuTph7oJtduo2n6J8rFa+YhJyNgQ/Lm20ZaxqD0vxU0+Q== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1806,12 +1806,12 @@ integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== "@types/serve-static@*": - version "1.13.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.5.tgz#3d25d941a18415d3ab092def846e135a08bbcf53" - integrity sha512-6M64P58N+OXjU432WoLLBQxbA0LRGBCRm7aAGQJ+SMC1IMl0dgRVi9EFfoDcS2a7Xogygk/eGN94CfwU9UF7UQ== + version "1.13.6" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.6.tgz#866b1b8dec41c36e28c7be40ac725b88be43c5c1" + integrity sha512-nuRJmv7jW7VmCVTn+IgYDkkbbDGyIINOeu/G0d74X3lm6E5KfMeQPJhxIt1ayQeQB3cSxvYs1RA/wipYoFB4EA== dependencies: - "@types/express-serve-static-core" "*" "@types/mime" "*" + "@types/node" "*" "@types/source-list-map@*": version "0.1.2" @@ -1894,9 +1894,9 @@ source-map "^0.6.1" "@types/webpack@*", "@types/webpack@^4.41.22": - version "4.41.22" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.22.tgz#ff9758a17c6bd499e459b91e78539848c32d0731" - integrity sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ== + version "4.41.23" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.23.tgz#1925f42a7325be4ae0fce38329f1cc27768fcda7" + integrity sha512-ojA4CupZg8RCzVJLugWlvqrHpT59GWhqFxbinlsnvk10MjQCWB+ot7XDACctbWhnhtdhYK7+HOH1JxkVLiZhMg== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -2234,9 +2234,9 @@ agent-base@5: integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== agent-base@6: - version "6.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -2663,7 +2663,7 @@ base64-arraybuffer@0.1.5: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= -base64-js@^1.0.2, base64-js@^1.1.2: +base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== @@ -2997,12 +2997,12 @@ buffer@^4.3.0: isarray "^1.0.0" buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + version "5.6.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.1.tgz#b99419405f4290a7a1f20b51037cee9f1fbd7f6a" + integrity sha512-2z15UUHpS9/3tk9mY/q+Rl3rydOi7yMp5XWNQnRvoz+mJwiv8brqYwp9a+nOCtma6dwuEIxljD8W3ysVBZ05Vg== dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" + base64-js "^1.3.1" + ieee754 "^1.1.13" builtin-modules@^1.1.1: version "1.1.1" @@ -3229,9 +3229,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001148" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637" - integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw== + version "1.0.30001151" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz#1ddfde5e6fff02aad7940b4edb7d3ac76b0cb00b" + integrity sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw== canonical-path@1.0.0: version "1.0.0" @@ -3557,9 +3557,9 @@ commander@^2.11.0, commander@^2.12.1, commander@^2.20.0: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" - integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== + version "6.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== common-tags@^1.8.0: version "1.8.0" @@ -4695,9 +4695,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.571: - version "1.3.582" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" - integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww== + version "1.3.583" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.583.tgz#47a9fde74740b1205dba96db2e433132964ba3ee" + integrity sha512-L9BwLwJohjZW9mQESI79HRzhicPk1DFgM+8hOCfGgGCFEcA3Otpv7QK6SGtYoZvfQfE3wKLh0Hd5ptqUFv3gvQ== elliptic@^6.5.3: version "6.5.3" @@ -4852,7 +4852,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: +es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: version "1.17.7" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== @@ -6196,7 +6196,7 @@ icss-utils@^5.0.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.0.0.tgz#03ed56c3accd32f9caaf1752ebf64ef12347bb84" integrity sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg== -ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== @@ -6891,7 +6891,7 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.6.1: +jest-worker@26.6.1, jest-worker@^26.5.0: version "26.6.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.1.tgz#c2ae8cde6802cc14056043f997469ec170d9c32a" integrity sha512-R5IE3qSGz+QynJx8y+ICEkdI2OJ3RJjRQVEyCcFAd3yVhQSEtquziPO29Mlzgn07LOVE8u8jhJ1FqcwegiXWOw== @@ -6900,15 +6900,6 @@ jest-worker@26.6.1: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" - integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jquery@^3.3.1: version "3.5.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" @@ -8244,10 +8235,10 @@ nan@^2.12.1, nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== +nanoid@^3.1.15: + version "3.1.16" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz#b21f0a7d031196faf75314d7c65d36352beeef64" + integrity sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w== nanomatch@^1.2.9: version "1.2.13" @@ -8272,9 +8263,9 @@ napi-macros@~2.0.0: integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== native-request@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856" - integrity sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ== + version "1.0.8" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" + integrity sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag== ncp@~2.0.0: version "2.0.0" @@ -8297,9 +8288,9 @@ next-tick@~1.0.0: integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= ng-packagr@~11.0.0-next.0: - version "11.0.0-next.1" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.1.tgz#e7aa3eb319fb0868498f7bb357c3faf72f373720" - integrity sha512-sIF6U/f03PFyn7c0If1b+sa5dYuc/ZOb2UGrQAGUs+MXyqFAQXBQiXOzn2EwG9xoApGq7Qs2CwpkXmw9snB6OA== + version "11.0.0-next.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.2.tgz#a72ba00f716c212f5942a235107318188312c3e0" + integrity sha512-H1qJanpsAkI81qC1EGuiI6S8hh2YYYbFfdNxRj5mdpieZLyx/CUdAWfnjPFH9DjvJZ7nAEAHrv9nbvnJ0GfOFA== dependencies: "@rollup/plugin-commonjs" "^15.0.0" "@rollup/plugin-json" "^4.0.0" @@ -8394,9 +8385,9 @@ node-libs-browser@^2.2.1: vm-browserify "^1.0.1" node-releases@^1.1.61: - version "1.1.63" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" - integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== + version "1.1.64" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5" + integrity sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg== node-sass-tilde-importer@^1.0.0: version "1.0.2" @@ -8503,9 +8494,9 @@ npm-packlist@^1.1.12: npm-normalize-package-bin "^1.0.1" npm-packlist@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.2.tgz#a3045b52aefc37e7a5e86a55e6ca8cb1e909e25a" - integrity sha512-eByPaP+wsKai0BJX5pmb58d3mfR0zUATcnyuvSxIudTEn+swCPFLxh7srCmqB4hr7i9V24/DPjjq5b2qUtbgXQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da" + integrity sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw== dependencies: glob "^7.1.6" ignore-walk "^3.0.3" @@ -9703,13 +9694,13 @@ postcss@7.0.32: supports-color "^6.1.0" postcss@^8.1.1: - version "8.1.2" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.2.tgz#9731fcaa4f7b0bef47121821bdae9eeb609a324c" - integrity sha512-mToqEVFq8jF9TFhlIK4HhE34zknFJuNTgqtsr60vUvrWn+9TIYugCwiV1JZRxCuOrej2jjstun1bn4Bc7/1HkA== + version "8.1.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.4.tgz#356dfef367a70f3d04347f74560c85846e20e4c1" + integrity sha512-LfqcwgMq9LOd8pX7K2+r2HPitlIGC5p6PoZhVELlqhh2YGDVcXKpkCseqan73Hrdik6nBd2OvoDPUaP/oMj9hQ== dependencies: colorette "^1.2.1" line-column "^1.0.2" - nanoid "^3.1.12" + nanoid "^3.1.15" source-map "^0.6.1" prelude-ls@~1.1.2: @@ -10444,7 +10435,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.18.1: +resolve@1.18.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -10452,13 +10443,6 @@ resolve@1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" @@ -10566,20 +10550,13 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.32.1: +rollup@2.32.1, rollup@^2.8.0: version "2.32.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== optionalDependencies: fsevents "~2.1.2" -rollup@^2.8.0: - version "2.32.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.0.tgz#ac58c8e85782bea8aa2d440fc05aba345013582a" - integrity sha512-0FIG1jY88uhCP2yP4CfvtKEqPDRmsUwfY1kEOOM+DH/KOGATgaIFd/is1+fQOxsvh62ELzcFfKonwKWnHhrqmw== - optionalDependencies: - fsevents "~2.1.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -11093,9 +11070,9 @@ socks-proxy-agent@^5.0.0: socks "^2.3.3" socks@^2.3.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.4.4.tgz#f1a3382e7814ae28c97bb82a38bc1ac24b21cca2" - integrity sha512-7LmHN4IHj1Vpd/k8D872VGCHJ6yIVyeFkfIBExRmGPYQ/kdUkpdg9eKh9oOzYYYKQhuxavayJHTnmBG+EzluUA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.0.tgz#3a7c286db114f67864a4bd8b4207a91d1db3d6db" + integrity sha512-00OqQHp5SCbwm9ecOMJj9aQtMSjwi1uVuGQoxnpKCS50VKZcOZ8z11CTKypmR8sEy7nZimy/qXY7rYJYbRlXmA== dependencies: ip "^1.1.5" smart-buffer "^4.1.0" @@ -11492,20 +11469,20 @@ string-width@^4.1.0, string-width@^4.2.0: strip-ansi "^6.0.0" string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46" + integrity sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz#22d45da81015309cd0cdd79787e8919fc5c613e7" + integrity sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" @@ -11760,10 +11737,11 @@ tar@^6.0.0, tar@^6.0.1, tar@^6.0.2: yallist "^4.0.0" temp@^0.9.0: - version "0.9.1" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.1.tgz#2d666114fafa26966cd4065996d7ceedd4dd4697" - integrity sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA== + version "0.9.2" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.2.tgz#06728e6e4b847e3ea5579c69c44bcc3ee6a47100" + integrity sha512-KLVd6CXeUYsqmI/LBWDLg3bFkdZPg0Xr/Gn79GUuPNiISzp6v/EKUaCOrxqeH1w/wVNmrljyDRgKxhZV9JzyJA== dependencies: + mkdirp "^0.5.1" rimraf "~2.6.2" terser-webpack-plugin@4.2.3: @@ -11796,7 +11774,7 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.8: +terser@5.3.8, terser@^5.0.0, terser@^5.3.4: version "5.3.8" resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.8.tgz#991ae8ba21a3d990579b54aa9af11586197a75dd" integrity sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ== @@ -11814,15 +11792,6 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.0.0, terser@^5.3.4: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" - integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -12226,9 +12195,9 @@ ua-parser-js@0.7.22: integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q== uglify-js@^3.1.4: - version "3.11.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.3.tgz#b2f8c87826344f091ba48c417c499d6cba5d5786" - integrity sha512-wDRziHG94mNj2n3R864CvYw/+pc9y/RNImiTyrrf8BzgWn75JgFSwYvXrtZQMnMnOp/4UTrf3iCSQxSStPiByA== + version "3.11.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf" + integrity sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw== unbzip2-stream@^1.3.3: version "1.4.3" From ae899935f6cf030415df204c5c6a4df4975eea37 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:54:18 -0400 Subject: [PATCH 075/696] refactor(@angular-devkit/core): remove unneeded clean utility function use The reduce call can be used to directly filter undefined elements. --- packages/angular_devkit/core/src/json/schema/schema.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/core/src/json/schema/schema.ts b/packages/angular_devkit/core/src/json/schema/schema.ts index 13105df66ca0..fab3ff69e978 100644 --- a/packages/angular_devkit/core/src/json/schema/schema.ts +++ b/packages/angular_devkit/core/src/json/schema/schema.ts @@ -5,7 +5,6 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { clean } from '../../utils'; import { JsonObject, JsonValue, isJsonObject } from '../interface'; /** @@ -27,7 +26,11 @@ export function isJsonSchema(value: unknown): value is JsonSchema { * @param schemas All schemas to be merged. */ export function mergeSchemas(...schemas: (JsonSchema | undefined)[]): JsonSchema { - return clean(schemas).reduce((prev, curr) => { + return schemas.reduce((prev, curr) => { + if (curr === undefined) { + return prev; + } + if (prev === false || curr === false) { return false; } else if (prev === true) { @@ -45,5 +48,5 @@ export function mergeSchemas(...schemas: (JsonSchema | undefined)[]): JsonSchema } else { return { ...prev, allOf: [prev, curr] }; } - }, true as JsonSchema); + }, true); } From 3447709458161364b07a496a1b5a95c888a39dff Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:58:22 -0400 Subject: [PATCH 076/696] test(@angular-devkit/build-angular): remove sole NodeJsAsyncHost usage The `NodeJsAsyncHost` was only used in one location within a unit test and was not required to be used in that location. --- .../angular_devkit/build_angular/src/tslint/works_spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/tslint/works_spec.ts b/packages/angular_devkit/build_angular/src/tslint/works_spec.ts index 9b850eb32531..4206feb722be 100644 --- a/packages/angular_devkit/build_angular/src/tslint/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/tslint/works_spec.ts @@ -14,7 +14,7 @@ import { schema, workspaces, } from '@angular-devkit/core'; -import { NodeJsAsyncHost } from '@angular-devkit/core/node'; +import { NodeJsSyncHost } from '@angular-devkit/core/node'; import { workspaceRoot } from '../test-utils'; @@ -32,7 +32,7 @@ describe('Tslint Target', () => { const { workspace } = await workspaces.readWorkspace( normalize(workspaceRoot), - workspaces.createWorkspaceHost(new NodeJsAsyncHost()), + workspaces.createWorkspaceHost(new NodeJsSyncHost()), ); testArchitectHost = new TestingArchitectHost( From 2ece2e3a68eb9a0169c2a636dca2a3f8983f9c5e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Oct 2020 05:08:36 +0000 Subject: [PATCH 077/696] build: update @types/jasmine to version ~3.6.0 --- package.json | 2 +- .../schematics/schematics/schematic/files/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ba2c10b7f84c..3c24463388af 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@types/find-cache-dir": "^3.0.0", "@types/glob": "^7.1.1", "@types/inquirer": "^7.3.0", - "@types/jasmine": "~3.5.0", + "@types/jasmine": "~3.6.0", "@types/karma": "^5.0.0", "@types/license-checker-webpack-plugin": "^0.0.2", "@types/loader-utils": "^2.0.0", diff --git a/packages/schematics/schematics/schematic/files/package.json b/packages/schematics/schematics/schematic/files/package.json index 92df5b7d2f25..efb082e26556 100644 --- a/packages/schematics/schematics/schematic/files/package.json +++ b/packages/schematics/schematics/schematic/files/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^12.11.1", - "@types/jasmine": "~3.5.0", + "@types/jasmine": "~3.6.0", "jasmine": "^3.5.0" } } diff --git a/yarn.lock b/yarn.lock index cbee0e4e6768..6b7ee48ee597 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1613,10 +1613,10 @@ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== -"@types/jasmine@~3.5.0": - version "3.5.14" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.14.tgz#f41a14e8ffa939062a71cf9722e5ee7d4e1f94af" - integrity sha512-Fkgk536sHPqcOtd+Ow+WiUNuk0TSo/BntKkF8wSvcd6M2FvPjeXcUE6Oz/bwDZiUZEaXLslAgw00Q94Pnx6T4w== +"@types/jasmine@~3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.6.0.tgz#8064fdb6fe9cb92fe79d9d5e9eaff8d2d9a1251a" + integrity sha512-CPT4r0a63e5wpNj5ejMnconM7a+0Hdx6/APsyw8AQOHk0/Mxp3xYrym1ZabWJiYuQkgKB3MonYoN04mxtvAvRA== "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" From b8bc02d14a2e998bf98c3680def8dc4abbe6158d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 12:27:20 +0100 Subject: [PATCH 078/696] fix(@schematics/angular): update `@types/jasmine` to `~3.6.0` --- .../schematics/angular/workspace/files/package.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/workspace/files/package.json.template b/packages/schematics/angular/workspace/files/package.json.template index 9e7825f8bcb5..c203c22c86e9 100644 --- a/packages/schematics/angular/workspace/files/package.json.template +++ b/packages/schematics/angular/workspace/files/package.json.template @@ -25,7 +25,7 @@ "devDependencies": { "@angular/cli": "<%= '~' + version %>", "@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %> - "@types/jasmine": "~3.5.0",<% } %> + "@types/jasmine": "~3.6.0",<% } %> "@types/node": "^12.11.1",<% if (!minimal) { %> "codelyzer": "^6.0.0", "jasmine-core": "~3.6.0", From be0ed38f6268aa2e714e8825e52b4abb69e2b03b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Oct 2020 13:55:58 +0000 Subject: [PATCH 079/696] build: update license-webpack-plugin to version 2.3.1 --- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index aaade6a66b9e..72f68b6efccf 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -38,7 +38,7 @@ "karma-source-map-support": "1.4.0", "less": "3.12.2", "less-loader": "7.0.2", - "license-webpack-plugin": "2.3.0", + "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", "mini-css-extract-plugin": "1.1.2", "minimatch": "3.0.4", diff --git a/yarn.lock b/yarn.lock index 6b7ee48ee597..fa1733ee74c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7371,10 +7371,10 @@ license-checker@^25.0.0: spdx-satisfies "^4.0.0" treeify "^1.1.0" -license-webpack-plugin@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.0.tgz#c00f70d5725ba0408de208acb9e66612cc2eceda" - integrity sha512-JK/DXrtN6UeYQSgkg5q1+pgJ8aiKPL9tnz9Wzw+Ikkf+8mJxG56x6t8O+OH/tAeF/5NREnelTEMyFtbJNkjH4w== +license-webpack-plugin@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.1.tgz#08eddb2f776c7c64c02f308a00e017d6e824d0b6" + integrity sha512-yhqTmlYIEpZWA122lf6E0G8+rkn0AzoQ1OpzUKKs/lXUqG1plmGnwmkuuPlfggzJR5y6DLOdot/Tv00CC51CeQ== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" From cda94e9cfa96280b7d9b40a67a43ae5b4614789d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Oct 2020 05:12:15 +0000 Subject: [PATCH 080/696] build: update enhanced-resolve to version 5.3.1 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3c24463388af..2c64da5da3e6 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "css-loader": "5.0.0", "cssnano": "4.1.10", "debug": "^4.1.1", - "enhanced-resolve": "5.3.0", + "enhanced-resolve": "5.3.1", "express": "4.17.1", "fast-json-stable-stringify": "2.1.0", "file-loader": "6.1.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 70948805cad4..ab265a3bfc07 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/angular/angular-cli/tree/master/packages/@ngtools/webpack", "dependencies": { "@angular-devkit/core": "0.0.0", - "enhanced-resolve": "5.3.0", + "enhanced-resolve": "5.3.1", "webpack-sources": "2.0.1" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index fa1733ee74c4..b0c9ab2c679d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4801,10 +4801,10 @@ engine.io@~3.4.0: engine.io-parser "~2.2.0" ws "^7.1.2" -enhanced-resolve@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.3.0.tgz#14be504e14ad58e9821a311ea6a9037c716786d9" - integrity sha512-EENz3E701+77g0wfbOITeI8WLPNso2kQNMBIBEi/TH/BEa9YXtS01X7sIEk5XXsfFq1jNkhIpu08hBPH1TRLIQ== +enhanced-resolve@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz#3f988d0d7775bdc2d96ede321dc81f8249492f57" + integrity sha512-G1XD3MRGrGfNcf6Hg0LVZG7GIKcYkbfHa5QMxt1HDUTdYoXH0JR1xXyg+MaKLF73E9A27uWNVxvFivNRYeUB6w== dependencies: graceful-fs "^4.2.4" tapable "^2.0.0" From 013ffbd946474b817418685bb71083b4bfbf4802 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Oct 2020 06:08:35 +0000 Subject: [PATCH 081/696] build: update mini-css-extract-plugin to version 1.2.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2c64da5da3e6..43d2c8511a22 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.2", + "mini-css-extract-plugin": "1.2.0", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 72f68b6efccf..5108630a71b9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.1.2", + "mini-css-extract-plugin": "1.2.0", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index b0c9ab2c679d..85b10710a58a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7989,10 +7989,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.1.2.tgz#34877f631eb4bc8f9d99f0ade2ccacadb0317def" - integrity sha512-tIq578wiGzmo9Ll+JOgHPssV4eoMDTcj3MKkjPbzgooaakMklViJG1qbT0zcwoogUKKliFy/kKjUJaFb4DBHxQ== +mini-css-extract-plugin@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.0.tgz#f1bdfa7bb6f6a238bc327f813f204283ea33ee36" + integrity sha512-iBZokjaIjHvI4N0AURx5aPBawcmxB/d2NYikxZ4J57Lg5sDShUPyWvuSWl1dueI5oCs7nz8V7qtOCaLjB7AYPw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From 8fe5c2dbb488fb95efaf357bc14a4c85cf30d4b8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 26 Oct 2020 15:09:26 +0000 Subject: [PATCH 082/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 43d2c8511a22..83490f8bfb46 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-rc.0", "@angular/compiler-cli": "11.0.0-rc.0", "@angular/core": "11.0.0-rc.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295", "@angular/forms": "11.0.0-rc.0", "@angular/localize": "11.0.0-rc.0", "@angular/material": "10.2.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 59602e70cd72..a1e48bfabb93 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#4127ced1d5669f7308473a5967696e87cbdba0b4", - "@angular/cdk": "github:angular/cdk-builds#4fe5782297f264586bf2d206f463f67c096ccede", - "@angular/common": "github:angular/common-builds#7d0c55589c23f5c1ffe995d93e1b72ab54a8509b", - "@angular/compiler": "github:angular/compiler-builds#79bd6c8935848afe9b1a8b87028bd5282aeb6cf2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2add501c424f6edd359fd1140df202c7a12c16c4", - "@angular/core": "github:angular/core-builds#6a109163a36edace77b11e89bec39f65240adb78", - "@angular/forms": "github:angular/forms-builds#2f7a013203a68f5cac177f585bc8b62956aa89bb", - "@angular/language-service": "github:angular/language-service-builds#ddcdf9ce7d42888f95f3cbed54a8f8697bc8e545", - "@angular/localize": "github:angular/localize-builds#529f58d2ad42ead0653db46f7d9dfaa965345be6", - "@angular/material": "github:angular/material2-builds#7fb0b9eb55a5bd99ed35f20a6a6e9e8f8225462f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#92c4c4e94af9130949325a68dd4fedb9b0a7830f", - "@angular/platform-browser": "github:angular/platform-browser-builds#0780c2b7cf4d318a9ce9fda1400d2f813f7d61da", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a6ae156d8c3c1ade0926308b2eb9046191c09ebe", - "@angular/platform-server": "github:angular/platform-server-builds#c41341bc0cd969254ce69de1e2e8400e63e07770", - "@angular/router": "github:angular/router-builds#936272a2162c70e104a130013cb0f5448e7f995b" + "@angular/animations": "github:angular/animations-builds#b69eda78281db63a24ebcf0402165f71f9b0e794", + "@angular/cdk": "github:angular/cdk-builds#d46a41aa4b6e21ef05eac20d12930dbfb5dc7e04", + "@angular/common": "github:angular/common-builds#ba6b83984e6d031c172cba8ad5cc29199dfefa78", + "@angular/compiler": "github:angular/compiler-builds#cea1be208aff651b5296341dcdf89966456e3e81", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#1d80e10c2811572d9ce639905c8e59ed978d9d89", + "@angular/core": "github:angular/core-builds#a3a5896587a884390c3708405c0ec472e8cb506f", + "@angular/forms": "github:angular/forms-builds#c02929363f1b35daaeab3e5ee16522800292539b", + "@angular/language-service": "github:angular/language-service-builds#e12571604744f560aec044da8b2ff1313fb7aa5e", + "@angular/localize": "github:angular/localize-builds#676c6274df0efb79b6159701ac2d807bb289800e", + "@angular/material": "github:angular/material2-builds#b1f81c776449c9c2a84a07af5096f1adea1acb98", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#cfa6e767eb0e7c327597ae0c03af2cd5c874bca4", + "@angular/platform-browser": "github:angular/platform-browser-builds#ecfc1103cd3070b750d7c55154d3341d5a68f4fd", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3d6778d47df776a5bdab8ee9b92db82954f3b82a", + "@angular/platform-server": "github:angular/platform-server-builds#545c60ce6dc1ff718ff142e6e4543b39a3842dca", + "@angular/router": "github:angular/router-builds#3caddd226cf30d22361db5d95b0c00a38350f187" } } diff --git a/yarn.lock b/yarn.lock index 85b10710a58a..8ed0ef6bcf1c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e" + resolved "https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From f6d9028f8b088e1e4aca80c73c455c61b97400a5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 23 Oct 2020 15:28:27 -0400 Subject: [PATCH 083/696] fix(@angular-devkit/build-angular): skip application emit during i18n extraction The application output files are not needed during an extraction. Previously the files were emitted to a memory file system and discarded. This change removes the processing overhead of emitting the files. It also provides Webpack 5 support due to the internal memory file system no longer being exported. --- .../angular_devkit/build_angular/src/extract-i18n/index.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts index 71a59633ba32..1c5445cb510d 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts @@ -68,10 +68,9 @@ async function getSerializer(format: Format, sourceLocale: string, basePath: str } } -class InMemoryOutputPlugin { +class NoEmitPlugin { apply(compiler: webpack.Compiler): void { - // tslint:disable-next-line:no-any - compiler.outputFileSystem = new (webpack as any).MemoryOutputFileSystem(); + compiler.hooks.shouldEmit.tap('angular-no-emit', () => false); } } @@ -172,7 +171,7 @@ export async function execute( } const partials = [ - { plugins: [new InMemoryOutputPlugin()] }, + { plugins: [new NoEmitPlugin()] }, getCommonConfig(wco), // Only use VE extraction if not using Ivy getAotConfig(wco, !usingIvy), From c71e1691b9d6302e50388cb404ca8e053d0d7f6c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 12:45:20 +0100 Subject: [PATCH 084/696] build: update puppeteer to 5.4.0 --- package.json | 2 +- .../build_angular/src/dev-server/hmr_spec.ts | 2 +- yarn.lock | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 83490f8bfb46..75f0b706d3c0 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "postcss-loader": "4.0.4", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "5.3.1", + "puppeteer": "5.4.0", "quicktype-core": "^6.0.15", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", diff --git a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts index a4215a6b180c..dde03b3d962e 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts @@ -7,9 +7,9 @@ */ import { Architect, BuilderRun } from '@angular-devkit/architect'; // tslint:disable: no-implicit-dependencies -import puppeteer from 'puppeteer/lib/cjs/puppeteer'; import { Browser } from 'puppeteer/lib/cjs/puppeteer/common/Browser'; import { Page } from 'puppeteer/lib/cjs/puppeteer/common/Page'; +import puppeteer from 'puppeteer/lib/cjs/puppeteer/node'; // tslint:enable: no-implicit-dependencies import { debounceTime, switchMap, take } from 'rxjs/operators'; import { createArchitect, host } from '../test-utils'; diff --git a/yarn.lock b/yarn.lock index 8ed0ef6bcf1c..027e2f8d59e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4516,10 +4516,10 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -devtools-protocol@0.0.799653: - version "0.0.799653" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.799653.tgz#86fc95ce5bf4fdf4b77a58047ba9d2301078f119" - integrity sha512-t1CcaZbvm8pOlikqrsIM9GOa7Ipp07+4h/q9u0JXBWjPCjHdBl9KkddX87Vv9vBHoBGtwV79sYQNGnQM6iS5gg== +devtools-protocol@0.0.809251: + version "0.0.809251" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.809251.tgz#300b3366be107d5c46114ecb85274173e3999518" + integrity sha512-pf+2OY6ghMDPjKkzSWxHMq+McD+9Ojmq5XVRYpv/kPd9sTMQxzEt21592a31API8qRjro0iYYOc3ag46qF/1FA== dezalgo@^1.0.0: version "1.0.3" @@ -9889,15 +9889,16 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.3.1.tgz#324e190d89f25ac33dba539f57b82a18553f8646" - integrity sha512-YTM1RaBeYrj6n7IlRXRYLqJHF+GM7tasbvrNFx6w1S16G76NrPq7oYFKLDO+BQsXNtS8kW2GxWCXjIMPvfDyaQ== +puppeteer@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.4.0.tgz#b83893476e96ea103c9516bb958d17a71a9768ea" + integrity sha512-LgTqVW2ClEP4XGAT64FLQ0QWVhdNSRwJp9HfMFVfoJlZHGQu3HUbuBhR1hBow3DXZH1K3b/WfHxt1n8hr2uayw== dependencies: debug "^4.1.0" - devtools-protocol "0.0.799653" + devtools-protocol "0.0.809251" extract-zip "^2.0.0" https-proxy-agent "^4.0.0" + node-fetch "^2.6.1" pkg-dir "^4.2.0" progress "^2.0.1" proxy-from-env "^1.0.0" From e4fabad8fa158f3e521e9fd4f1327b18f8416cbb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 12:46:13 +0100 Subject: [PATCH 085/696] build: remove `match-default-export-name` tslint rule --- tslint.json | 1 - 1 file changed, 1 deletion(-) diff --git a/tslint.json b/tslint.json index 43991acec74a..9128c2c04b24 100644 --- a/tslint.json +++ b/tslint.json @@ -80,7 +80,6 @@ ], "eofline": true, "import-spacing": true, - "match-default-export-name": true, "newline-before-return": true, "no-consecutive-blank-lines": [true, 2], "no-duplicate-variable": true, From d7d92bfc1ae2eaad0fa45afb90ebb69c9985400f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 13:04:55 +0100 Subject: [PATCH 086/696] ci: update ChromeDriver to 87.0.4280.20 --- integration/angular_cli/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration/angular_cli/package.json b/integration/angular_cli/package.json index bab0f9274257..65e1f995de88 100644 --- a/integration/angular_cli/package.json +++ b/integration/angular_cli/package.json @@ -8,7 +8,7 @@ "test": "ng test", "lint": "ng lint", "e2e": "ng e2e --prod", - "postinstall": "webdriver-manager update --standalone false --gecko false --versions.chrome 85.0.4183.38" + "postinstall": "webdriver-manager update --standalone false --gecko false --versions.chrome 87.0.4280.20" }, "private": true, "dependencies": { diff --git a/package.json b/package.json index 75f0b706d3c0..b0ff41548f4c 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "preinstall": "node ./tools/yarn/check-yarn.js", "postinstall": "yarn webdriver-update && yarn ngcc", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 85.0.4183.38", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 87.0.4280.20", "ngcc": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points" }, "repository": { From a75478a45bf2988c70ea1dde071563fc72c8b07f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 13:30:20 +0100 Subject: [PATCH 087/696] docs(@angular-devkit/build-angular): remove `="true"` from prod flag in ng build documentation --- packages/angular/cli/commands/build-long.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/commands/build-long.md b/packages/angular/cli/commands/build-long.md index 4e10498f4cd5..a28a5f56d532 100644 --- a/packages/angular/cli/commands/build-long.md +++ b/packages/angular/cli/commands/build-long.md @@ -3,7 +3,7 @@ When used to build a library, a different builder is invoked, and only the `ts-c All other options apply only to building applications. The application builder uses the [webpack](https://webpack.js.org/) build tool, with default configuration options specified in the workspace configuration file (`angular.json`) or with a named alternative configuration. -A "production" configuration is created by default when you use the CLI to create the project, and you can use that configuration by specifying the `--configuration="production"` or the `--prod="true"` option. +A "production" configuration is created by default when you use the CLI to create the project, and you can use that configuration by specifying the `--configuration="production"` or the `--prod` option. The configuration options generally correspond to the command options. You can override individual configuration defaults by specifying the corresponding options on the command line. From 04cbfa57ba03c7fc76bd3d540ef14fa4786706e9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 08:39:15 +0100 Subject: [PATCH 088/696] build: revert @angular/dev-infra-private package to bb9763f15077a4cb279ba0e210d337e2fde4be0e Temp workaround to solve the CI validation error ``` /home/circleci/ng/node_modules/.bin/ng-dev commit-message validate-range --range f6d9028f8b088e1e4aca80c73c455c61b97400a5...fa4e13adf1a4e30048ef541d6af7c6fc5d0b1683 /home/circleci/ng/node_modules/.bin/ng-dev: 1: Syntax error: word unexpected (expecting ")") ``` Will properly be resolved via https://github.com/angular/angular/pull/39443 --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index b0ff41548f4c..60410bcf52f4 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-rc.0", "@angular/compiler-cli": "11.0.0-rc.0", "@angular/core": "11.0.0-rc.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e", "@angular/forms": "11.0.0-rc.0", "@angular/localize": "11.0.0-rc.0", "@angular/material": "10.2.5", diff --git a/yarn.lock b/yarn.lock index 027e2f8d59e7..a67a7e54aab6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#f920e544255f1f6b36507f525db9020b5f591295" + resolved "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 74783b919b1cf7f2a43d2c63c4948c5be50b9766 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 27 Oct 2020 05:13:01 +0000 Subject: [PATCH 089/696] build: update typescript to version 4.0.5 --- package.json | 2 +- packages/angular_devkit/build_optimizer/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 60410bcf52f4..2f8278cffd89 100644 --- a/package.json +++ b/package.json @@ -225,7 +225,7 @@ "tslint": "^6.1.3", "tslint-no-circular-imports": "^0.7.0", "tslint-sonarts": "1.9.0", - "typescript": "4.0.3", + "typescript": "4.0.5", "verdaccio": "4.8.1", "verdaccio-auth-memory": "^9.7.2", "webpack": "4.44.2", diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json index 6bce88d48955..1e0fa11b7f15 100644 --- a/packages/angular_devkit/build_optimizer/package.json +++ b/packages/angular_devkit/build_optimizer/package.json @@ -12,7 +12,7 @@ "loader-utils": "2.0.0", "source-map": "0.7.3", "tslib": "2.0.3", - "typescript": "4.0.3", + "typescript": "4.0.5", "webpack-sources": "2.0.1" } } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index ab265a3bfc07..0dbb4021076c 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -33,7 +33,7 @@ "devDependencies": { "@angular/compiler": "11.0.0-rc.0", "@angular/compiler-cli": "11.0.0-rc.0", - "typescript": "4.0.3", + "typescript": "4.0.5", "webpack": "4.44.2" } } diff --git a/yarn.lock b/yarn.lock index a67a7e54aab6..d7571e9c694a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12185,7 +12185,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.0.3, typescript@~4.0.2: +typescript@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" + integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== + +typescript@~4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== From 224fbc8d33d3661ee0284e0222a0599c37788f08 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 09:04:42 +0100 Subject: [PATCH 090/696] refactor(@schematics/update): remove "all" logic which is no longer used --- packages/schematics/update/update/index.ts | 33 +----- .../schematics/update/update/index_spec.ts | 107 +----------------- packages/schematics/update/update/schema.json | 5 - 3 files changed, 7 insertions(+), 138 deletions(-) diff --git a/packages/schematics/update/update/index.ts b/packages/schematics/update/update/index.ts index ccb115698603..2162c500120c 100644 --- a/packages/schematics/update/update/index.ts +++ b/packages/schematics/update/update/index.ts @@ -635,7 +635,7 @@ function _buildPackageList( const commandLinePackages = (options.packages && options.packages.length > 0) ? options.packages - : (options.all ? projectDeps.keys() : []); + : []; for (const pkg of commandLinePackages) { // Split the version asked on command line. @@ -653,26 +653,6 @@ function _buildPackageList( continue; } - // Verify that people have an actual version in the package.json, otherwise (label or URL or - // gist or ...) we don't update it. - if ( - version.startsWith('http:') // HTTP - || version.startsWith('file:') // Local folder - || version.startsWith('git:') // GIT url - || version.match(/^\w{1,100}\/\w{1,100}/) // GitHub's "user/repo" - || version.match(/^(?:\.{0,2}\/)\w{1,100}/) // Local folder, maybe relative. - ) { - // We only do that for --all. Otherwise we have the installed version and the user specified - // it on the command line. - if (options.all) { - logger.warn( - `Package ${JSON.stringify(npmName)} has a custom version: ` - + `${JSON.stringify(version)}. Skipping.`, - ); - continue; - } - } - packages.set(npmName, (maybeVersion || (options.next ? 'next' : 'latest')) as VersionRange); } @@ -891,14 +871,9 @@ export default function(options: UpdateSchema): Rule { // private one, but it's rare enough. if (!npmPackageJson.name) { if (npmPackageJson.requestedName && packages.has(npmPackageJson.requestedName)) { - if (options.all) { - logger.warn(`Package ${JSON.stringify(npmPackageJson.requestedName)} was not ` - + 'found on the registry. Skipping.'); - } else { - throw new SchematicsException( - `Package ${JSON.stringify(npmPackageJson.requestedName)} was not found on the ` - + 'registry. Cannot continue as this may be an error.'); - } + throw new SchematicsException( + `Package ${JSON.stringify(npmPackageJson.requestedName)} was not found on the ` + + 'registry. Cannot continue as this may be an error.'); } } else { // If a name is present, it is assumed to be fully populated diff --git a/packages/schematics/update/update/index_spec.ts b/packages/schematics/update/update/index_spec.ts index dcbe57590025..205c5238369b 100644 --- a/packages/schematics/update/update/index_spec.ts +++ b/packages/schematics/update/update/index_spec.ts @@ -8,10 +8,9 @@ // tslint:disable:no-big-function import { normalize, virtualFs } from '@angular-devkit/core'; -import { HostTree, SchematicsException } from '@angular-devkit/schematics'; +import { HostTree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { EMPTY } from 'rxjs'; // tslint:disable-line: no-implicit-dependencies -import { catchError, map } from 'rxjs/operators'; // tslint:disable-line: no-implicit-dependencies +import { map } from 'rxjs/operators'; // tslint:disable-line: no-implicit-dependencies import * as semver from 'semver'; import { angularMajorCompatGuarantee } from './index'; @@ -54,28 +53,6 @@ describe('@schematics/update', () => { appTree = new UnitTestTree(new HostTree(host)); }); - it('updates package.json', done => { - // Since we cannot run tasks in unit tests, we need to validate that the default - // update schematic updates the package.json appropriately, AND validate that the - // migrate schematic actually do work appropriately, in a separate test. - schematicRunner.runSchematicAsync('update', { all: true }, appTree).pipe( - map(tree => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe('1.1.0'); - - // Check install task. - expect(schematicRunner.tasks).toEqual([ - { - name: 'node-package', - options: jasmine.objectContaining({ - command: 'install', - }), - }, - ]); - }), - ).toPromise().then(done, done.fail); - }, 45000); - it('ignores dependencies not hosted on the NPM registry', done => { const tree = new UnitTestTree(new HostTree(new virtualFs.test.TestHost({ '/package.json': `{ @@ -86,7 +63,7 @@ describe('@schematics/update', () => { }`, }))); - schematicRunner.runSchematicAsync('update', { all: true }, tree).pipe( + schematicRunner.runSchematicAsync('update', undefined, tree).pipe( map(t => { const packageJson = JSON.parse(t.readContent('/package.json')); expect(packageJson['dependencies']['@angular-devkit-tests/update-base']) @@ -95,84 +72,6 @@ describe('@schematics/update', () => { ).toPromise().then(done, done.fail); }, 45000); - it('emits SchematicsException when given an invalid dependency', done => { - const tree = new UnitTestTree(new HostTree(new virtualFs.test.TestHost({ - '/package.json': `{ - "name": "blah", - "dependencies": { - "//": "'abc://' is not a valid protocol for NPM.", - "@angular-devkit-tests/update-base": "abc://foo.tgz" - } - }`, - }))); - - schematicRunner.runSchematicAsync('update', { all: true }, tree).pipe( - catchError(err => { - expect(err instanceof SchematicsException).toBe(true); - - return EMPTY; - }), - ).toPromise().then(done, done.fail); - }); - - it('respects existing tilde and caret ranges', done => { - // Add ranges. - const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); - const packageJson = JSON.parse(content); - packageJson['dependencies']['@angular-devkit-tests/update-base'] = '^1.0.0'; - packageJson['dependencies']['@angular-devkit-tests/update-migrations'] = '~1.0.0'; - host.sync.write( - normalize('/package.json'), - virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), - ); - - schematicRunner.runSchematicAsync('update', { all: true }, appTree).pipe( - map(tree => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - // This one should not change because 1.1.0 was already satisfied by ^1.0.0. - expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe('^1.0.0'); - expect(packageJson['dependencies']['@angular-devkit-tests/update-migrations']) - .toBe('~1.6.0'); - }), - ).toPromise().then(done, done.fail); - }, 45000); - - it('calls migration tasks', done => { - // Add the basic migration package. - const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); - const packageJson = JSON.parse(content); - packageJson['dependencies']['@angular-devkit-tests/update-migrations'] = '1.0.0'; - host.sync.write( - normalize('/package.json'), - virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), - ); - - schematicRunner.runSchematicAsync('update', { all: true }, appTree).pipe( - map(tree => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe('1.1.0'); - expect(packageJson['dependencies']['@angular-devkit-tests/update-migrations']) - .toBe('1.6.0'); - - // Check install task. - expect(schematicRunner.tasks).toEqual([ - { - name: 'node-package', - options: jasmine.objectContaining({ - command: 'install', - }), - }, - { - name: 'run-schematic', - options: jasmine.objectContaining({ - name: 'migrate', - }), - }, - ]); - }), - ).toPromise().then(done, done.fail); - }, 45000); - it('updates Angular as compatible with Angular N-1', done => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); diff --git a/packages/schematics/update/update/schema.json b/packages/schematics/update/update/schema.json index 97515d27746d..2f3a97d3802b 100644 --- a/packages/schematics/update/update/schema.json +++ b/packages/schematics/update/update/schema.json @@ -19,11 +19,6 @@ "default": false, "type": "boolean" }, - "all": { - "description": "When true, update all packages in `package.json`.", - "default": false, - "type": "boolean" - }, "next": { "description": "Update to the latest version, including beta and RCs.", "default": false, From 661c0f248f9f21edf41d9a5de9050eb2cee335d5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Oct 2020 19:12:47 +0100 Subject: [PATCH 091/696] fix(@angular-devkit/build-angular): correctly index and remove webpack client script in non main chunk Closes #19219 --- .../angular_devkit/build_angular/src/dev-server/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 57ab7f420105..13b7357bf02c 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -168,10 +168,10 @@ export function serveWebpackBrowser( continue; } - for (let index = 0; index < value.length; index++) { - if (value[index].includes('webpack-dev-server/client/index.js')) { - config.entry[key] = value.splice(index + 1, 1); - } + const webpackClientScriptIndex = value.findIndex(x => x.includes('webpack-dev-server/client/index.js')); + if (webpackClientScriptIndex >= 0) { + // Remove the webpack-dev-server/client script from array. + value.splice(webpackClientScriptIndex, 1); } } } From b45a2adba5eb7baadbfb828f577a03dfd153656d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 10:35:07 +0100 Subject: [PATCH 092/696] fix(@angular-devkit/build-angular): when optimizing don't wrap function arguments in parenthesis With this change function and arrow function arguments are not wrapped in parenthesis during the optimization phase. `wrap_func_args` which is enabled by default in terser will wrap function arguments in parenthesis. Recently this was also changed to wrap lamdas as well: https://github.com/terser/terser/commit/66c3a5ce66c7873bded8c6466e72027f9816c548 An increase in bundle size was observed without this change. See: https://github.com/angular/angular/pull/39432#discussion_r512345752 --- .../angular_devkit/build_angular/src/utils/process-bundle.ts | 1 + .../angular_devkit/build_angular/src/webpack/configs/common.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index c806b9fa351b..59852ff7f442 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -400,6 +400,7 @@ async function terserMangle( ascii_only: true, webkit: true, beautify: shouldBeautify, + wrap_func_args: false, }, sourceMap: !!options.map && diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 2a3176517299..fe46a08139a0 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -388,6 +388,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { comments: !buildOptions.extractLicenses && undefined, webkit: true, beautify: shouldBeautify, + wrap_func_args: false, }, // On server, we don't want to compress anything. We still set the ngDevMode = false for it // to remove dev code, and ngI18nClosureMode to remove Closure compiler i18n code From 1f5861c93750a42ecb9308a814689e3c30d142d6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 26 Oct 2020 22:22:26 -0400 Subject: [PATCH 093/696] fix(@angular-devkit/build-optimizer): set rxjs as having safe side effects The rxjs package contains module level side effects that are not marked with a pure annotation. However, these side effects are safe to remove if the values are unused. --- .../build_optimizer/src/build-optimizer/build-optimizer.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts index 209f409c345e..65b93f2731ea 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts @@ -37,6 +37,7 @@ const knownSideEffectFreeAngularModules = [ /[\\/]node_modules[\\/]@angular[\\/]upgrade[\\/]/, /[\\/]node_modules[\\/]@angular[\\/]material[\\/]/, /[\\/]node_modules[\\/]@angular[\\/]cdk[\\/]/, + /[\\/]node_modules[\\/]rxjs[\\/]/, ]; // Factories created by AOT are known to have no side effects. From 7e25cedd4b0a7f38de5d46dc4cbbecfd8da524a8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 5 Oct 2020 10:11:47 +0200 Subject: [PATCH 094/696] refactor(@schematics/angular): move version 6 migration untils under the migration folder --- .../angular/{utility => migrations/update-6}/config.ts | 2 +- packages/schematics/angular/migrations/update-6/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename packages/schematics/angular/{utility => migrations/update-6}/config.ts (99%) diff --git a/packages/schematics/angular/utility/config.ts b/packages/schematics/angular/migrations/update-6/config.ts similarity index 99% rename from packages/schematics/angular/utility/config.ts rename to packages/schematics/angular/migrations/update-6/config.ts index 73dede188465..370354365c15 100644 --- a/packages/schematics/angular/utility/config.ts +++ b/packages/schematics/angular/migrations/update-6/config.ts @@ -7,7 +7,7 @@ */ import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicsException, Tree } from '@angular-devkit/schematics'; -import { WorkspaceSchema } from './workspace-models'; +import { WorkspaceSchema } from '../../utility/workspace-models'; // The interfaces below are generated from the Angular CLI configuration schema // https://github.com/angular/angular-cli/blob/master/packages/@angular/cli/lib/config/schema.json diff --git a/packages/schematics/angular/migrations/update-6/index.ts b/packages/schematics/angular/migrations/update-6/index.ts index 0a7ba545db1c..2bbbfd8c62af 100644 --- a/packages/schematics/angular/migrations/update-6/index.ts +++ b/packages/schematics/angular/migrations/update-6/index.ts @@ -24,7 +24,6 @@ import { chain, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; -import { AppConfig, CliConfig } from '../../utility/config'; import { NodeDependency, NodeDependencyType, @@ -32,6 +31,7 @@ import { } from '../../utility/dependencies'; import { JSONFile } from '../../utility/json-file'; import { latestVersions } from '../../utility/latest-versions'; +import { AppConfig, CliConfig } from './config'; const defaults = { appRoot: 'src', From 5ebb100877d7d73da4379e244371194190f818fa Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 5 Oct 2020 10:12:21 +0200 Subject: [PATCH 095/696] refactor(@schematics/angular): remove unused schematic utils --- .../angular/migrations/update-6/config.ts | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/packages/schematics/angular/migrations/update-6/config.ts b/packages/schematics/angular/migrations/update-6/config.ts index 370354365c15..c4d16d0ce0fa 100644 --- a/packages/schematics/angular/migrations/update-6/config.ts +++ b/packages/schematics/angular/migrations/update-6/config.ts @@ -5,9 +5,6 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; -import { SchematicsException, Tree } from '@angular-devkit/schematics'; -import { WorkspaceSchema } from '../../utility/workspace-models'; // The interfaces below are generated from the Angular CLI configuration schema // https://github.com/angular/angular-cli/blob/master/packages/@angular/cli/lib/config/schema.json @@ -458,21 +455,3 @@ export interface CliConfig { versionMismatch?: boolean; }; } - -export function getWorkspacePath(host: Tree): string { - const possibleFiles = [ '/angular.json', '/.angular.json' ]; - const path = possibleFiles.filter(path => host.exists(path))[0]; - - return path; -} - -export function getWorkspace(host: Tree): WorkspaceSchema { - const path = getWorkspacePath(host); - const configBuffer = host.read(path); - if (configBuffer === null) { - throw new SchematicsException(`Could not find (${path})`); - } - const content = configBuffer.toString(); - - return parseJson(content, JsonParseMode.Loose) as {} as WorkspaceSchema; -} From 0bddd09643e4ce72452627e5d5d08423c0ed814d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 11:01:48 +0100 Subject: [PATCH 096/696] test(@angular-devkit/build-angular): use `next` @angular/material` packages when testing is pre-release version --- .../legacy-cli/e2e/tests/build/styles/material-import.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts b/tests/legacy-cli/e2e/tests/build/styles/material-import.ts index bbdf53c52a6d..d26de1206084 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/material-import.ts @@ -6,7 +6,7 @@ import { } from '../../../utils/fs'; import { installWorkspacePackages } from '../../../utils/packages'; import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; +import { isPrereleaseCli, updateJsonFile } from '../../../utils/project'; const snapshots = require('../../../ng-snapshot/package.json'); @@ -14,10 +14,12 @@ export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; + const tag = await isPrereleaseCli() ? 'next' : 'latest'; + await updateJsonFile('package.json', packageJson => { const dependencies = packageJson['dependencies']; - dependencies['@angular/material'] = isSnapshotBuild ? snapshots.dependencies['@angular/material'] : 'latest'; - dependencies['@angular/cdk'] = isSnapshotBuild ? snapshots.dependencies['@angular/cdk'] : 'latest'; + dependencies['@angular/material'] = isSnapshotBuild ? snapshots.dependencies['@angular/material'] : tag; + dependencies['@angular/cdk'] = isSnapshotBuild ? snapshots.dependencies['@angular/cdk'] : tag; }); await installWorkspacePackages(); From d0819745088333e6972960e0c432b45965734ef3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 11:53:07 +0100 Subject: [PATCH 097/696] test(@angular/cli): extract version specifier e2e test --- .../e2e/tests/commands/add/add-material.ts | 20 ---------- .../e2e/tests/commands/add/add-pwa.ts | 22 +++++------ .../tests/commands/add/version-specifier.ts | 37 +++++++++++++++++++ 3 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 1305b586ba23..4f289095de13 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -21,27 +21,7 @@ export default async function () { await ng('add', `@angular/material${tag}`, '--theme', 'custom', '--verbose'); await expectFileToMatch('package.json', /@angular\/material/); - const output1 = await ng('add', '@angular/material'); - if (!output1.stdout.includes('Skipping installation: Package already installed')) { - throw new Error('Installation was not skipped'); - } - // Clean up existing cdk package // Not doing so can cause adding material to fail if an incompatible cdk is present await uninstallPackage('@angular/cdk'); - - const output2 = await ng('add', '@angular/material@latest'); - if (output2.stdout.includes('Skipping installation: Package already installed')) { - throw new Error('Installation should not have been skipped'); - } - - const output3 = await ng('add', '@angular/material@8.0.0'); - if (output3.stdout.includes('Skipping installation: Package already installed')) { - throw new Error('Installation should not have been skipped'); - } - - const output4 = await ng('add', '@angular/material@8'); - if (!output4.stdout.includes('Skipping installation: Package already installed')) { - throw new Error('Installation was not skipped'); - } } diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts b/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts index e4737cd71c36..416711c52d69 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts @@ -3,16 +3,16 @@ import { expectFileToExist, readFile, rimraf } from '../../../utils/fs'; import { ng } from '../../../utils/process'; export default async function () { - // forcibly remove in case another test doesn't clean itself up - await rimraf('node_modules/@angular/pwa'); - await ng('add', '@angular/pwa'); - await expectFileToExist(join(process.cwd(), 'src/manifest.webmanifest')); + // forcibly remove in case another test doesn't clean itself up + await rimraf('node_modules/@angular/pwa'); + await ng('add', '@angular/pwa'); + await expectFileToExist(join(process.cwd(), 'src/manifest.webmanifest')); - // Angular PWA doesn't install as a dependency - const { dependencies, devDependencies } = JSON.parse(await readFile(join(process.cwd(), 'package.json'))); - const hasPWADep = Object.keys({ ...dependencies, ...devDependencies }) - .some(d => d === '@angular/pwa'); - if (hasPWADep) { - throw new Error(`Expected 'package.json' not to contain a dependency on '@angular/pwa'.`); - } + // Angular PWA doesn't install as a dependency + const { dependencies, devDependencies } = JSON.parse(await readFile(join(process.cwd(), 'package.json'))); + const hasPWADep = Object.keys({ ...dependencies, ...devDependencies }) + .some(d => d === '@angular/pwa'); + if (hasPWADep) { + throw new Error(`Expected 'package.json' not to contain a dependency on '@angular/pwa'.`); + } } diff --git a/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts new file mode 100644 index 000000000000..df4903d3c29d --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts @@ -0,0 +1,37 @@ +import { expectFileToMatch, rimraf } from '../../../utils/fs'; +import { uninstallPackage } from '../../../utils/packages'; +import { ng } from '../../../utils/process'; +import { isPrereleaseCli } from '../../../utils/project'; + + +export default async function () { + // forcibly remove in case another test doesn't clean itself up. + await rimraf('node_modules/@angular/localize'); + + const tag = await isPrereleaseCli() ? '@next' : ''; + + await ng('add', `@angular/localize${tag}`); + await expectFileToMatch('package.json', /@angular\/localize/); + + const output1 = await ng('add', '@angular/localize'); + if (!output1.stdout.includes('Skipping installation: Package already installed')) { + throw new Error('Installation was not skipped'); + } + + const output2 = await ng('add', '@angular/localize@latest'); + if (output2.stdout.includes('Skipping installation: Package already installed')) { + throw new Error('Installation should not have been skipped'); + } + + const output3 = await ng('add', '@angular/localize@10.0.0'); + if (output3.stdout.includes('Skipping installation: Package already installed')) { + throw new Error('Installation should not have been skipped'); + } + + const output4 = await ng('add', '@angular/localize@10'); + if (!output4.stdout.includes('Skipping installation: Package already installed')) { + throw new Error('Installation was not skipped'); + } + + await uninstallPackage('@angular/localize'); +} From 0491717704428b25de32f76a4616e0c8d76a2965 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Tue, 27 Oct 2020 14:32:54 +0000 Subject: [PATCH 098/696] feat(@schematics/angular): add `enableI18nLegacyMessageIdFormat` default to new projects The ViewEngine message extraction generates a variety of legacy formats for extracted message ids. These formats have a number of issues related to whitespace handling and reliance upon information inside the original HTML of a template. The new message format is more resilient to things like whitespace changes, and can be generated directly from calls to `$localize`, which allows messages in application code to have the same id as identical messages in templates. As a first step in migrating projects away from the legacy id format for i18n messages, this commit updates newly generated projects to turn off the legacy ids. In the future the default will be flipped and this can be removed. Eventually the legacy message id support will be removed altogether, probably in sync with removal of ViewEngine. --- .../angular/workspace/files/tsconfig.json.template | 7 ++++--- packages/schematics/angular/workspace/index_spec.ts | 10 +++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/workspace/files/tsconfig.json.template b/packages/schematics/angular/workspace/files/tsconfig.json.template index 009cf2936e0f..6e8c9fa96baf 100644 --- a/packages/schematics/angular/workspace/files/tsconfig.json.template +++ b/packages/schematics/angular/workspace/files/tsconfig.json.template @@ -20,10 +20,11 @@ "es2018", "dom" ] - }<% if (strict) { %>, + }, "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false<% if (strict) { %>, "strictInjectionParameters": true, "strictInputAccessModifiers": true, - "strictTemplates": true - }<% } %> + "strictTemplates": true<% } %> + } } diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index 5d8f7c97a705..35b760348a4f 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -73,13 +73,21 @@ describe('Workspace Schematic', () => { expect(files).not.toContain('/.editorconfig'); }); + it('should set the `enableI18nLegacyMessageIdFormat` Angular compiler option', async () => { + const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); + const { angularCompilerOptions } = + // tslint:disable-next-line: no-any + parseJson(tree.readContent('tsconfig.json').toString(), JsonParseMode.Loose) as any; + expect(angularCompilerOptions.enableI18nLegacyMessageIdFormat).toBe(false); + }); + it('should not add strict compiler options when false', async () => { const tree = await schematicRunner.runSchematicAsync('workspace', { ...defaultOptions, strict: false }).toPromise(); const { compilerOptions, angularCompilerOptions } = // tslint:disable-next-line: no-any parseJson(tree.readContent('tsconfig.json').toString(), JsonParseMode.Loose) as any; expect(compilerOptions.strict).toBeUndefined(); - expect(angularCompilerOptions).toBeUndefined(); + expect(Object.keys(angularCompilerOptions).filter(option => option.startsWith('strict'))).toEqual([]); }); it('should add strict compiler options when true', async () => { From 42231dd271322e8b9176ef2ff06c06f842e92521 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Oct 2020 17:21:53 +0100 Subject: [PATCH 099/696] fix(@schematics/update): update fail when using yarn 2.0 protocols Closes #19203 --- packages/schematics/update/update/index.ts | 7 +++---- .../schematics/update/update/index_spec.ts | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/packages/schematics/update/update/index.ts b/packages/schematics/update/update/index.ts index 2162c500120c..b1b161c47d5e 100644 --- a/packages/schematics/update/update/index.ts +++ b/packages/schematics/update/update/index.ts @@ -845,10 +845,9 @@ export default function(options: UpdateSchema): Rule { try { return isPkgFromRegistry(name, specifier); } catch { - // Abort on failure because package.json is malformed. - throw new SchematicsException( - `Failed to parse dependency "${name}" with specifier "${specifier}"` - + ` from package.json. Is the specifier malformed?`); + logger.warn(`Package ${name} was not found on the registry. Skipping.`); + + return false; } })); const packages = _buildPackageList(options, npmDeps, logger); diff --git a/packages/schematics/update/update/index_spec.ts b/packages/schematics/update/update/index_spec.ts index 205c5238369b..dfa1dd51695d 100644 --- a/packages/schematics/update/update/index_spec.ts +++ b/packages/schematics/update/update/index_spec.ts @@ -72,6 +72,24 @@ describe('@schematics/update', () => { ).toPromise().then(done, done.fail); }, 45000); + it('should not error with yarn 2.0 protocols', async () => { + const tree = new UnitTestTree(new HostTree(new virtualFs.test.TestHost({ + '/package.json': `{ + "name": "blah", + "dependencies": { + "src": "src@link:./src", + "@angular-devkit-tests/update-base": "1.0.0" + } + }`, + }))); + + const newTree = await schematicRunner.runSchematicAsync('update', { + packages: ['@angular-devkit-tests/update-base'], + }, tree).toPromise(); + const { dependencies } = JSON.parse(newTree.readContent('/package.json')); + expect(dependencies['@angular-devkit-tests/update-base']).toBe('1.1.0'); + }); + it('updates Angular as compatible with Angular N-1', done => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); From a52f43bfeaf60a6eadfd77eaffb5bf10ca4c6cc6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 28 Oct 2020 06:09:07 +0000 Subject: [PATCH 100/696] build: update puppeteer to version 5.4.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2f8278cffd89..dd0a8e54e1aa 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "postcss-loader": "4.0.4", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "5.4.0", + "puppeteer": "5.4.1", "quicktype-core": "^6.0.15", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", diff --git a/yarn.lock b/yarn.lock index d7571e9c694a..0ae575c06dd1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9889,10 +9889,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.4.0.tgz#b83893476e96ea103c9516bb958d17a71a9768ea" - integrity sha512-LgTqVW2ClEP4XGAT64FLQ0QWVhdNSRwJp9HfMFVfoJlZHGQu3HUbuBhR1hBow3DXZH1K3b/WfHxt1n8hr2uayw== +puppeteer@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.4.1.tgz#f2038eb23a0f593ed2cce0d6e7cd5c43aecd6756" + integrity sha512-8u6r9tFm3gtMylU4uCry1W/CeAA8uczKMONvGvivkTsGqKA7iB7DWO2CBFYlB9GY6/IEoq9vkI5slJWzUBkwNw== dependencies: debug "^4.1.0" devtools-protocol "0.0.809251" From 96a23d50261d92b8900628e7e7c6429c137a7d54 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 28 Oct 2020 05:08:00 +0000 Subject: [PATCH 101/696] build: update file-loader to version 6.2.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index dd0a8e54e1aa..bfcdfebaa089 100644 --- a/package.json +++ b/package.json @@ -147,7 +147,7 @@ "enhanced-resolve": "5.3.1", "express": "4.17.1", "fast-json-stable-stringify": "2.1.0", - "file-loader": "6.1.1", + "file-loader": "6.2.0", "find-cache-dir": "3.3.1", "font-awesome": "^4.7.0", "gh-got": "^9.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5108630a71b9..5ce9306c7fdd 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "core-js": "3.6.5", "css-loader": "5.0.0", "cssnano": "4.1.10", - "file-loader": "6.1.1", + "file-loader": "6.2.0", "find-cache-dir": "3.3.1", "glob": "7.1.6", "inquirer": "7.3.3", diff --git a/yarn.lock b/yarn.lock index 0ae575c06dd1..ba5b3bd202d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5273,10 +5273,10 @@ figures@^3.0.0, figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.1.tgz#a6f29dfb3f5933a1c350b2dbaa20ac5be0539baa" - integrity sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw== +file-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From 9425ce07a93adf6d9afdff3c50dfe1afccc5843f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Oct 2020 12:50:45 +0100 Subject: [PATCH 102/696] refactor(@angular-devkit/build-angular): remove host from index writer --- .../build_angular/src/browser/index.ts | 1 - .../angular_devkit/build_angular/src/utils/fs.ts | 14 ++++++++++++++ .../src/utils/index-file/inline-fonts.ts | 4 +--- .../src/utils/index-file/write-index-html.ts | 14 +++++--------- 4 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/fs.ts diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index 7c6711efd311..b02b894d9ff3 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -732,7 +732,6 @@ export function buildWebpackBrowser( try { if (options.index) { await writeIndexHtml({ - host, outputPath: path.join(outputPath, getIndexOutputFile(options.index)), indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), files, diff --git a/packages/angular_devkit/build_angular/src/utils/fs.ts b/packages/angular_devkit/build_angular/src/utils/fs.ts new file mode 100644 index 000000000000..9b34e2ceed64 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/fs.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import * as fs from 'fs'; +import { promisify } from 'util'; + +export const mkdir = promisify(fs.mkdir); +export const readFile = promisify(fs.readFile); +export const writeFile = promisify(fs.writeFile); diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index 0345a5cddc31..071a88e2213d 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -7,17 +7,15 @@ */ import * as cacache from 'cacache'; -import { readFile as readFileAsync } from 'fs'; import * as https from 'https'; import { URL } from 'url'; -import { promisify } from 'util'; import { findCachePath } from '../cache-path'; import { cachingDisabled } from '../environment-options'; +import { readFile } from '../fs'; import { htmlRewritingStream } from './html-rewriting-stream'; const cacheFontsPath: string | undefined = cachingDisabled ? undefined : findCachePath('angular-build-fonts'); const packageVersion = require('../../../package.json').version; -const readFile = promisify(readFileAsync); const enum UserAgent { Chrome = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36', diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts b/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts index 7c9f943ffe08..9412bf9b96e9 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts @@ -7,9 +7,9 @@ */ import { EmittedFiles } from '@angular-devkit/build-webpack'; -import { normalize, virtualFs } from '@angular-devkit/core'; import { dirname, join } from 'path'; import { ExtraEntryPoint } from '../../browser/schema'; +import { mkdir, readFile, writeFile } from '../fs'; import { generateEntryPoints } from '../package-chunk-sort'; import { stripBom } from '../strip-bom'; import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-html'; @@ -17,7 +17,6 @@ import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-ht type ExtensionFilter = '.js' | '.css'; export interface WriteIndexHtmlOptions { - host: virtualFs.Host; outputPath: string; indexPath: string; files?: EmittedFiles[]; @@ -36,7 +35,6 @@ export interface WriteIndexHtmlOptions { export type IndexHtmlTransform = (content: string) => Promise; export async function writeIndexHtml({ - host, outputPath, indexPath, files = [], @@ -51,12 +49,9 @@ export async function writeIndexHtml({ crossOrigin, lang, }: WriteIndexHtmlOptions): Promise { - const readFile = async (filePath: string) => - virtualFs.fileBufferToString(await host.read(normalize(filePath)).toPromise()); - let content = await augmentIndexHtml({ input: outputPath, - inputContent: stripBom(await readFile(indexPath)), + inputContent: stripBom(await readFile(indexPath, 'utf-8')), baseHref, deployUrl, crossOrigin, @@ -66,14 +61,15 @@ export async function writeIndexHtml({ files: filterAndMapBuildFiles(files, ['.js', '.css']), noModuleFiles: filterAndMapBuildFiles(noModuleFiles, '.js'), moduleFiles: filterAndMapBuildFiles(moduleFiles, '.js'), - loadOutputFile: filePath => readFile(join(dirname(outputPath), filePath)), + loadOutputFile: filePath => readFile(join(dirname(outputPath), filePath), 'utf-8'), }); for (const transform of postTransforms) { content = await transform(content); } - await host.write(normalize(outputPath), virtualFs.stringToFileBuffer(content)).toPromise(); + await mkdir(dirname(outputPath), { recursive: true }); + await writeFile(outputPath, content); } function filterAndMapBuildFiles( From 0864a6d69bbeaeaa2eae79db170ac867677ae3c1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 28 Oct 2020 05:11:41 +0000 Subject: [PATCH 103/696] build: update mini-css-extract-plugin to version 1.2.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index bfcdfebaa089..c44b4e541040 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.2.0", + "mini-css-extract-plugin": "1.2.1", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5ce9306c7fdd..6b66d7d0482d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.2.0", + "mini-css-extract-plugin": "1.2.1", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index ba5b3bd202d8..4a2bb38dab68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7989,10 +7989,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.0.tgz#f1bdfa7bb6f6a238bc327f813f204283ea33ee36" - integrity sha512-iBZokjaIjHvI4N0AURx5aPBawcmxB/d2NYikxZ4J57Lg5sDShUPyWvuSWl1dueI5oCs7nz8V7qtOCaLjB7AYPw== +mini-css-extract-plugin@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.1.tgz#30ea7dee632b3002b0c77aeed447790408cb247e" + integrity sha512-G3yw7/TQaPfkuiR73MDcyiqhyP8SnbmLhUbpC76H+wtQxA6wfKhMCQOCb6wnPK0dQbjORAeOILQqEesg4/wF7A== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From 179d4b55dc691e4423c2984d9ac8ed3b059b1d52 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 28 Oct 2020 06:12:56 +0000 Subject: [PATCH 104/696] build: update source-map-loader to version 1.1.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c44b4e541040..ed64bfb92e9c 100644 --- a/package.json +++ b/package.json @@ -204,7 +204,7 @@ "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", "source-map": "0.7.3", - "source-map-loader": "1.1.1", + "source-map-loader": "1.1.2", "source-map-support": "0.5.19", "spdx-satisfies": "^5.0.0", "speed-measure-webpack-plugin": "1.3.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6b66d7d0482d..1efe7f229f80 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -59,7 +59,7 @@ "sass-loader": "10.0.4", "semver": "7.3.2", "source-map": "0.7.3", - "source-map-loader": "1.1.1", + "source-map-loader": "1.1.2", "source-map-support": "0.5.19", "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", diff --git a/yarn.lock b/yarn.lock index 4a2bb38dab68..f67ddfef91e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11091,10 +11091,10 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-loader@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.1.tgz#1dd964294cfcc3d9bab65f46af97a38d8ae0c65d" - integrity sha512-m2HjSWP2R1yR9P31e4+ciGHFOPvW6GmqHgZkneOkrME2VvWysXTGi4o0yS28iKWWP3vAUmAoa+3x5ZRI2BIX6A== +source-map-loader@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.2.tgz#5b782bf08496d3a7f355e1780df0e25190a80991" + integrity sha512-bjf6eSENOYBX4JZDfl9vVLNsGAQ6Uz90fLmOazcmMcyDYOBFsGxPNn83jXezWLY9bJsVAo1ObztxPcV8HAbjVA== dependencies: abab "^2.0.5" iconv-lite "^0.6.2" From 8e11ad9aa4ed65d4f00e24a881a10412537f7868 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Oct 2020 08:47:50 +0100 Subject: [PATCH 105/696] fix(@ngtools/webpack): elide type-only imports when using emitDecoratorMetadata Closes #19234 --- .../webpack/src/transformers/elide_imports.ts | 4 +- .../src/transformers/elide_imports_spec.ts | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/src/transformers/elide_imports.ts b/packages/ngtools/webpack/src/transformers/elide_imports.ts index d91b3c290fb9..ea3e3cff67c9 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports.ts @@ -48,7 +48,9 @@ export function elideImports( // Record import and skip if (ts.isImportDeclaration(node)) { - imports.push(node); + if (!node.importClause?.isTypeOnly) { + imports.push(node); + } return; } diff --git a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts index fe76cc41aa2f..a324a9bd0c49 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts @@ -41,6 +41,15 @@ describe('@ngtools/webpack transformers', () => { 'service.ts': ` export class Service { } `, + 'type.ts': ` + export interface OnChanges { + ngOnChanges(changes: SimpleChanges): void; + } + + export interface SimpleChanges { + [propName: string]: unknown; + } + `, }; it('should remove unused imports', () => { @@ -530,6 +539,40 @@ describe('@ngtools/webpack transformers', () => { expect(tags.oneLine`${result}`).toEqual(tags.oneLine`${output}`); }); + it('should remove type-only imports', () => { + const input = tags.stripIndent` + import { Decorator } from './decorator'; + import { Service } from './service'; + import type { OnChanges, SimpleChanges } from './type'; + + @Decorator() + class Foo implements OnChanges { + constructor(param: Service) { } + ngOnChanges(changes: SimpleChanges) { } + } + + ${dummyNode} + `; + + const output = tags.stripIndent` + import { __decorate, __metadata } from "tslib"; + import { Decorator } from './decorator'; + import { Service } from './service'; + + let Foo = class Foo { + constructor(param) { } + ngOnChanges(changes) { } + }; + + Foo = __decorate([ Decorator(), __metadata("design:paramtypes", [Service]) ], Foo); + `; + + const { program, compilerHost } = createTypescriptContext(input, additionalFiles, true, extraCompilerOptions); + const result = transformTypescript(undefined, [transformer(program)], program, compilerHost); + + expect(tags.oneLine`${result}`).toEqual(tags.oneLine`${output}`); + }); + describe('NGTSC - ShorthandPropertyAssignment to PropertyAssignment', () => { const transformShorthandPropertyAssignment = (context: ts.TransformationContext): ts.Transformer => { const visit: ts.Visitor = node => { From 4169e303c3075df3bdb8c7f500a2d034d6532537 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 28 Oct 2020 12:09:20 +0000 Subject: [PATCH 106/696] build: update angular packages --- package.json | 6 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 20 ++++++------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index ed64bfb92e9c..63413a4ff31e 100644 --- a/package.json +++ b/package.json @@ -65,15 +65,15 @@ }, "devDependencies": { "@angular/animations": "11.0.0-rc.0", - "@angular/cdk": "10.2.5", + "@angular/cdk": "10.2.6", "@angular/common": "11.0.0-rc.0", "@angular/compiler": "11.0.0-rc.0", "@angular/compiler-cli": "11.0.0-rc.0", "@angular/core": "11.0.0-rc.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c", "@angular/forms": "11.0.0-rc.0", "@angular/localize": "11.0.0-rc.0", - "@angular/material": "10.2.5", + "@angular/material": "10.2.6", "@angular/platform-browser": "11.0.0-rc.0", "@angular/platform-browser-dynamic": "11.0.0-rc.0", "@angular/platform-server": "11.0.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index a1e48bfabb93..1c5b2642f698 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b69eda78281db63a24ebcf0402165f71f9b0e794", - "@angular/cdk": "github:angular/cdk-builds#d46a41aa4b6e21ef05eac20d12930dbfb5dc7e04", - "@angular/common": "github:angular/common-builds#ba6b83984e6d031c172cba8ad5cc29199dfefa78", - "@angular/compiler": "github:angular/compiler-builds#cea1be208aff651b5296341dcdf89966456e3e81", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#1d80e10c2811572d9ce639905c8e59ed978d9d89", - "@angular/core": "github:angular/core-builds#a3a5896587a884390c3708405c0ec472e8cb506f", - "@angular/forms": "github:angular/forms-builds#c02929363f1b35daaeab3e5ee16522800292539b", - "@angular/language-service": "github:angular/language-service-builds#e12571604744f560aec044da8b2ff1313fb7aa5e", - "@angular/localize": "github:angular/localize-builds#676c6274df0efb79b6159701ac2d807bb289800e", - "@angular/material": "github:angular/material2-builds#b1f81c776449c9c2a84a07af5096f1adea1acb98", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#cfa6e767eb0e7c327597ae0c03af2cd5c874bca4", - "@angular/platform-browser": "github:angular/platform-browser-builds#ecfc1103cd3070b750d7c55154d3341d5a68f4fd", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3d6778d47df776a5bdab8ee9b92db82954f3b82a", - "@angular/platform-server": "github:angular/platform-server-builds#545c60ce6dc1ff718ff142e6e4543b39a3842dca", - "@angular/router": "github:angular/router-builds#3caddd226cf30d22361db5d95b0c00a38350f187" + "@angular/animations": "github:angular/animations-builds#181cdfb5c1d479c03d01cd8de08f775ae9f705df", + "@angular/cdk": "github:angular/cdk-builds#f2e40b4b1347232bd42dbc50970c715216afe6f9", + "@angular/common": "github:angular/common-builds#5d1a10111eff58e5bee785bca80cd13630d3d14c", + "@angular/compiler": "github:angular/compiler-builds#a7708c0bea2e3fbf5f1ee3d0002637c7eccb8526", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#437c171caa86aa972945c1e0e4a26d4772b41322", + "@angular/core": "github:angular/core-builds#a31a5dda418612fd0302234a6442805522cf8526", + "@angular/forms": "github:angular/forms-builds#8a3d305d013a1b2c3cdcaff33e45bf4cdab85380", + "@angular/language-service": "github:angular/language-service-builds#3e0fe0e30673de9ac29001a41dd54e34e5c67926", + "@angular/localize": "github:angular/localize-builds#bb4a48e954f7ff056b650aa3fee69c3a4c1e419c", + "@angular/material": "github:angular/material2-builds#fe9c30d3fd5fa4c1202c73b5a74e516ae848a95c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9cefb9bfa30a38522f6fdf335f3768a04965d843", + "@angular/platform-browser": "github:angular/platform-browser-builds#27541dbace338ee7d6e480637420b5807abd6da2", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#df33614ec5725924c9d47f2b582457d24d59d53c", + "@angular/platform-server": "github:angular/platform-server-builds#176c65a04df09f1dfc46626fe5d3130467857dd2", + "@angular/router": "github:angular/router-builds#44688bea0fa94eebc78cbd3d426a0fd824548bb7" } } diff --git a/yarn.lock b/yarn.lock index f67ddfef91e7..a585a1b5c434 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,10 +17,10 @@ "@angular/core" "^10.0.0-0 || ^11.0.0" reflect-metadata "^0.1.13" -"@angular/cdk@10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.5.tgz#768204ff4db1282297d15f382970f151f87434ec" - integrity sha512-SI/YdaxfkttG92A0uGRixyJkfTKHn0GIU+7BCSRq0d31ru3Ugfln+jr+5/xttxWr88CNPTfpGaUt0ZuSqYCzqw== +"@angular/cdk@10.2.6": + version "10.2.6" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.6.tgz#6130b261f7cdc5a130b608c711d1ea7139b11a06" + integrity sha512-7bvls1XiLejPirVC4ocdtmc/fgfPSG0BNwUvarl34g6ybj8mR+WDagMWnZMt0VXsnago2ImhGdD7YB9oJ3CpBQ== dependencies: tslib "^2.0.0" optionalDependencies: @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#bb9763f15077a4cb279ba0e210d337e2fde4be0e" + resolved "https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" @@ -133,10 +133,10 @@ glob "7.1.2" yargs "15.3.0" -"@angular/material@10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.5.tgz#bdfc0bfdbadbca47db2dfd0170b8a31a3484ffd7" - integrity sha512-gYFqpXdLLuRYb9N1jVj9Gig/AlqsEfT/m+RtzHm4mawmHqeQbEV+0C0Qvc6fKRb1060Nkzfz8TDNGu5B+Xzq5A== +"@angular/material@10.2.6": + version "10.2.6" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.6.tgz#7dab3f9c199319ae8912ad8e37836d94bb2694e0" + integrity sha512-xF+UoinJYrMuvyTRcFeg8DNDvykeIRbEpCwY4hYX4So7t6yr89W5D2htkbzilRkum3ZhhkGqjjCaI/B1B9J1Vg== dependencies: tslib "^2.0.0" From 05cd4d6109355386c0a9a267f3e40786c07f4853 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 27 Oct 2020 12:21:13 -0400 Subject: [PATCH 107/696] fix(@angular-devkit/build-angular): use source locale with non-localized dev serving The source locale was intended to be used when building an application; even when not specifically localizing. This includes setting the HTML `lang` attribute, injecting locale data, and setting `LOCALE_ID` within the application. --- .../build_angular/src/dev-server/index.ts | 39 +++-- .../src/dev-server/works_spec.ts | 28 +++- .../build_angular/src/utils/i18n-options.ts | 147 ++++++++++-------- .../build_angular/src/utils/process-bundle.ts | 44 +++--- 4 files changed, 157 insertions(+), 101 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 13b7357bf02c..24e521f3aed4 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -206,16 +206,33 @@ export function serveWebpackBrowser( `); } + let locale: string | undefined; + if (browserOptions.i18nLocale) { + // Deprecated VE option + locale = browserOptions.i18nLocale; + } else if (i18n.shouldInline) { + // Dev-server only supports one locale + locale = [...i18n.inlineLocales][0]; + } else if (i18n.hasDefinedSourceLocale) { + // use source locale if not localizing + locale = i18n.sourceLocale; + } + let webpackConfig = config; - const tsConfig = readTsconfig(browserOptions.tsConfig, workspaceRoot); - if (i18n.shouldInline && tsConfig.options.enableIvy !== false) { - if (i18n.inlineLocales.size > 1) { - throw new Error( - 'The development server only supports localizing a single locale per build.', - ); - } - await setupLocalize(i18n, browserOptions, webpackConfig); + // If a locale is defined, setup localization + if (locale) { + // Only supported with Ivy + const tsConfig = readTsconfig(browserOptions.tsConfig, workspaceRoot); + if (tsConfig.options.enableIvy !== false) { + if (i18n.inlineLocales.size > 1) { + throw new Error( + 'The development server only supports localizing a single locale per build.', + ); + } + + await setupLocalize(locale, i18n, browserOptions, webpackConfig); + } } if (transforms.webpackConfiguration) { @@ -226,8 +243,7 @@ export function serveWebpackBrowser( browserOptions, webpackConfig, projectRoot, - locale: - browserOptions.i18nLocale || (i18n.shouldInline ? [...i18n.inlineLocales][0] : undefined), + locale, }; } @@ -323,16 +339,17 @@ export function serveWebpackBrowser( } async function setupLocalize( + locale: string, i18n: I18nOptions, browserOptions: BrowserBuilderSchema, webpackConfig: webpack.Configuration, ) { - const locale = [...i18n.inlineLocales][0]; const localeDescription = i18n.locales[locale]; const { plugins, diagnostics } = await createI18nPlugins( locale, localeDescription?.translation, browserOptions.i18nMissingTranslation || 'ignore', + i18n.shouldInline, ); // Modify main entrypoint to include locale data diff --git a/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts index c8ec85604300..9180cf5172c8 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts @@ -7,7 +7,7 @@ */ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { DevServerBuilderOutput } from '@angular-devkit/build-angular'; -import { logging } from '@angular-devkit/core'; +import { logging, normalize, virtualFs } from '@angular-devkit/core'; import fetch from 'node-fetch'; // tslint:disable-line:no-implicit-dependencies import { createArchitect, host } from '../test-utils'; @@ -112,4 +112,30 @@ describe('Dev Server Builder', () => { expect(response.headers.get('X-Header')).toBe('Hello World'); }, 30000); + it('uses source locale when not localizing', async () => { + const config = host.scopedSync().read(normalize('angular.json')); + const jsonConfig = JSON.parse(virtualFs.fileBufferToString(config)); + const applicationProject = jsonConfig.projects.app; + + applicationProject.i18n = { sourceLocale: 'fr' }; + + host.writeMultipleFiles({ + 'angular.json': JSON.stringify(jsonConfig), + }); + + const architect = (await createArchitect(host.root())).architect; + const run = await architect.scheduleTarget(target); + const output = await run.result; + expect(output.success).toBe(true); + + const indexResponse = await fetch('http://localhost:4200/index.html'); + expect(await indexResponse.text()).toContain('lang="fr"'); + const vendorResponse = await fetch('http://localhost:4200/vendor.js'); + const vendorText = await vendorResponse.text(); + expect(vendorText).toContain('fr'); + expect(vendorText).toContain('octobre'); + + await run.stop(); + }); + }); diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index 870b01179973..384283c4006e 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -31,6 +31,7 @@ export interface I18nOptions { flatOutput?: boolean; readonly shouldInline: boolean; veCompatLocale?: string; + hasDefinedSourceLocale?: boolean; } function normalizeTranslationFileOption( @@ -93,6 +94,7 @@ export function createI18nOptions( } i18n.sourceLocale = rawSourceLocale; + i18n.hasDefinedSourceLocale = true; } i18n.locales[i18n.sourceLocale] = { @@ -202,91 +204,98 @@ export async function configureI18nBuild 0) { - const projectRoot = path.join(context.workspaceRoot, (metadata.root as string) || ''); - const localeDataBasePath = findLocaleDataBasePath(projectRoot); - if (!localeDataBasePath) { - throw new Error( - `Unable to find locale data within '@angular/common'. Please ensure '@angular/common' is installed.`, - ); + // No additional processing needed if no inlining requested and no source locale defined. + if (!i18n.shouldInline && !i18n.hasDefinedSourceLocale) { + return { buildOptions, i18n }; + } + + const projectRoot = path.join(context.workspaceRoot, (metadata.root as string) || ''); + const localeDataBasePath = findLocaleDataBasePath(projectRoot); + if (!localeDataBasePath) { + throw new Error( + `Unable to find locale data within '@angular/common'. Please ensure '@angular/common' is installed.`, + ); + } + + // Load locale data and translations (if present) + let loader; + const usedFormats = new Set(); + for (const [locale, desc] of Object.entries(i18n.locales)) { + if (!i18n.inlineLocales.has(locale) && locale !== i18n.sourceLocale) { + continue; } - // Load locales - const loader = await createTranslationLoader(); - const usedFormats = new Set(); - for (const [locale, desc] of Object.entries(i18n.locales)) { - if (!i18n.inlineLocales.has(locale)) { - continue; + let localeDataPath = findLocaleDataPath(locale, localeDataBasePath); + if (!localeDataPath) { + const [first] = locale.split('-'); + if (first) { + localeDataPath = findLocaleDataPath(first.toLowerCase(), localeDataBasePath); + if (localeDataPath) { + context.logger.warn( + `Locale data for '${locale}' cannot be found. Using locale data for '${first}'.`, + ); + } } + } + if (!localeDataPath) { + context.logger.warn( + `Locale data for '${locale}' cannot be found. No locale data will be included for this locale.`, + ); + } else { + desc.dataPath = localeDataPath; + } - let localeDataPath = findLocaleDataPath(locale, localeDataBasePath); - if (!localeDataPath) { - const [first] = locale.split('-'); - if (first) { - localeDataPath = findLocaleDataPath(first.toLowerCase(), localeDataBasePath); - if (localeDataPath) { - context.logger.warn( - `Locale data for '${locale}' cannot be found. Using locale data for '${first}'.`, - ); - } + if (!desc.files.length) { + continue; + } + + if (!loader) { + loader = await createTranslationLoader(); + } + + for (const file of desc.files) { + const loadResult = loader(path.join(context.workspaceRoot, file.path)); + + for (const diagnostics of loadResult.diagnostics.messages) { + if (diagnostics.type === 'error') { + throw new Error( + `Error parsing translation file '${file.path}': ${diagnostics.message}`, + ); + } else { + context.logger.warn(`WARNING [${file.path}]: ${diagnostics.message}`); } } - if (!localeDataPath) { + + if (loadResult.locale !== undefined && loadResult.locale !== locale) { context.logger.warn( - `Locale data for '${locale}' cannot be found. No locale data will be included for this locale.`, + `WARNING [${file.path}]: File target locale ('${loadResult.locale}') does not match configured locale ('${locale}')`, ); - } else { - desc.dataPath = localeDataPath; } - if (!desc.files.length) { - continue; + usedFormats.add(loadResult.format); + if (usedFormats.size > 1 && tsConfig.options.enableI18nLegacyMessageIdFormat !== false) { + // This limitation is only for legacy message id support (defaults to true as of 9.0) + throw new Error( + 'Localization currently only supports using one type of translation file format for the entire application.', + ); } - for (const file of desc.files) { - const loadResult = loader(path.join(context.workspaceRoot, file.path)); + file.format = loadResult.format; + file.integrity = loadResult.integrity; - for (const diagnostics of loadResult.diagnostics.messages) { - if (diagnostics.type === 'error') { - throw new Error( - `Error parsing translation file '${file.path}': ${diagnostics.message}`, + if (desc.translation) { + // Merge translations + for (const [id, message] of Object.entries(loadResult.translations)) { + if (desc.translation[id] !== undefined) { + context.logger.warn( + `WARNING [${file.path}]: Duplicate translations for message '${id}' when merging`, ); - } else { - context.logger.warn(`WARNING [${file.path}]: ${diagnostics.message}`); } + desc.translation[id] = message; } - - if (loadResult.locale !== undefined && loadResult.locale !== locale) { - context.logger.warn( - `WARNING [${file.path}]: File target locale ('${loadResult.locale}') does not match configured locale ('${locale}')`, - ); - } - - usedFormats.add(loadResult.format); - if (usedFormats.size > 1 && tsConfig.options.enableI18nLegacyMessageIdFormat !== false) { - // This limitation is only for legacy message id support (defaults to true as of 9.0) - throw new Error( - 'Localization currently only supports using one type of translation file format for the entire application.', - ); - } - - file.format = loadResult.format; - file.integrity = loadResult.integrity; - - if (desc.translation) { - // Merge translations - for (const [id, message] of Object.entries(loadResult.translations)) { - if (desc.translation[id] !== undefined) { - context.logger.warn( - `WARNING [${file.path}]: Duplicate translations for message '${id}' when merging`, - ); - } - desc.translation[id] = message; - } - } else { - // First or only translation file - desc.translation = loadResult.translations; - } + } else { + // First or only translation file + desc.translation = loadResult.translations; } } diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 59852ff7f442..a31e904e325c 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -552,6 +552,7 @@ export async function createI18nPlugins( locale: string, translation: unknown | undefined, missingTranslation: 'error' | 'warning' | 'ignore', + shouldInline: boolean, localeDataContent?: string, ) { const plugins = []; @@ -559,27 +560,29 @@ export async function createI18nPlugins( const diagnostics = new localizeDiag.Diagnostics(); - const es2015 = await import( - // tslint:disable-next-line: trailing-comma - '@angular/localize/src/tools/src/translate/source_files/es2015_translate_plugin' - ); - plugins.push( - // tslint:disable-next-line: no-any - es2015.makeEs2015TranslatePlugin(diagnostics, (translation || {}) as any, { - missingTranslation: translation === undefined ? 'ignore' : missingTranslation, - }), - ); + if (shouldInline) { + const es2015 = await import( + // tslint:disable-next-line: trailing-comma + '@angular/localize/src/tools/src/translate/source_files/es2015_translate_plugin' + ); + plugins.push( + // tslint:disable-next-line: no-any + es2015.makeEs2015TranslatePlugin(diagnostics, (translation || {}) as any, { + missingTranslation: translation === undefined ? 'ignore' : missingTranslation, + }), + ); - const es5 = await import( - // tslint:disable-next-line: trailing-comma - '@angular/localize/src/tools/src/translate/source_files/es5_translate_plugin' - ); - plugins.push( - // tslint:disable-next-line: no-any - es5.makeEs5TranslatePlugin(diagnostics, (translation || {}) as any, { - missingTranslation: translation === undefined ? 'ignore' : missingTranslation, - }), - ); + const es5 = await import( + // tslint:disable-next-line: trailing-comma + '@angular/localize/src/tools/src/translate/source_files/es5_translate_plugin' + ); + plugins.push( + // tslint:disable-next-line: no-any + es5.makeEs5TranslatePlugin(diagnostics, (translation || {}) as any, { + missingTranslation: translation === undefined ? 'ignore' : missingTranslation, + }), + ); + } const inlineLocale = await import( // tslint:disable-next-line: trailing-comma @@ -678,6 +681,7 @@ export async function inlineLocales(options: InlineOptions) { locale, translations, isSourceLocale ? 'ignore' : options.missingTranslation || 'warning', + true, localeDataContent, ); const transformResult = await transformFromAstSync(ast, options.code, { From be4dbd0747615a947e04437a7419e4b190e4d015 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 29 Oct 2020 23:41:29 +0000 Subject: [PATCH 108/696] build: update sass to version 1.28.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 63413a4ff31e..7dedec7cff4d 100644 --- a/package.json +++ b/package.json @@ -199,7 +199,7 @@ "rimraf": "3.0.2", "rollup": "2.32.1", "rxjs": "6.6.3", - "sass": "1.27.0", + "sass": "1.28.0", "sass-loader": "10.0.4", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1efe7f229f80..f1e90d0f0e55 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -55,7 +55,7 @@ "rimraf": "3.0.2", "rollup": "2.32.1", "rxjs": "6.6.3", - "sass": "1.27.0", + "sass": "1.28.0", "sass-loader": "10.0.4", "semver": "7.3.2", "source-map": "0.7.3", diff --git a/yarn.lock b/yarn.lock index a585a1b5c434..c697338ea3c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10620,7 +10620,14 @@ sass-loader@10.0.4: schema-utils "^3.0.0" semver "^7.3.2" -sass@1.27.0, sass@^1.23.0: +sass@1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.28.0.tgz#546f1308ff74cc4ec2ad735fd35dc18bc3f51f72" + integrity sha512-9FWX/0wuE1KxwfiP02chZhHaPzu6adpx9+wGch7WMOuHy5npOo0UapRI3FNSHva2CczaYJu2yNUBN8cCSqHz/A== + dependencies: + chokidar ">=2.0.0 <4.0.0" + +sass@^1.23.0: version "1.27.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.27.0.tgz#0657ff674206b95ec20dc638a93e179c78f6ada2" integrity sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig== From caad4312713ced4f69990cec6ad03b824b575564 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 12:12:17 +0100 Subject: [PATCH 109/696] refactor(@angular-devkit/core): clean up NodeJsAsyncHost and NodeJsSyncHost - Remove redundant try/catch block - Use `mkdir` with `recursive: true` instead of custom implementation --- packages/angular_devkit/core/node/host.ts | 128 ++++++---------------- 1 file changed, 33 insertions(+), 95 deletions(-) diff --git a/packages/angular_devkit/core/node/host.ts b/packages/angular_devkit/core/node/host.ts index a17b4bde4409..711dddce78c1 100644 --- a/packages/angular_devkit/core/node/host.ts +++ b/packages/angular_devkit/core/node/host.ts @@ -29,7 +29,7 @@ import { interface ChokidarWatcher { - new (options: {}): ChokidarWatcher; + new(options: {}): ChokidarWatcher; add(path: string): ChokidarWatcher; on(type: 'change', cb: (path: string) => void): ChokidarWatcher; @@ -51,7 +51,7 @@ function loadFSWatcher() { } catch (e) { if (e.code !== 'MODULE_NOT_FOUND') { throw new Error('As of angular-devkit version 8.0, the "chokidar" package ' + - 'must be installed in order to use watch() features.'); + 'must be installed in order to use watch() features.'); } throw e; } @@ -92,26 +92,17 @@ export class NodeJsAsyncHost implements virtualFs.Host { } write(path: Path, content: virtualFs.FileBuffer): Observable { - return new Observable(obs => { - // Create folders if necessary. - const _createDir = (path: Path) => { - if (fs.existsSync(getSystemPath(path))) { - return; - } - if (dirname(path) === path) { - throw new Error(); - } - _createDir(dirname(path)); - fs.mkdirSync(getSystemPath(path)); - }; - _createDir(dirname(path)); - - _callFs( + return _callFs( + fs.mkdir, + getSystemPath(dirname(path)), + { recursive: true }, + ).pipe( + mergeMap(() => _callFs( fs.writeFile, getSystemPath(path), new Uint8Array(content), - ).subscribe(obs); - }); + )), + ); } read(path: Path): Observable { @@ -242,57 +233,30 @@ export class NodeJsSyncHost implements virtualFs.Host { write(path: Path, content: virtualFs.FileBuffer): Observable { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - // Create folders if necessary. - const _createDir = (path: Path) => { - if (fs.existsSync(getSystemPath(path))) { - return; - } - _createDir(dirname(path)); - fs.mkdirSync(getSystemPath(path)); - }; - _createDir(dirname(path)); - fs.writeFileSync(getSystemPath(path), new Uint8Array(content)); - - obs.next(); - obs.complete(); - } catch (err) { - obs.error(err); - } + fs.mkdirSync(getSystemPath(dirname(path)), { recursive: true }); + fs.writeFileSync(getSystemPath(path), new Uint8Array(content)); + obs.next(); + obs.complete(); }); } read(path: Path): Observable { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - const buffer = fs.readFileSync(getSystemPath(path)); + const buffer = fs.readFileSync(getSystemPath(path)); - obs.next(new Uint8Array(buffer).buffer as virtualFs.FileBuffer); - obs.complete(); - } catch (err) { - obs.error(err); - } + obs.next(new Uint8Array(buffer).buffer as virtualFs.FileBuffer); + obs.complete(); }); } delete(path: Path): Observable { return this.isDirectory(path).pipe( concatMap(isDir => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. if (isDir) { const dirPaths = fs.readdirSync(getSystemPath(path)); const rmDirComplete = new Observable((obs) => { - try { - fs.rmdirSync(getSystemPath(path)); - obs.complete(); - } catch (e) { - obs.error(e); - } + fs.rmdirSync(getSystemPath(path)); + obs.complete(); }); return concat( @@ -314,69 +278,43 @@ export class NodeJsSyncHost implements virtualFs.Host { rename(from: Path, to: Path): Observable { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - const toSystemPath = getSystemPath(to); - if (!fs.existsSync(path.dirname(toSystemPath))) { - fs.mkdirSync(path.dirname(toSystemPath), { recursive: true }); - } - fs.renameSync(getSystemPath(from), getSystemPath(to)); - obs.next(); - obs.complete(); - } catch (err) { - obs.error(err); - } + const toSystemPath = getSystemPath(to); + fs.mkdirSync(path.dirname(toSystemPath), { recursive: true }); + fs.renameSync(getSystemPath(from), toSystemPath); + obs.next(); + obs.complete(); }); } list(path: Path): Observable { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - const names = fs.readdirSync(getSystemPath(path)); - obs.next(names.map(name => fragment(name))); - obs.complete(); - } catch (err) { - obs.error(err); - } + const names = fs.readdirSync(getSystemPath(path)); + obs.next(names.map(name => fragment(name))); + obs.complete(); }); } exists(path: Path): Observable { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - obs.next(fs.existsSync(getSystemPath(path))); - obs.complete(); - } catch (err) { - obs.error(err); - } + obs.next(fs.existsSync(getSystemPath(path))); + obs.complete(); }); } isDirectory(path: Path): Observable { // tslint:disable-next-line:no-non-null-assertion - return this.stat(path) !.pipe(map(stat => stat.isDirectory())); + return this.stat(path)!.pipe(map(stat => stat.isDirectory())); } isFile(path: Path): Observable { // tslint:disable-next-line:no-non-null-assertion - return this.stat(path) !.pipe(map(stat => stat.isFile())); + return this.stat(path)!.pipe(map(stat => stat.isFile())); } // Some hosts may not support stat. stat(path: Path): Observable> { return new Observable(obs => { - // TODO: remove this try+catch when issue https://github.com/ReactiveX/rxjs/issues/3740 is - // fixed. - try { - obs.next(fs.statSync(getSystemPath(path))); - obs.complete(); - } catch (err) { - obs.error(err); - } + obs.next(fs.statSync(getSystemPath(path))); + obs.complete(); }); } From 0a02ea55bbc0d160e696ca461cf064ce28c021ef Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 29 Oct 2020 09:28:17 -0400 Subject: [PATCH 110/696] refactor(@angular/cli): remove NodeJsSyncHost from config utilities --- packages/angular/cli/utilities/config.ts | 38 +++++++++++++++++------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index 029aaa156858..e08933262f67 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -15,8 +15,7 @@ import { parseJsonAst, workspaces, } from '@angular-devkit/core'; -import { NodeJsSyncHost } from '@angular-devkit/core/node'; -import { existsSync, readFileSync, writeFileSync } from 'fs'; +import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { findUp } from './find-up'; @@ -25,6 +24,31 @@ function isJsonObject(value: json.JsonValue | undefined): value is json.JsonObje return value !== undefined && json.isJsonObject(value); } +function createWorkspaceHost(): workspaces.WorkspaceHost { + return { + async readFile(path) { + return readFileSync(path, 'utf-8'); + }, + async writeFile(path, data) { + writeFileSync(path, data); + }, + async isDirectory(path) { + try { + return statSync(path).isDirectory(); + } catch { + return false; + } + }, + async isFile(path) { + try { + return statSync(path).isFile(); + } catch { + return false; + } + }, + }; +} + function getSchemaLocation(): string { return path.join(__dirname, '../lib/config/schema.json'); } @@ -116,7 +140,7 @@ export class AngularWorkspace { const result = await workspaces.readWorkspace( workspaceFilePath, - workspaces.createWorkspaceHost(new NodeJsSyncHost()), + createWorkspaceHost(), workspaces.WorkspaceFormat.JSON, ); @@ -143,13 +167,7 @@ export async function getWorkspace( } try { - const result = await workspaces.readWorkspace( - configPath, - workspaces.createWorkspaceHost(new NodeJsSyncHost()), - workspaces.WorkspaceFormat.JSON, - ); - - const workspace = new AngularWorkspace(result.workspace, configPath); + const workspace = await AngularWorkspace.load(configPath); cachedWorkspaces.set(level, workspace); return workspace; From 7cbc72e16f070501aed50e811a55c65a207f43ab Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 29 Oct 2020 09:55:35 -0400 Subject: [PATCH 111/696] refactor(@angular/cli): use jsonc-parser for JSON configuration parsing --- packages/angular/cli/BUILD.bazel | 1 + packages/angular/cli/package.json | 1 + packages/angular/cli/utilities/config.ts | 28 +++++++++--------------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 3e6f54fd8e33..84d6152df57a 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -78,6 +78,7 @@ ts_library( "@npm//@types/universal-analytics", "@npm//@types/uuid", "@npm//ansi-colors", + "@npm//jsonc-parser", ], ) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 9ffc5a13c990..54951153ec1c 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,6 +35,7 @@ "debug": "4.2.0", "ini": "1.3.5", "inquirer": "7.3.3", + "jsonc-parser": "2.3.1", "npm-package-arg": "8.1.0", "npm-pick-manifest": "6.1.0", "open": "7.3.0", diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index e08933262f67..724a3544c93a 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -5,17 +5,9 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ - -import { - JsonAstObject, - JsonObject, - JsonParseMode, - json, - parseJson, - parseJsonAst, - workspaces, -} from '@angular-devkit/core'; +import { json, parseJsonAst, workspaces } from '@angular-devkit/core'; import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; +import { parse as parseJson } from 'jsonc-parser'; import * as os from 'os'; import * as path from 'path'; import { findUp } from './find-up'; @@ -193,7 +185,7 @@ export function createGlobalSettings(): string { export function getWorkspaceRaw( level: 'local' | 'global' = 'local', -): [JsonAstObject | null, string | null] { +): [json.JsonAstObject | null, string | null] { let configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { @@ -211,7 +203,7 @@ export function getWorkspaceRaw( start = 3; } const content = data.toString('utf-8', start); - const ast = parseJsonAst(content, JsonParseMode.Loose); + const ast = parseJsonAst(content, json.JsonParseMode.Loose); if (ast.kind != 'object') { throw new Error(`Invalid JSON file: ${configPath}`); @@ -220,12 +212,12 @@ export function getWorkspaceRaw( return [ast, configPath]; } -export async function validateWorkspace(data: JsonObject): Promise { +export async function validateWorkspace(data: json.JsonObject): Promise { const schemaContent = readFileSync( path.join(__dirname, '..', 'lib', 'config', 'schema.json'), 'utf-8', ); - const schema = parseJson(schemaContent, JsonParseMode.Loose) as json.schema.JsonSchema; + const schema = parseJson(schemaContent) as json.schema.JsonSchema; const { formats } = await import('@angular-devkit/schematics'); const registry = new json.schema.CoreSchemaRegistry(formats.standardFormats); const validator = await registry.compile(schema).toPromise(); @@ -340,12 +332,12 @@ export function migrateLegacyGlobalConfig(): boolean { const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); if (existsSync(legacyGlobalConfigPath)) { const content = readFileSync(legacyGlobalConfigPath, 'utf-8'); - const legacy = parseJson(content, JsonParseMode.Loose); + const legacy = parseJson(content); if (!isJsonObject(legacy)) { return false; } - const cli: JsonObject = {}; + const cli: json.JsonObject = {}; if ( legacy.packageManager && @@ -364,7 +356,7 @@ export function migrateLegacyGlobalConfig(): boolean { } if (isJsonObject(legacy.warnings)) { - const warnings: JsonObject = {}; + const warnings: json.JsonObject = {}; if (typeof legacy.warnings.versionMismatch == 'boolean') { warnings['versionMismatch'] = legacy.warnings.versionMismatch; } @@ -394,7 +386,7 @@ function getLegacyPackageManager(): string | null { if (existsSync(legacyGlobalConfigPath)) { const content = readFileSync(legacyGlobalConfigPath, 'utf-8'); - const legacy = parseJson(content, JsonParseMode.Loose); + const legacy = parseJson(content); if (!isJsonObject(legacy)) { return null; } From 5db4ec7df78c1626d48d00b3ad7094d0e8e8a013 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 29 Oct 2020 09:57:23 -0400 Subject: [PATCH 112/696] refactor(@angular/cli): remove outdated workspace targets warning The stable workspace API will now normalize configuration file content. --- .../angular/cli/models/schematic-command.ts | 45 +------------------ 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index 677362609e69..296b4f7457c9 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ import { - json, logging, normalize, schema, @@ -30,12 +29,7 @@ import { import * as inquirer from 'inquirer'; import * as systemPath from 'path'; import { colors } from '../utilities/color'; -import { - getProjectByCwd, - getSchematicDefaults, - getWorkspace, - getWorkspaceRaw, -} from '../utilities/config'; +import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../utilities/config'; import { parseJsonSchemaToOptions } from '../utilities/json-schema'; import { getPackageManager } from '../utilities/package-manager'; import { isTTY } from '../utilities/tty'; @@ -444,43 +438,6 @@ export abstract class SchematicCommand< collectionName = schematic.collection.description.name; schematicName = schematic.description.name; - // TODO: Remove warning check when 'targets' is default - if (collectionName !== this.defaultCollectionName) { - const [ast, configPath] = getWorkspaceRaw('local'); - if (ast) { - const projectsKeyValue = ast.properties.find(p => p.key.value === 'projects'); - if (!projectsKeyValue || projectsKeyValue.value.kind !== 'object') { - return; - } - - const positions: json.Position[] = []; - for (const projectKeyValue of projectsKeyValue.value.properties) { - const projectNode = projectKeyValue.value; - if (projectNode.kind !== 'object') { - continue; - } - const targetsKeyValue = projectNode.properties.find(p => p.key.value === 'targets'); - if (targetsKeyValue) { - positions.push(targetsKeyValue.start); - } - } - - if (positions.length > 0) { - const warning = tags.oneLine` - Warning: This command may not execute successfully. - The package/collection may not support the 'targets' field within '${configPath}'. - This can be corrected by renaming the following 'targets' fields to 'architect': - `; - - const locations = positions - .map((p, i) => `${i + 1}) Line: ${p.line + 1}; Column: ${p.character + 1}`) - .join('\n'); - - this.logger.warn(warning + '\n' + locations + '\n'); - } - } - } - // Set the options of format "path". let o: Option[] | null = null; let args: Arguments; From ea02b6e94710d43ab9c2738765c17d234dce353e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 29 Oct 2020 12:50:46 -0400 Subject: [PATCH 113/696] fix(@angular-devkit/build-angular): re-enable webpack 5 license extraction support With updates to the `license-webpack-plugin` and adjustments to the web worker plugin configuration, license extraction can now be used with webpack 5. This change also removes the need to filter out the duplicate asset warning on Webpack 4 that was previously being generated. --- .../build_angular/src/browser/index.ts | 9 -------- .../src/webpack/configs/browser.ts | 1 + .../src/webpack/configs/worker.ts | 21 ++++++++++++++++--- .../build_angular/src/webpack/utils/stats.ts | 2 -- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index b02b894d9ff3..d0acb430b87b 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -152,15 +152,6 @@ async function initialize( // Assets are processed directly by the builder except when watching const adjustedOptions = options.watch ? options : { ...options, assets: [] }; - // TODO_WEBPACK_5: Investigate build/serve issues with the `license-webpack-plugin` package - if (adjustedOptions.extractLicenses && isWebpackFiveOrHigher()) { - adjustedOptions.extractLicenses = false; - context.logger.warn( - 'Warning: License extraction is currently disabled when using Webpack 5. ' + - 'This is temporary and will be corrected in a future update.', - ); - } - const { config, projectRoot, diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts index d0a48c74fb6c..26bb7d911484 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts @@ -47,6 +47,7 @@ export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configurati }, perChunkOutput: false, outputFilename: '3rdpartylicenses.txt', + skipChildCompilers: true, })); } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts b/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts index 318f1ac09df0..9ef16f3bfe7d 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts @@ -22,12 +22,27 @@ export function getWorkerConfig(wco: WebpackConfigOptions): Configuration { } const workerTsConfigPath = resolve(wco.root, buildOptions.webWorkerTsConfig); - const WorkerPlugin = require('worker-plugin'); + const WebWorkerPlugin = require('worker-plugin'); + + const workerPlugins = [getTypescriptWorkerPlugin(wco, workerTsConfigPath)]; + if (buildOptions.extractLicenses) { + // Webpack child compilations will not inherit the license plugin + const LicenseWebpackPlugin = require('license-webpack-plugin').LicenseWebpackPlugin; + workerPlugins.push(new LicenseWebpackPlugin({ + stats: { + warnings: false, + errors: false, + }, + perChunkOutput: false, + // The name needs to be unique to this child compilation to avoid duplicate asset errors + outputFilename: '3rdpartylicenses-worker-[hash].txt', + })); + } return { - plugins: [new WorkerPlugin({ + plugins: [new WebWorkerPlugin({ globalObject: false, - plugins: [getTypescriptWorkerPlugin(wco, workerTsConfigPath)], + plugins: workerPlugins, })], }; } diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 0a4b1faa0704..0ddbaf47fb2a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -140,8 +140,6 @@ export function statsToString(json: any, statsConfig: any) { } const ERRONEOUS_WARNINGS_FILTER = (warning: string) => ![ - // TODO(#16193): Don't emit this warning in the first place rather than just suppressing it. - /multiple assets emit different content.*3rdpartylicenses\.txt/i, // Webpack 5+ has no facility to disable this warning. // System.import is used in @angular/core for deprecated string-form lazy routes /System.import\(\) is deprecated and will be removed soon/i, From c7e1d14262fb244953399e80a1eb617afa45cd27 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 30 Oct 2020 05:08:02 +0000 Subject: [PATCH 114/696] build: update stylus-loader to version 4.2.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 7dedec7cff4d..1bfcba16278b 100644 --- a/package.json +++ b/package.json @@ -210,7 +210,7 @@ "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", "stylus": "0.54.7", - "stylus-loader": "4.1.1", + "stylus-loader": "4.2.0", "symbol-observable": "2.0.3", "tar": "^6.0.0", "temp": "^0.9.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f1e90d0f0e55..86fc974fa384 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -64,7 +64,7 @@ "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", "stylus": "0.54.8", - "stylus-loader": "4.1.1", + "stylus-loader": "4.2.0", "terser": "5.3.8", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", diff --git a/yarn.lock b/yarn.lock index c697338ea3c2..119973cc40d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11594,10 +11594,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylus-loader@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.1.1.tgz#0e94f5d6274932a2dad054d1a736b32146ac7a99" - integrity sha512-Vnm7J/nIs/P6swIrdwJW/dflhsCOiFmb1U3PeQ6phRtg1soPLN4uKnnL7AtGIJDe173elbtYIXVzmCyF493CfA== +stylus-loader@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.2.0.tgz#ec4cf3408a52d07e6d3c15ffe1a0e5c2484bacc7" + integrity sha512-n2zrq+rwUcK3DMX396XoxUYoQE+2DatqMId9RId79hOEYI7DVzsMKlQHcH7jkezvAD22SIks3YxgDhPUoRZ8ZQ== dependencies: fast-glob "^3.2.4" klona "^2.0.4" From a00b8e83e4e65e32be6311268646ea90f761fa95 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 31 Oct 2020 06:11:02 +0000 Subject: [PATCH 115/696] build: update webpack-merge to version 5.3.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1bfcba16278b..d7fa99dd8d69 100644 --- a/package.json +++ b/package.json @@ -231,7 +231,7 @@ "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.10.3", - "webpack-merge": "5.2.0", + "webpack-merge": "5.3.0", "webpack-sources": "2.0.1", "webpack-subresource-integrity": "1.5.1", "worker-plugin": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 86fc974fa384..917c6998979d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -72,7 +72,7 @@ "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", - "webpack-merge": "5.2.0", + "webpack-merge": "5.3.0", "webpack-sources": "2.0.1", "webpack-subresource-integrity": "1.5.1", "worker-plugin": "5.0.0" diff --git a/yarn.lock b/yarn.lock index 119973cc40d8..028309da2d37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12734,10 +12734,10 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.2.0.tgz#31cbcc954f8f89cd4b06ca8d97a38549f7f3f0c9" - integrity sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA== +webpack-merge@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.3.0.tgz#a80df44d35fabace680bf430a19fda9ec49ed8eb" + integrity sha512-4PtsBAWnmJULIJYviiPq4BxwAykbAgGMheyEVaemj2bJI54h+p/gnlbXZEH2EM0IYC3blOE1Qm6kzKlc06N1UQ== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" From 6359f22f233a1062a9adf82236483ccc1952056b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Nov 2020 11:47:53 +0000 Subject: [PATCH 116/696] build: update sass-loader to version 10.0.5 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d7fa99dd8d69..15a4f7994c12 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,7 @@ "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.28.0", - "sass-loader": "10.0.4", + "sass-loader": "10.0.5", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", "source-map": "0.7.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 917c6998979d..e5261b7d5cd7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -56,7 +56,7 @@ "rollup": "2.32.1", "rxjs": "6.6.3", "sass": "1.28.0", - "sass-loader": "10.0.4", + "sass-loader": "10.0.5", "semver": "7.3.2", "source-map": "0.7.3", "source-map-loader": "1.1.2", diff --git a/yarn.lock b/yarn.lock index 028309da2d37..33003658f9ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10609,10 +10609,10 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.4.tgz#ec7181096947d078d60a1d76d527f47c19b151d8" - integrity sha512-zhdZ8qvZM4iL5XjLVEjJLvKWvC+MB+hHgzL2x/Nf7UHpUNmPYsJvypW79bW39g4LZ603dH/dRSsRYzJJIljtdA== +sass-loader@10.0.5: + version "10.0.5" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.5.tgz#f53505b5ddbedf43797470ceb34066ded82bb769" + integrity sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w== dependencies: klona "^2.0.4" loader-utils "^2.0.0" From f529bfa1e4b2c222a1b8e587480297644dbe044f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 31 Oct 2020 05:07:39 +0000 Subject: [PATCH 117/696] build: update @types/babel__core to version 7.1.11 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 15a4f7994c12..3c0d3f01dc79 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@bazel/jasmine": "2.2.2", "@bazel/typescript": "2.2.2", "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@types/babel__core": "7.1.10", + "@types/babel__core": "7.1.11", "@types/babel__template": "7.0.3", "@types/browserslist": "^4.4.0", "@types/cacache": "^12.0.1", diff --git a/yarn.lock b/yarn.lock index 33003658f9ce..280fb6d8dc0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1424,10 +1424,10 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/babel__core@7.1.10": - version "7.1.10" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.10.tgz#ca58fc195dd9734e77e57c6f2df565623636ab40" - integrity sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw== +"@types/babel__core@7.1.11": + version "7.1.11" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.11.tgz#7fae4660a009a4031e293f25b213f142d823b3c4" + integrity sha512-E5nSOzrjnvhURYnbOR2dClTqcyhPbPvtEwLHf7JJADKedPbcZsoJVfP+I2vBNfBjz4bnZIuhL/tNmRi5nJ7Jlw== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" From 371f6eb591a3633e5f9e87fca6cf1814f1471e15 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Nov 2020 18:51:17 +0000 Subject: [PATCH 118/696] build: update circular-dependency-plugin to version 5.2.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3c0d3f01dc79..dfaa52628aaf 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "browserslist": "^4.9.1", "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", + "circular-dependency-plugin": "5.2.2", "codelyzer": "^6.0.0", "common-tags": "^1.8.0", "conventional-changelog": "^3.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e5261b7d5cd7..a3f71c8841d0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "browserslist": "^4.9.1", "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", + "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "6.2.1", "core-js": "3.6.5", "css-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 280fb6d8dc0e..7d2812b08b02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3340,10 +3340,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-dependency-plugin@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93" - integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw== +circular-dependency-plugin@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== clang-format@^1.4.0: version "1.4.0" From 83fab6b4944b8aaefa92050a24e181de726a3c79 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Oct 2020 17:21:34 +0200 Subject: [PATCH 119/696] fix(@angular-devkit/build-angular): improve builder phase reporting --- .../build_angular/src/app-shell/index.ts | 11 +- .../build_angular/src/browser/index.ts | 218 ++++++++++-------- .../src/browser/specs/bundle-budgets_spec.ts | 2 - .../build_angular/src/dev-server/index.ts | 3 +- .../build_angular/src/utils/i18n-inlining.ts | 10 +- .../build_angular/src/utils/spinner.ts | 45 ++++ .../src/webpack/configs/common.ts | 45 +++- .../build_angular/src/webpack/utils/stats.ts | 9 +- tests/legacy-cli/e2e/tests/basic/e2e.ts | 2 +- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 2 +- tests/legacy-cli/e2e/tests/build/poll.ts | 2 +- .../e2e/tests/build/rebuild-css-change.ts | 2 +- .../tests/build/rebuild-deps-type-check.ts | 2 +- .../e2e/tests/build/rebuild-error.ts | 2 +- .../e2e/tests/build/rebuild-ngfactories.ts | 2 +- .../e2e/tests/build/rebuild-replacements.ts | 3 +- .../e2e/tests/build/rebuild-types.ts | 2 +- .../legacy-cli/e2e/tests/misc/live-reload.ts | 2 +- tests/legacy-cli/e2e/utils/project.ts | 2 +- 19 files changed, 232 insertions(+), 134 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/spinner.ts diff --git a/packages/angular_devkit/build_angular/src/app-shell/index.ts b/packages/angular_devkit/build_angular/src/app-shell/index.ts index 6bf05351bf07..aa447da83541 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/index.ts @@ -19,6 +19,7 @@ import { BrowserBuilderOutput } from '../browser'; import { Schema as BrowserBuilderSchema } from '../browser/schema'; import { ServerBuilderOutput } from '../server'; import { augmentAppWithServiceWorker } from '../utils/service-worker'; +import { Spinner } from '../utils/spinner'; import { Schema as BuildWebpackAppShellSchema } from './schema'; async function _renderUniversal( @@ -152,6 +153,8 @@ async function _appShellBuilder( watch: false, }); + let spinner: Spinner | undefined; + try { const [browserResult, serverResult] = await Promise.all([ browserTargetRun.result as unknown as BrowserBuilderOutput, @@ -164,8 +167,14 @@ async function _appShellBuilder( return serverResult; } - return await _renderUniversal(options, context, browserResult, serverResult); + spinner = new Spinner().start('Generating application shell...'); + const result = await _renderUniversal(options, context, browserResult, serverResult); + spinner.succeed('Application shell generation complete.'); + + return result; } catch (err) { + spinner?.fail('Application shell generation failed.'); + return { success: false, error: err.message }; } finally { // Just be good citizens and stop those jobs. diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index d0acb430b87b..c2fb535e548a 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -10,7 +10,6 @@ import { EmittedFiles, WebpackLoggingCallback, runWebpack } from '@angular-devki import { getSystemPath, json, normalize, resolve, tags, virtualFs } from '@angular-devkit/core'; import { NodeJsSyncHost } from '@angular-devkit/core/node'; import * as fs from 'fs'; -import * as ora from 'ora'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map, switchMap } from 'rxjs/operators'; @@ -48,6 +47,7 @@ import { } from '../utils/process-bundle'; import { readTsconfig } from '../utils/read-tsconfig'; import { augmentAppWithServiceWorker } from '../utils/service-worker'; +import { Spinner } from '../utils/spinner'; import { assertCompatibleAngularVersion } from '../utils/version'; import { generateI18nBrowserWebpackConfigFromContext, @@ -69,13 +69,13 @@ import { NgBuildAnalyticsPlugin } from '../webpack/plugins/analytics'; import { markAsyncChunksNonInitial } from '../webpack/utils/async-chunks'; import { BundleStats, - createWebpackLoggingCallback, generateBuildStats, generateBuildStatsTable, generateBundleStats, statsErrorsToString, statsHasErrors, statsHasWarnings, + statsToString, statsWarningsToString, } from '../webpack/utils/stats'; import { Schema as BrowserBuilderSchema } from './schema'; @@ -92,14 +92,6 @@ export type BrowserBuilderOutput = json.JsonObject & outputPath: string; }; -// todo: the below should be cleaned once dev-server support the new i18n -interface ConfigFromContextReturn { - config: webpack.Configuration; - projectRoot: string; - projectSourceRoot?: string; - i18n: I18nOptions; -} - export function getAnalyticsConfig( wco: WebpackConfigOptions, context: BuilderContext, @@ -268,7 +260,6 @@ export function buildWebpackBrowser( }), // tslint:disable-next-line: no-big-function switchMap(({ config, projectRoot, projectSourceRoot, i18n, buildBrowserFeatures, isDifferentialLoadingNeeded, target }) => { - const useBundleDownleveling = isDifferentialLoadingNeeded && !options.watch; const startTime = Date.now(); const normalizedOptimization = normalizeOptimization(options.optimization); const indexTransforms = getHtmlTransforms( @@ -280,13 +271,13 @@ export function buildWebpackBrowser( return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, logging: - transforms.logging || - (useBundleDownleveling - ? () => { } - : createWebpackLoggingCallback(!!options.verbose, context.logger)), + transforms.logging || (() => { }), }).pipe( // tslint:disable-next-line: no-big-function concatMap(async buildEvent => { + const spinner = new Spinner(); + spinner.enabled = !!options.progress; + const { webpackStats: webpackRawStats, success, emittedFiles = [] } = buildEvent; if (!webpackRawStats) { throw new Error('Webpack stats build result is required.'); @@ -300,7 +291,7 @@ export function buildWebpackBrowser( chunks: markAsyncChunksNonInitial(webpackRawStats, extraEntryPoints), }; - if (!success && useBundleDownleveling) { + if (!success) { // If using bundle downleveling then there is only one build // If it fails show any diagnostic messages and bail if (statsHasWarnings(webpackStats)) { @@ -311,7 +302,8 @@ export function buildWebpackBrowser( } return { success }; - } else if (success) { + } else { + const bundleInfoStats: BundleStats[] = []; outputPaths = ensureOutputPaths(baseOutputPath, i18n); let noModuleFiles: EmittedFiles[] | undefined; @@ -478,7 +470,7 @@ export function buildWebpackBrowser( // Execute the bundle processing actions try { - const dlSpinner = ora('Generating ES5 bundles for differential loading...').start(); + spinner.start('Generating ES5 bundles for differential loading...'); for await (const result of executor.processAll(processActions)) { processResults.push(result); } @@ -495,11 +487,10 @@ export function buildWebpackBrowser( ); } - dlSpinner.succeed('ES5 bundle generation complete.'); + spinner.succeed('ES5 bundle generation complete.'); if (i18n.shouldInline) { - const spinner = ora('Generating localized bundles...').start(); - + spinner.start('Generating localized bundles...'); const inlineActions: InlineOptions[] = []; const processedFiles = new Set(); for (const result of processResults) { @@ -577,13 +568,13 @@ export function buildWebpackBrowser( '', ); } catch (err) { - spinner.fail(colors.redBright('Localized bundle generation failed.')); + spinner.fail('Localized bundle generation failed.'); return { success: false, error: mapErrorToMessage(err) }; } if (hasErrors) { - spinner.fail(colors.redBright('Localized bundle generation failed.')); + spinner.fail('Localized bundle generation failed.'); } else { spinner.succeed('Localized bundle generation complete.'); } @@ -595,26 +586,6 @@ export function buildWebpackBrowser( } finally { executor.stop(); } - - type ArrayElement = A extends ReadonlyArray ? T : never; - function generateBundleInfoStats( - bundle: ProcessBundleFile, - chunk: ArrayElement | undefined, - ): BundleStats { - return generateBundleStats( - { - size: bundle.size, - files: bundle.map ? [bundle.filename, bundle.map.filename] : [bundle.filename], - names: chunk?.names, - entry: !!chunk?.names.includes('runtime'), - initial: !!chunk?.initial, - rendered: true, - }, - true, - ); - } - - const bundleInfoStats: BundleStats[] = []; for (const result of processResults) { const chunk = webpackStats.chunks?.find((chunk) => chunk.id.toString() === result.name); @@ -635,17 +606,6 @@ export function buildWebpackBrowser( bundleInfoStats.push(generateBundleStats({ ...chunk, size: asset?.size }, true)); } - context.logger.info( - '\n' + - generateBuildStatsTable(bundleInfoStats, colors.enabled) + - '\n\n' + - generateBuildStats( - webpackStats?.hash || '', - Date.now() - startTime, - true, - ), - ); - // Check for budget errors and display them to the user. const budgets = options.budgets || []; const budgetFailures = checkBudgets(budgets, webpackStats, processResults); @@ -661,15 +621,6 @@ export function buildWebpackBrowser( assertNever(severity); } } - - if (statsHasWarnings(webpackStats)) { - context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); - } - if (statsHasErrors(webpackStats)) { - context.logger.error(statsErrorsToString(webpackStats, { colors: true })); - - return { success: false }; - } } else { files = emittedFiles.filter(x => x.name !== 'polyfills-es5'); noModuleFiles = emittedFiles.filter(x => x.name === 'polyfills-es5'); @@ -694,6 +645,7 @@ export function buildWebpackBrowser( // Copy assets if (!options.watch && options.assets?.length) { + spinner.start('Copying assets...'); try { await copyAssets( normalizeAssetPatterns( @@ -706,54 +658,92 @@ export function buildWebpackBrowser( Array.from(outputPaths.values()), context.workspaceRoot, ); + spinner.succeed('Copying assets complete.'); } catch (err) { + spinner.fail(colors.redBright('Copying of assets failed.')); + return { success: false, error: 'Unable to copy assets: ' + err.message }; } } - for (const [locale, outputPath] of outputPaths.entries()) { - let localeBaseHref; - if (i18n.locales[locale] && i18n.locales[locale].baseHref !== '') { - localeBaseHref = urlJoin( - options.baseHref || '', - i18n.locales[locale].baseHref ?? `/${locale}/`, - ); - } + if (success) { + if (options.index) { + spinner.start('Generating index html...'); + for (const [locale, outputPath] of outputPaths.entries()) { + try { + await writeIndexHtml({ + outputPath: path.join(outputPath, getIndexOutputFile(options.index)), + indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), + files, + noModuleFiles, + moduleFiles, + baseHref: getLocaleBaseHref(i18n, locale) || options.baseHref, + deployUrl: options.deployUrl, + sri: options.subresourceIntegrity, + scripts: options.scripts, + styles: options.styles, + postTransforms: indexTransforms, + crossOrigin: options.crossOrigin, + // i18nLocale is used when Ivy is disabled + lang: locale || options.i18nLocale, + }); + } catch (error) { + spinner.fail('Index html generation failed.'); + + return { success: false, error: mapErrorToMessage(error) }; + } - try { - if (options.index) { - await writeIndexHtml({ - outputPath: path.join(outputPath, getIndexOutputFile(options.index)), - indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), - files, - noModuleFiles, - moduleFiles, - baseHref: localeBaseHref || options.baseHref, - deployUrl: options.deployUrl, - sri: options.subresourceIntegrity, - scripts: options.scripts, - styles: options.styles, - postTransforms: indexTransforms, - crossOrigin: options.crossOrigin, - // i18nLocale is used when Ivy is disabled - lang: locale || options.i18nLocale, - }); + spinner.succeed('Index html generation complete.'); } + } - if (options.serviceWorker) { - await augmentAppWithServiceWorker( - host, - root, - normalize(projectRoot), - normalize(outputPath), - localeBaseHref || options.baseHref || '/', - options.ngswConfigPath, - ); + if (options.serviceWorker) { + spinner.start('Generating service worker...'); + for (const [locale, outputPath] of outputPaths.entries()) { + try { + await augmentAppWithServiceWorker( + host, + root, + normalize(projectRoot), + normalize(outputPath), + getLocaleBaseHref(i18n, locale) || options.baseHref || '/', + options.ngswConfigPath, + ); + } catch (error) { + spinner.fail('Service worker generation failed.'); + + return { success: false, error: mapErrorToMessage(error) }; + } + + spinner.succeed('Service worker generation complete.'); } - } catch (err) { - return { success: false, error: mapErrorToMessage(err) }; } } + + if (bundleInfoStats.length) { + context.logger.info( + '\n' + + generateBuildStatsTable(bundleInfoStats, colors.enabled) + + '\n\n' + + generateBuildStats( + webpackStats?.hash || '', + Date.now() - startTime, + true, + ), + ); + } else { + context.logger.info(statsToString(webpackStats, config.stats)); + } + + if (statsHasWarnings(webpackStats)) { + context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); + } + + if (statsHasErrors(webpackStats)) { + context.logger.error(statsErrorsToString(webpackStats, { colors: true })); + + return { success: false }; + } } return { success }; @@ -770,6 +760,17 @@ export function buildWebpackBrowser( ); }), ); + + function getLocaleBaseHref(i18n: I18nOptions, locale: string): string | undefined { + if (i18n.locales[locale] && i18n.locales[locale]?.baseHref !== '') { + return urlJoin( + options.baseHref || '', + i18n.locales[locale].baseHref ?? `/${locale}/`, + ); + } + + return undefined; + } } function mapErrorToMessage(error: unknown): string | undefined { @@ -789,4 +790,21 @@ function assertNever(input: never): never { JSON.stringify(input, null /* replacer */, 4 /* tabSize */)}`); } +type ArrayElement = A extends ReadonlyArray ? T : never; +function generateBundleInfoStats( + bundle: ProcessBundleFile, + chunk: ArrayElement | undefined, +): BundleStats { + return generateBundleStats( + { + size: bundle.size, + files: bundle.map ? [bundle.filename, bundle.map.filename] : [bundle.filename], + names: chunk?.names, + entry: !!chunk?.names.includes('runtime'), + initial: !!chunk?.initial, + rendered: true, + }, + true, + ); +} export default createBuilder(buildWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts index 3eaed7bb7d63..e8fbf1434282 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts @@ -99,7 +99,6 @@ describe('Browser Builder bundle budgets', () => { const run = await architect.scheduleTarget(targetSpec, overrides, { logger }); const output = await run.result; expect(output.success).toBe(true); - expect(logs.length).toBe(2); expect(logs.join()).toMatch(`Warning.+app\.component\.${ext}`); await run.stop(); }); @@ -139,7 +138,6 @@ describe('Browser Builder bundle budgets', () => { const run = await architect.scheduleTarget(targetSpec, overrides, { logger }); const output = await run.result; expect(output.success).toBe(false); - expect(logs.length).toBe(2); expect(logs.join()).toMatch(`Error.+app\.component\.${ext}`); await run.stop(); }); diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 24e521f3aed4..a7e48cb94d89 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -27,6 +27,7 @@ import { ExecutionTransformer } from '../transforms'; import { BuildBrowserFeatures, normalizeOptimization } from '../utils'; import { findCachePath } from '../utils/cache-path'; import { checkPort } from '../utils/check-port'; +import { colors } from '../utils/color'; import { I18nOptions } from '../utils/i18n-options'; import { getHtmlTransforms } from '../utils/index-file/transforms'; import { IndexHtmlTransform } from '../utils/index-file/write-index-html'; @@ -328,7 +329,7 @@ export function serveWebpackBrowser( } if (buildEvent.success) { - logger.info(': Compiled successfully.'); + logger.info(`${colors.greenBright(colors.symbols.check)} Compiled successfully.`); } return of({ ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput); diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index 66a905c1ef95..ee1fb9e9e49d 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -8,13 +8,12 @@ import { BuilderContext } from '@angular-devkit/architect'; import { EmittedFiles } from '@angular-devkit/build-webpack'; import * as fs from 'fs'; -import * as ora from 'ora'; import * as path from 'path'; import { BundleActionExecutor } from './action-executor'; -import { colors } from './color'; import { copyAssets } from './copy-assets'; import { I18nOptions } from './i18n-options'; import { InlineOptions } from './process-bundle'; +import { Spinner } from './spinner'; function emittedFilesToInlineOptions( emittedFiles: EmittedFiles[], @@ -75,7 +74,8 @@ export async function i18nInlineEmittedFiles( ): Promise { const executor = new BundleActionExecutor({ i18n }); let hasErrors = false; - const spinner = ora('Generating localized bundles...').start(); + const spinner = new Spinner(); + spinner.start('Generating localized bundles...'); try { const { options, originalFiles: processedFiles } = emittedFilesToInlineOptions( @@ -114,7 +114,7 @@ export async function i18nInlineEmittedFiles( '', ); } catch (err) { - spinner.fail(colors.redBright('Localized bundle generation failed: ' + err.message)); + spinner.fail('Localized bundle generation failed: ' + err.message); return false; } finally { @@ -122,7 +122,7 @@ export async function i18nInlineEmittedFiles( } if (hasErrors) { - spinner.fail(colors.redBright('Localized bundle generation failed.')); + spinner.fail('Localized bundle generation failed.'); } else { spinner.succeed('Localized bundle generation complete.'); } diff --git a/packages/angular_devkit/build_angular/src/utils/spinner.ts b/packages/angular_devkit/build_angular/src/utils/spinner.ts new file mode 100644 index 000000000000..83c73de9cc66 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/spinner.ts @@ -0,0 +1,45 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import * as ora from 'ora'; +import { colors } from './color'; + +export class Spinner { + private readonly spinner: ora.Ora; + + /** When false, only fail messages will be displayed. */ + enabled = true; + + constructor(text?: string) { + this.spinner = ora(text); + } + + set text(text: string) { + this.spinner.text = text; + } + + succeed(text?: string): void { + if (this.enabled) { + this.spinner.succeed(text); + } + } + + fail(text?: string): void { + this.spinner.fail(text && colors.redBright(text)); + } + + stop(): void { + this.spinner.stop(); + } + + start(text?: string) { + if (this.enabled) { + this.spinner.start(text); + } + } +} diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index fe46a08139a0..8a237708f49b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -37,6 +37,7 @@ import { shouldBeautify, } from '../../utils/environment-options'; import { findAllNodeModules } from '../../utils/find-up'; +import { Spinner } from '../../utils/spinner'; import { isWebpackFiveOrHigher, withWebpackFourOrFive } from '../../utils/webpack-version'; import { BundleBudgetPlugin, @@ -54,12 +55,18 @@ const PnpWebpackPlugin = require('pnp-webpack-plugin'); // tslint:disable-next-line:no-big-function export function getCommonConfig(wco: WebpackConfigOptions): Configuration { const { root, projectRoot, buildOptions, tsConfig } = wco; - const { styles: stylesOptimization, scripts: scriptsOptimization } = buildOptions.optimization; const { - styles: stylesSourceMap, - scripts: scriptsSourceMap, - vendor: vendorSourceMap, - } = buildOptions.sourceMap; + platform = 'browser', + sourceMap: { + styles: stylesSourceMap, + scripts: scriptsSourceMap, + vendor: vendorSourceMap, + }, + optimization: { + styles: stylesOptimization, + scripts: scriptsOptimization, + }, + } = buildOptions; const extraPlugins: { apply(compiler: Compiler): void }[] = []; const extraRules: RuleSetRule[] = []; @@ -122,7 +129,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { } const differentialLoadingMode = buildOptions.differentialLoadingMode; - if (wco.buildOptions.platform !== 'server') { + if (platform !== 'server') { if (differentialLoadingMode || tsConfig.options.target === ScriptTarget.ES5) { const buildBrowserFeatures = new BuildBrowserFeatures( projectRoot, @@ -301,7 +308,23 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { if (buildOptions.progress) { const ProgressPlugin = require('webpack/lib/ProgressPlugin'); - extraPlugins.push(new ProgressPlugin({ profile: buildOptions.verbose })); + const spinner = new Spinner(); + + extraPlugins.push(new ProgressPlugin({ + handler: (percentage: number, message: string) => { + switch (percentage) { + case 0: + spinner.start(`Generating ${platform} application bundles...`); + break; + case 1: + spinner.succeed(`${platform.replace(/^\w/, s => s.toUpperCase())} application bundle generation complete.`); + break; + default: + spinner.text = `Generating ${platform} application bundles (phase: ${message})...`; + break; + } + }, + })); } if (buildOptions.showCircularDependencies) { @@ -394,7 +417,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { // to remove dev code, and ngI18nClosureMode to remove Closure compiler i18n code compress: allowMinify && - (buildOptions.platform == 'server' + (platform === 'server' ? { ecma: terserEcma, global_defs: angularGlobalDefinitions, @@ -410,7 +433,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { }), // We also want to avoid mangling on server. // Name mangling is handled within the browser builder - mangle: allowMangle && buildOptions.platform !== 'server' && !differentialLoadingMode, + mangle: allowMangle && platform !== 'server' && !differentialLoadingMode, }; const globalScriptsNames = globalScriptsByBundleName.map(s => s.bundleName); @@ -441,7 +464,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { ...terserOptions.output, ecma: 5, }, - mangle: allowMangle && buildOptions.platform !== 'server', + mangle: allowMangle && platform !== 'server', }, }), ); @@ -503,7 +526,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { options: { name: `[name]${hashFormat.file}.[ext]`, // Re-use emitted files from browser builder on the server. - emitFile: wco.buildOptions.platform !== 'server', + emitFile: platform !== 'server', }, }, { diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 0ddbaf47fb2a..8c554aeaa685 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -122,19 +122,24 @@ export function statsToString(json: any, statsConfig: any) { const unchangedChunkNumber = json.chunks.length - changedChunksStats.length; const statsTable = generateBuildStatsTable(changedChunksStats, colors); + // In some cases we do things outside of webpack context + // Such us index generation, service worker augmentation etc... + // This will correct the time and include these. + const time = (Date.now() - json.builtAt) + json.time; + if (unchangedChunkNumber > 0) { return '\n' + rs(tags.stripIndents` ${statsTable} ${unchangedChunkNumber} unchanged chunks - ${generateBuildStats(json.hash, json.time, colors)} + ${generateBuildStats(json.hash, time, colors)} `); } else { return '\n' + rs(tags.stripIndents` ${statsTable} - ${generateBuildStats(json.hash, json.time, colors)} + ${generateBuildStats(json.hash, time, colors)} `); } } diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index 8f7ef2de0569..20b8465cdfc6 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -59,7 +59,7 @@ export default function () { )) // Should run side-by-side with `ng serve` .then(() => execAndWaitForOutputToMatch('ng', ['serve'], - /: Compiled successfully./)) + / Compiled successfully./)) .then(() => ng('e2e', 'test-project', '--devServerTarget=')) .then(() => killAllProcesses(), (err: any) => { killAllProcesses(); diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index 8f2ef17dae99..27645ab86a12 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -8,7 +8,7 @@ import {writeFile, writeMultipleFiles} from '../../utils/fs'; import {wait} from '../../utils/utils'; import {request} from '../../utils/http'; -const validBundleRegEx = /: Compiled successfully./; +const validBundleRegEx = / Compiled successfully./; export default function() { return execAndWaitForOutputToMatch('ng', ['serve'], validBundleRegEx) diff --git a/tests/legacy-cli/e2e/tests/build/poll.ts b/tests/legacy-cli/e2e/tests/build/poll.ts index e2aacf46f586..9a63d5edb1c2 100644 --- a/tests/legacy-cli/e2e/tests/build/poll.ts +++ b/tests/legacy-cli/e2e/tests/build/poll.ts @@ -6,7 +6,7 @@ import { import { ngServe } from '../../utils/project'; import { expectToFail, wait } from '../../utils/utils'; -const webpackGoodRegEx = /: Compiled successfully./; +const webpackGoodRegEx = / Compiled successfully./; export default async function() { try { diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts b/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts index 739e946bd8ff..952220ec662e 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts @@ -6,7 +6,7 @@ import { import {appendToFile} from '../../utils/fs'; import {getGlobalVariable} from '../../utils/env'; -const webpackGoodRegEx = /: Compiled successfully./; +const webpackGoodRegEx = / Compiled successfully./; export default function() { // TODO(architect): Delete this test. It is now in devkit/build-angular. diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts index 57f051357200..a4942e1d0d99 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts @@ -7,7 +7,7 @@ import {writeFile, prependToFile, appendToFile} from '../../utils/fs'; const doneRe = - /: Compiled successfully.|: Failed to compile./; + / Compiled successfully.|: Failed to compile./; const errorRe = /Error/; diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts b/tests/legacy-cli/e2e/tests/build/rebuild-error.ts index ac5070a29e40..2aeb84e291d0 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-error.ts @@ -9,7 +9,7 @@ import { wait, expectToFail } from '../../utils/utils'; const failedRe = /: Failed to compile/; -const successRe = /: Compiled successfully/; +const successRe = / Compiled successfully/; const errorRe = /ERROR in/; const extraErrors = [ `Final loader didn't return a Buffer or String`, diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts b/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts index 1828ca8efaf7..d87d343d2256 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts @@ -6,7 +6,7 @@ import { import { appendToFile, writeMultipleFiles, replaceInFile, expectFileToMatch } from '../../utils/fs'; import { getGlobalVariable } from '../../utils/env'; -const validBundleRegEx = /: Compiled successfully./; +const validBundleRegEx = / Compiled successfully./; export default function () { // TODO(architect): This test is behaving oddly both here and in devkit/build-angular. diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts index b38df33587b7..12b4428cd142 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts @@ -1,4 +1,3 @@ -import { getGlobalVariable } from '../../utils/env'; import { appendToFile } from '../../utils/fs'; import { execAndWaitForOutputToMatch, @@ -7,7 +6,7 @@ import { } from '../../utils/process'; import { wait } from '../../utils/utils'; -const webpackGoodRegEx = /: Compiled successfully./; +const webpackGoodRegEx = / Compiled successfully./; export default async function() { if (process.platform.startsWith('win')) { diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts index 4056dee0b802..90d1bc4c2eff 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts @@ -7,7 +7,7 @@ import { writeFile, prependToFile } from '../../utils/fs'; import {getGlobalVariable} from '../../utils/env'; -const successRe = /: Compiled successfully/; +const successRe = / Compiled successfully/; export default async function() { // TODO(architect): Delete this test. It is now in devkit/build-angular. diff --git a/tests/legacy-cli/e2e/tests/misc/live-reload.ts b/tests/legacy-cli/e2e/tests/misc/live-reload.ts index c70ae92ab091..8787089dcd7d 100644 --- a/tests/legacy-cli/e2e/tests/misc/live-reload.ts +++ b/tests/legacy-cli/e2e/tests/misc/live-reload.ts @@ -15,7 +15,7 @@ export default function temporarilyDisabledTest() { return Promise.resolve(); } // export default function () { // const protractorGoodRegEx = /Jasmine started/; -// const webpackGoodRegEx = /: Compiled successfully./; +// const webpackGoodRegEx = / Compiled successfully./; // // Create an express api for the Angular app to call. // const app = express(); diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 02d10a15264d..4be5dce5145c 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -30,7 +30,7 @@ export function updateTsConfig(fn: (json: any) => any | void) { export function ngServe(...args: string[]) { return execAndWaitForOutputToMatch('ng', ['serve', ...args], - /: Compiled successfully./); + / Compiled successfully./); } From 4cee3eb9a57961ba969d58d99f2d3582b10aa564 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sat, 24 Oct 2020 13:23:40 +0200 Subject: [PATCH 120/696] fix(@angular-devkit/build-angular): show verbose logging when using `--verbose` and differential loading --- .../build_angular/src/browser/index.ts | 41 +++--------- .../build_angular/src/webpack/utils/stats.ts | 67 +++++++++++-------- 2 files changed, 49 insertions(+), 59 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index c2fb535e548a..9b5761b3eab6 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -69,14 +69,12 @@ import { NgBuildAnalyticsPlugin } from '../webpack/plugins/analytics'; import { markAsyncChunksNonInitial } from '../webpack/utils/async-chunks'; import { BundleStats, - generateBuildStats, - generateBuildStatsTable, generateBundleStats, statsErrorsToString, statsHasErrors, statsHasWarnings, - statsToString, statsWarningsToString, + webpackStatsLogger, } from '../webpack/utils/stats'; import { Schema as BrowserBuilderSchema } from './schema'; @@ -260,7 +258,6 @@ export function buildWebpackBrowser( }), // tslint:disable-next-line: no-big-function switchMap(({ config, projectRoot, projectSourceRoot, i18n, buildBrowserFeatures, isDifferentialLoadingNeeded, target }) => { - const startTime = Date.now(); const normalizedOptimization = normalizeOptimization(options.optimization); const indexTransforms = getHtmlTransforms( normalizedOptimization, @@ -270,8 +267,13 @@ export function buildWebpackBrowser( return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, - logging: - transforms.logging || (() => { }), + logging: transforms.logging || ( + (stats, config) => { + if (options.verbose) { + context.logger.info(stats.toString(config.stats)); + } + } + ), }).pipe( // tslint:disable-next-line: no-big-function concatMap(async buildEvent => { @@ -720,33 +722,10 @@ export function buildWebpackBrowser( } } - if (bundleInfoStats.length) { - context.logger.info( - '\n' + - generateBuildStatsTable(bundleInfoStats, colors.enabled) + - '\n\n' + - generateBuildStats( - webpackStats?.hash || '', - Date.now() - startTime, - true, - ), - ); - } else { - context.logger.info(statsToString(webpackStats, config.stats)); - } + webpackStatsLogger(context.logger, webpackStats, config, bundleInfoStats); - if (statsHasWarnings(webpackStats)) { - context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); - } - - if (statsHasErrors(webpackStats)) { - context.logger.error(statsErrorsToString(webpackStats, { colors: true })); - - return { success: false }; - } + return { success: !statsHasErrors(webpackStats) }; } - - return { success }; }), map( event => diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 8c554aeaa685..6cc2cb098a6d 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -12,6 +12,7 @@ import { WebpackLoggingCallback } from '@angular-devkit/build-webpack'; import * as path from 'path'; import * as textTable from 'text-table'; import { colors as ansiColors, removeColor } from '../../utils/color'; +import { Configuration, Stats } from 'webpack'; export function formatSize(size: number): string { if (size <= 0) { @@ -56,10 +57,10 @@ export function generateBundleStats( } } -export function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { +function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { const changedEntryChunksStats: BundleStatsData[] = []; const changedLazyChunksStats: BundleStatsData[] = []; - for (const {initial, stats} of data) { + for (const { initial, stats } of data) { if (initial) { changedEntryChunksStats.push(stats); } else { @@ -89,7 +90,7 @@ export function generateBuildStatsTable(data: BundleStats[], colors: boolean): s if (changedLazyChunksStats.length) { bundleInfo.push( ['Lazy Chunk Files', 'Names', 'Size'].map(bold), - ...changedLazyChunksStats, + ...changedLazyChunksStats, ); } @@ -99,27 +100,30 @@ export function generateBuildStatsTable(data: BundleStats[], colors: boolean): s }); } -export function generateBuildStats(hash: string, time: number, colors: boolean): string { +function generateBuildStats(hash: string, time: number, colors: boolean): string { const w = (x: string) => colors ? ansiColors.bold.white(x) : x; return `Build at: ${w(new Date().toISOString())} - Hash: ${w(hash)} - Time: ${w('' + time)}ms`; } -export function statsToString(json: any, statsConfig: any) { +function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]): string { const colors = statsConfig.colors; const rs = (x: string) => colors ? ansiColors.reset(x) : x; - const changedChunksStats: BundleStats[] = []; - for (const chunk of json.chunks) { - if (!chunk.rendered) { - continue; - } + const changedChunksStats: BundleStats[] = bundleState ?? []; + let unchangedChunkNumber = 0; + if (!bundleState?.length) { + for (const chunk of json.chunks) { + if (!chunk.rendered) { + continue; + } - const assets = json.assets.filter((asset: any) => chunk.files.includes(asset.name)); - const summedSize = assets.filter((asset: any) => !asset.name.endsWith(".map")).reduce((total: number, asset: any) => { return total + asset.size }, 0); - changedChunksStats.push(generateBundleStats({ ...chunk, size: summedSize }, colors)); + const assets = json.assets.filter((asset: any) => chunk.files.includes(asset.name)); + const summedSize = assets.filter((asset: any) => !asset.name.endsWith(".map")).reduce((total: number, asset: any) => { return total + asset.size }, 0); + changedChunksStats.push(generateBundleStats({ ...chunk, size: summedSize }, colors)); + } + unchangedChunkNumber = json.chunks.length - changedChunksStats.length; } - const unchangedChunkNumber = json.chunks.length - changedChunksStats.length; const statsTable = generateBuildStatsTable(changedChunksStats, colors); // In some cases we do things outside of webpack context @@ -180,7 +184,7 @@ export function statsWarningsToString(json: any, statsConfig: any): string { output += yb(`Warning: ${warning}\n\n`); } else { if (!ERRONEOUS_WARNINGS_FILTER(warning.message)) { - continue; + continue; } const file = warning.file || warning.moduleName; if (file) { @@ -198,7 +202,7 @@ export function statsWarningsToString(json: any, statsConfig: any): string { } if (output) { - return '\n' + output; + return '\n' + output; } return ''; @@ -239,7 +243,7 @@ export function statsErrorsToString(json: any, statsConfig: any): string { } if (output) { - return '\n' + output; + return '\n' + output; } return ''; @@ -259,19 +263,26 @@ export function createWebpackLoggingCallback( logger: logging.LoggerApi, ): WebpackLoggingCallback { return (stats, config) => { - // config.stats contains our own stats settings, added during buildWebpackConfig(). - const json = stats.toJson(config.stats); if (verbose) { logger.info(stats.toString(config.stats)); - } else { - logger.info(statsToString(json, config.stats)); } - if (statsHasWarnings(json)) { - logger.warn(statsWarningsToString(json, config.stats)); - } - if (statsHasErrors(json)) { - logger.error(statsErrorsToString(json, config.stats)); - } - }; + webpackStatsLogger(logger, stats.toJson(config.stats), config); + } } + +export function webpackStatsLogger( + logger: logging.LoggerApi, + json: Stats.ToJsonOutput, + config: Configuration, + bundleStats?: BundleStats[], +): void { + logger.info(statsToString(json, config.stats, bundleStats)); + + if (statsHasWarnings(json)) { + logger.warn(statsWarningsToString(json, config.stats)); + } + if (statsHasErrors(json)) { + logger.error(statsErrorsToString(json, config.stats)); + } +}; From 0d3d679ac271a46cf9711e082a540b1306e79f28 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sat, 24 Oct 2020 13:24:13 +0200 Subject: [PATCH 121/696] fix(@angular-devkit/build-angular): improve server builder output logs --- .../build_angular/src/app-shell/index.ts | 3 +- .../build_angular/src/server/index.ts | 49 ++++++++++--------- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/app-shell/index.ts b/packages/angular_devkit/build_angular/src/app-shell/index.ts index aa447da83541..2033fa73fbad 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/index.ts @@ -167,7 +167,8 @@ async function _appShellBuilder( return serverResult; } - spinner = new Spinner().start('Generating application shell...'); + spinner = new Spinner(); + spinner.start('Generating application shell...'); const result = await _renderUniversal(options, context, browserResult, serverResult); spinner.succeed('Application shell generation complete.'); diff --git a/packages/angular_devkit/build_angular/src/server/index.ts b/packages/angular_devkit/build_angular/src/server/index.ts index f19ea4d01e27..85dd9330c674 100644 --- a/packages/angular_devkit/build_angular/src/server/index.ts +++ b/packages/angular_devkit/build_angular/src/server/index.ts @@ -28,7 +28,7 @@ import { getStatsConfig, getStylesConfig, } from '../webpack/configs'; -import { createWebpackLoggingCallback } from '../webpack/utils/stats'; +import { webpackStatsLogger } from '../webpack/utils/stats'; import { Schema as ServerBuilderOptions } from './schema'; // If success is true, outputPath should be set. @@ -85,34 +85,39 @@ export function execute( concatMap(({ config, i18n }) => { return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, - logging: createWebpackLoggingCallback(!!options.verbose, context.logger), + logging: (stats, config) => { + if (options.verbose) { + context.logger.info(stats.toString(config.stats)); + } + }, }).pipe( concatMap(async output => { const { emittedFiles = [], webpackStats } = output; - if (!output.success || !i18n.shouldInline) { - return output; - } - if (!webpackStats) { throw new Error('Webpack stats build result is required.'); } - outputPaths = ensureOutputPaths(baseOutputPath, i18n); - - const success = await i18nInlineEmittedFiles( - context, - emittedFiles, - i18n, - baseOutputPath, - Array.from(outputPaths.values()), - [], - // tslint:disable-next-line: no-non-null-assertion - webpackStats.outputPath!, - target <= ScriptTarget.ES5, - options.i18nMissingTranslation, - ); - - return { output, success }; + let success = output.success; + if (success && i18n.shouldInline) { + outputPaths = ensureOutputPaths(baseOutputPath, i18n); + + success = await i18nInlineEmittedFiles( + context, + emittedFiles, + i18n, + baseOutputPath, + Array.from(outputPaths.values()), + [], + // tslint:disable-next-line: no-non-null-assertion + webpackStats.outputPath!, + target <= ScriptTarget.ES5, + options.i18nMissingTranslation, + ); + } + + webpackStatsLogger(context.logger, webpackStats, config); + + return { ...output, success }; }), ); }), From ed2f03d4c0a3050c78cb34006229d07047aed0ab Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 09:04:36 +0100 Subject: [PATCH 122/696] test(@angular-devkit/build-angular): add test to check build logs --- tests/legacy-cli/e2e/tests/basic/build.ts | 34 ++++++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/basic/build.ts b/tests/legacy-cli/e2e/tests/basic/build.ts index 824a2723c41d..94bb74df0fb6 100644 --- a/tests/legacy-cli/e2e/tests/basic/build.ts +++ b/tests/legacy-cli/e2e/tests/basic/build.ts @@ -1,4 +1,4 @@ -import { expectFileToMatch } from '../../utils/fs'; +import { expectFileToMatch, replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; @@ -12,8 +12,34 @@ export default async function() { await ng('build', 'test-project', '--no-progress'); await ng('build', '--no-progress', 'test-project'); + // Enable Differential loading to run both size checks + await replaceInFile( + '.browserslistrc', + 'not IE 11', + 'IE 11', + ); // Production build - await ng('build', '--prod'); - await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{20}\.js/); - await ng('build', '--prod', '--no-progress', 'test-project'); + const { stderr: stderrProgress } = await ng('build', '--prod', '--progress'); + await expectFileToMatch('dist/test-project/index.html', /main-es5\.[a-zA-Z0-9]{20}\.js/); + await expectFileToMatch('dist/test-project/index.html', /main-es2015\.[a-zA-Z0-9]{20}\.js/); + + const logs: string[] = [ + 'Browser application bundle generation complete', + 'ES5 bundle generation complete', + 'Copying assets complete', + 'Index html generation complete', + ]; + + for (const log of logs) { + if (!stderrProgress.includes(log)) { + throw new Error(`Expected stderr to contain '${log}' but didn't.\n${stderrProgress}`); + } + } + + const { stderr: stderrNoProgress } = await ng('build', '--prod', '--no-progress'); + for (const log of logs) { + if (stderrNoProgress.includes(log)) { + throw new Error(`Expected stderr not to contain '${log}' but it did.\n${stderrProgress}`); + } + } } From f52fd29165916aab4c529da4dc386f3d1c773648 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 11:48:14 +0100 Subject: [PATCH 123/696] fix(@ngtools/webpack): show zone.js incompatibility warning when using ES2017+ Closes: #19226 --- .../build_angular/src/webpack/configs/common.ts | 12 ------------ packages/ngtools/webpack/README.md | 2 ++ .../ngtools/webpack/src/angular_compiler_plugin.ts | 12 ++++++++++++ packages/ngtools/webpack/src/interfaces.ts | 8 ++++++++ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 8a237708f49b..9528b29b2fab 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -9,7 +9,6 @@ import { BuildOptimizerWebpackPlugin, buildOptimizerLoaderPath, } from '@angular-devkit/build-optimizer'; -import { tags } from '@angular-devkit/core'; import * as CopyWebpackPlugin from 'copy-webpack-plugin'; import { existsSync } from 'fs'; import * as path from 'path'; @@ -470,17 +469,6 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { ); } - if ( - wco.tsConfig.options.target !== undefined && - wco.tsConfig.options.target >= ScriptTarget.ES2017 - ) { - wco.logger.warn(tags.stripIndent` - Warning: Zone.js does not support native async/await in ES2017. - These blocks are not intercepted by zone.js and will not triggering change detection. - See: https://github.com/angular/zone.js/pull/1140 for more information. - `); - } - return { mode: scriptsOptimization || stylesOptimization ? 'production' : 'development', devtool: false, diff --git a/packages/ngtools/webpack/README.md b/packages/ngtools/webpack/README.md index f16bfcd50994..c656a4b78904 100644 --- a/packages/ngtools/webpack/README.md +++ b/packages/ngtools/webpack/README.md @@ -63,6 +63,8 @@ The loader works with webpack plugin to compile your TypeScript. It's important * `i18nOutFile`. Optional and only used for View Engine compilations. The name of the file to write extractions to. * `i18nOutFormat`. Optional and only used for View Engine compilations. The format of the localization file where extractions will be written to. * `locale`. Optional and only used for View Engine compilations. Locale to use for i18n. +* `suppressZoneJsIncompatibilityWarning`. Optional, defaults to `false`. A Zone.js incompatibility warning is shown when the compilation target is ES2017+. Zone.js does not support native async/await in ES2017+. These blocks are not intercepted by zone.js and will not triggering change detection. +See https://github.com/angular/zone.js/pull/1140 for more information. ## Features The benefits and ability of using [`@ngtools/webpack`](https://www.npmjs.com/~ngtools) standalone from the Angular CLI as presented in [Stephen Fluin's Angular CLI talk](https://youtu.be/uBRK6cTr4Vk?t=6m45s) at Angular Connect 2016: diff --git a/packages/ngtools/webpack/src/angular_compiler_plugin.ts b/packages/ngtools/webpack/src/angular_compiler_plugin.ts index f827ee38a155..3907f1c557ae 100644 --- a/packages/ngtools/webpack/src/angular_compiler_plugin.ts +++ b/packages/ngtools/webpack/src/angular_compiler_plugin.ts @@ -269,6 +269,18 @@ export class AngularCompilerPlugin { this._discoverLazyRoutes = options.discoverLazyRoutes; } + if ( + !this.options.suppressZoneJsIncompatibilityWarning && + this._compilerOptions.target !== undefined && + this._compilerOptions.target >= ts.ScriptTarget.ES2017 + ) { + this._warnings.push( + 'Zone.js does not support native async/await in ES2017+.\n' + + 'These blocks are not intercepted by zone.js and will not triggering change detection.\n' + + 'See: https://github.com/angular/zone.js/pull/1140 for more information.', + ); + } + if (this._discoverLazyRoutes === false && this.options.additionalLazyModuleResources && this.options.additionalLazyModuleResources.length > 0) { this._warnings.push( diff --git a/packages/ngtools/webpack/src/interfaces.ts b/packages/ngtools/webpack/src/interfaces.ts index 09a0c3772a16..956220b95e6a 100644 --- a/packages/ngtools/webpack/src/interfaces.ts +++ b/packages/ngtools/webpack/src/interfaces.ts @@ -83,4 +83,12 @@ export interface AngularCompilerPluginOptions { host?: virtualFs.Host; platformTransformers?: ts.TransformerFactory[]; + + /** + * Suppress Zone.js incompatibility warning when using ES2017+. + * Zone.js does not support native async/await in ES2017+. + * These blocks are not intercepted by zone.js and will not triggering change detection. + * @see https://github.com/angular/zone.js/pull/1140 + */ + suppressZoneJsIncompatibilityWarning?: boolean; } From 94ada4f6b8dbcc8c400fd4e60985fcce50fece0d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 13:22:28 +0100 Subject: [PATCH 124/696] docs(@angular/cli): use application instead of app --- packages/angular/cli/commands/new.json | 4 ++-- packages/angular/cli/commands/new.md | 14 +++++++------- .../schematics/angular/application/schema.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/angular/cli/commands/new.json b/packages/angular/cli/commands/new.json index 89cfbda500dd..7cc57a3a038b 100644 --- a/packages/angular/cli/commands/new.json +++ b/packages/angular/cli/commands/new.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/schema", "$id": "ng-cli://commands/new.json", - "description": "Creates a new workspace and an initial Angular app.", + "description": "Creates a new workspace and an initial Angular application.", "$longDescription": "./new.md", "$aliases": [ "n" ], @@ -16,7 +16,7 @@ "collection": { "type": "string", "aliases": [ "c" ], - "description": "A collection of schematics to use in generating the initial app." + "description": "A collection of schematics to use in generating the initial application." }, "verbose": { "type": "boolean", diff --git a/packages/angular/cli/commands/new.md b/packages/angular/cli/commands/new.md index 822deb745ee1..5d344b5d4312 100644 --- a/packages/angular/cli/commands/new.md +++ b/packages/angular/cli/commands/new.md @@ -1,16 +1,16 @@ -Creates and initializes a new Angular app that is the default project for a new workspace. +Creates and initializes a new Angular application that is the default project for a new workspace. Provides interactive prompts for optional configuration, such as adding routing support. All prompts can safely be allowed to default. * The new workspace folder is given the specified project name, and contains configuration files at the top level. -* By default, the files for a new initial app (with the same name as the workspace) are placed in the `src/` subfolder. Corresponding end-to-end tests are placed in the `e2e/` subfolder. +* By default, the files for a new initial application (with the same name as the workspace) are placed in the `src/` subfolder. Corresponding end-to-end tests are placed in the `e2e/` subfolder. -* The new app's configuration appears in the `projects` section of the `angular.json` workspace configuration file, under its project name. +* The new application's configuration appears in the `projects` section of the `angular.json` workspace configuration file, under its project name. -* Subsequent apps that you generate in the workspace reside in the `projects/` subfolder. +* Subsequent applications that you generate in the workspace reside in the `projects/` subfolder. -If you plan to have multiple apps in the workspace, you can create an empty workspace by setting the `--createApplication` option to false. -You can then use `ng generate application` to create an initial app. -This allows a workspace name different from the initial app name, and ensures that all apps reside in the `/projects` subfolder, matching the structure of the configuration file. \ No newline at end of file +If you plan to have multiple applications in the workspace, you can create an empty workspace by setting the `--createApplication` option to false. +You can then use `ng generate application` to create an initial application. +This allows a workspace name different from the initial app name, and ensures that all applications reside in the `/projects` subfolder, matching the structure of the configuration file. \ No newline at end of file diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index 0c805352f76b..6a9d4942afd7 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -76,7 +76,7 @@ "x-user-analytics": 5 }, "skipTests": { - "description": "When true, does not create \"spec.ts\" test files for the app.", + "description": "When true, does not create \"spec.ts\" test files for the application.", "type": "boolean", "default": false, "alias": "S", From bb370f00864911f0a58bcbf77bad3606a4c41a79 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 29 Oct 2020 18:34:31 -0400 Subject: [PATCH 125/696] fix(@angular-devkit/build-optimizer): mark rxjs add imports as having side effects This change prevents the build optimizer from removing the operator add imports from the rxjs package (for example, `import 'rxjs/add/operator/filter';`). The entire rxjs package is currently marked as side effect free from within the rxjs `package.json` but the files in the add directory intentionally contain side effects. --- .../build_optimizer/src/build-optimizer/build-optimizer.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts index 65b93f2731ea..04bddef732f4 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts @@ -54,6 +54,11 @@ function isKnownCoreFile(filePath: string) { } function isKnownSideEffectFree(filePath: string) { + // rxjs add imports contain intentional side effects + if (/[\\/]node_modules[\\/]rxjs[\\/]add[\\/]/.test(filePath)) { + return false; + } + return ngFactories.some((s) => filePath.endsWith(s)) || knownSideEffectFreeAngularModules.some((re) => re.test(filePath)); } From 6cd97b367a8ae6d33e863b9b610b255cd9e24bdd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 30 Oct 2020 08:45:08 +0100 Subject: [PATCH 126/696] fix(@angular-devkit/build-angular): improve network error message during fonts inlining Closes #19259 --- .../build_angular/src/utils/index-file/inline-fonts.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index 071a88e2213d..e26d43f83292 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -115,7 +115,11 @@ export class InlineFontsProcessor { .on('end', () => resolve(rawResponse)); }, ) - .on('error', e => reject(e)); + .on('error', e => + reject(new Error( + `Inlining of fonts failed. An error has occurred while retrieving ${url} over the internet.\n` + + e.message, + ))); }); if (cacheFontsPath) { From bbbda81f9e9ff5603da2843b60620260fef7b008 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 30 Oct 2020 13:51:08 -0400 Subject: [PATCH 127/696] fix(@angular-devkit/build-angular): control legacy ID i18n extraction via TypeScript configuration This change allows the usage of the legacy i18n message identifier format during extraction to be controlled via the `angularCompilerOptions` option `enableI18nLegacyMessageIdFormat` within the application's TypeScript configuration. --- .../angular_devkit/build_angular/src/extract-i18n/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts index 1c5445cb510d..1ff1f894d459 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts @@ -42,7 +42,7 @@ function getI18nOutfile(format: string | undefined) { } } -async function getSerializer(format: Format, sourceLocale: string, basePath: string, useLegacyIds = true) { +async function getSerializer(format: Format, sourceLocale: string, basePath: string, useLegacyIds: boolean) { switch (format) { case Format.Xmb: const { XmbTranslationSerializer } = @@ -125,6 +125,7 @@ export async function execute( const i18n = createI18nOptions(metadata); let usingIvy = false; + let useLegacyIds = true; const ivyMessages: LocalizeMessage[] = []; const { config, projectRoot } = await generateBrowserWebpackConfigFromContext( @@ -154,6 +155,9 @@ export async function execute( (wco) => { const isIvyApplication = wco.tsConfig.options.enableIvy !== false; + // Default value for legacy message ids is currently true + useLegacyIds = wco.tsConfig.options.enableI18nLegacyMessageIdFormat ?? true; + // Ivy extraction is the default for Ivy applications. usingIvy = (isIvyApplication && options.ivy === undefined) || !!options.ivy; @@ -244,6 +248,7 @@ export async function execute( options.format, i18n.sourceLocale, config.context || projectRoot, + useLegacyIds, ); const content = serializer.serialize(ivyMessages); From 54aa8911efd2d415f683b5960d7ebf9fd8ee4b4d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 30 Oct 2020 15:18:18 -0400 Subject: [PATCH 128/696] refactor(@angular-devkit/build-angular): separate extract format normalization This separates the option normalization for the i18n format to a separate function to reduce the size of the main builder function. --- .../build_angular/src/extract-i18n/index.ts | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts index 1ff1f894d459..57012d13b9ba 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts @@ -68,6 +68,32 @@ async function getSerializer(format: Format, sourceLocale: string, basePath: str } } +function normalizeFormatOption(options: ExtractI18nBuilderOptions) { + let format; + if (options.i18nFormat !== Format.Xlf) { + format = options.i18nFormat; + } else { + format = options.format; + } + + switch (format) { + case Format.Xlf: + case Format.Xlif: + case Format.Xliff: + format = Format.Xlf; + break; + case Format.Xlf2: + case Format.Xliff2: + format = Format.Xlf2; + break; + case undefined: + format = Format.Xlf; + break; + } + + return format; +} + class NoEmitPlugin { apply(compiler: webpack.Compiler): void { compiler.hooks.shouldEmit.tap('angular-no-emit', () => false); @@ -90,24 +116,7 @@ export async function execute( await context.getBuilderNameForTarget(browserTarget), ); - if (options.i18nFormat !== Format.Xlf) { - options.format = options.i18nFormat; - } - - switch (options.format) { - case Format.Xlf: - case Format.Xlif: - case Format.Xliff: - options.format = Format.Xlf; - break; - case Format.Xlf2: - case Format.Xliff2: - options.format = Format.Xlf2; - break; - case undefined: - options.format = Format.Xlf; - break; - } + const format = normalizeFormatOption(options); // We need to determine the outFile name so that AngularCompiler can retrieve it. let outFile = options.outFile || getI18nOutfile(options.format); @@ -142,7 +151,7 @@ export async function execute( }, buildOptimizer: false, i18nLocale: options.i18nLocale || i18n.sourceLocale, - i18nFormat: options.format, + i18nFormat: format, i18nFile: outFile, aot: true, progress: options.progress, @@ -245,7 +254,7 @@ export async function execute( // Serialize all extracted messages const serializer = await getSerializer( - options.format, + format, i18n.sourceLocale, config.context || projectRoot, useLegacyIds, From 94add3082bed541e86fe10bf37192d1e23d43521 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 30 Oct 2020 15:22:42 -0400 Subject: [PATCH 129/696] fix(@angular-devkit/build-angular): validate extracted i18n messages for duplicates This change will analyze the extract i18n messages for duplicates and issue warnings for each case. This provides the same default behavior as the standalone message extractor contained within `@angular/localize`. Configurability of the behavior of a detected duplicate (ignore, warn, error) will be added in a future feature. --- .../build_angular/src/extract-i18n/index.ts | 28 +++++++++++++- .../src/extract-i18n/works_spec.ts | 37 +++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts index 57012d13b9ba..bc45af96a864 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts @@ -252,11 +252,37 @@ export async function execute( return webpackResult; } + const basePath = config.context || projectRoot; + + const { checkDuplicateMessages } = await import( + // tslint:disable-next-line: trailing-comma + '@angular/localize/src/tools/src/extract/duplicates' + ); + + // The filesystem is used to create a relative path for each file + // from the basePath. This relative path is then used in the error message. + const checkFileSystem = { + relative(from: string, to: string): string { + return path.relative(from, to); + }, + }; + const diagnostics = checkDuplicateMessages( + // tslint:disable-next-line: no-any + checkFileSystem as any, + ivyMessages, + 'warning', + // tslint:disable-next-line: no-any + basePath as any, + ); + if (diagnostics.messages.length > 0) { + context.logger.warn(diagnostics.formatDiagnostics('')); + } + // Serialize all extracted messages const serializer = await getSerializer( format, i18n.sourceLocale, - config.context || projectRoot, + basePath, useLegacyIds, ); const content = serializer.serialize(ivyMessages); diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts b/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts index 9746133a07ef..61e69f146878 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts @@ -39,6 +39,18 @@ describe('Extract i18n Target', () => { } }, 30000); + it('does not emit the application files', async () => { + host.appendToFile('src/app/app.component.html', '

i18n test

'); + + const run = await architect.scheduleTarget(extractI18nTargetSpec); + + await expectAsync(run.result).toBeResolvedTo(jasmine.objectContaining({ success: true })); + + await run.stop(); + + expect(host.scopedSync().exists(normalize('dist/app/main.js'))).toBeFalse(); + }, 30000); + it('shows errors', async () => { const logger = new logging.Logger(''); const logs: string[] = []; @@ -126,4 +138,29 @@ describe('Extract i18n Target', () => { expect(virtualFs.fileBufferToString(host.scopedSync().read(extractionFile))) .toMatch(/i18n test/); }, 30000); + + // DISABLED_FOR_VE + (veEnabled ? xit : it)('issues warnings for duplicate message identifiers', async () => { + host.appendToFile( + 'src/app/app.component.ts', + 'const c = $localize`:@@message-2:message contents`; const d = $localize`:@@message-2:different message contents`;', + ); + + const logger = new logging.Logger(''); + const logs: string[] = []; + logger.subscribe((e) => logs.push(e.message)); + + const run = await architect.scheduleTarget(extractI18nTargetSpec, undefined, { logger }); + await expectAsync(run.result).toBeResolvedTo(jasmine.objectContaining({ success: true })); + + await run.stop(); + + expect(host.scopedSync().exists(extractionFile)).toBe(true); + + const fullLog = logs.join(); + expect(fullLog).toContain( + 'Duplicate messages with id', + ); + + }, 30000); }); From 0dd9367cb8bcd139d46b2339eec92a67a700da93 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Nov 2020 18:59:50 +0000 Subject: [PATCH 130/696] build: update webpack-dev-server to version 3.11.0 --- package.json | 2 +- yarn.lock | 93 +++++++++++++--------------------------------------- 2 files changed, 24 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index dfaa52628aaf..61eb8bc9aaef 100644 --- a/package.json +++ b/package.json @@ -230,7 +230,7 @@ "verdaccio-auth-memory": "^9.7.2", "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.10.3", + "webpack-dev-server": "3.11.0", "webpack-merge": "5.3.0", "webpack-sources": "2.0.1", "webpack-subresource-integrity": "1.5.1", diff --git a/yarn.lock b/yarn.lock index 7d2812b08b02..be6a3b10a195 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6002,7 +6002,7 @@ html-encoding-sniffer@^1.0.2: dependencies: whatwg-encoding "^1.0.1" -html-entities@^1.2.1, html-entities@^1.3.1: +html-entities@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== @@ -7606,7 +7606,7 @@ log4js@^6.2.1: rfdc "^1.1.4" streamroller "^2.2.4" -loglevel@^1.6.6, loglevel@^1.6.8: +loglevel@^1.6.8: version "1.7.0" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== @@ -9316,7 +9316,7 @@ popper.js@^1.14.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -portfinder@^1.0.25, portfinder@^1.0.26: +portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== @@ -11043,14 +11043,6 @@ sockjs-client@1.4.0: json3 "^3.3.2" url-parse "^1.4.3" -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - sockjs@0.3.20: version "0.3.20" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" @@ -11254,7 +11246,7 @@ spdy-transport@^3.0.0: readable-stream "^3.0.6" wbuf "^1.7.3" -spdy@^4.0.1, spdy@^4.0.2: +spdy@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== @@ -12431,7 +12423,7 @@ uuid@8.3.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: +uuid@^3.0.0, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== @@ -12648,45 +12640,6 @@ webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.10.3: - version "3.10.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" - integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.2.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.6" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.25" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "0.3.19" - sockjs-client "1.4.0" - spdy "^4.0.1" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "12.0.5" - webpack-dev-server@3.11.0: version "3.11.0" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" @@ -13052,24 +13005,6 @@ yargs-parser@^18.0.0, yargs-parser@^18.1.0, yargs-parser@^18.1.2, yargs-parser@^ camelcase "^5.0.0" decamelize "^1.2.0" -yargs@12.0.5, yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - yargs@15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.0.tgz#403af6edc75b3ae04bf66c94202228ba119f0976" @@ -13087,6 +13022,24 @@ yargs@15.3.0: y18n "^4.0.0" yargs-parser "^18.1.0" +yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" From e0875de78616ad5b919d92fb6b7d7488c7dc2073 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 2 Nov 2020 08:17:16 +0100 Subject: [PATCH 131/696] fix(@angular-devkit/build-angular): remove title attribute from inlined fonts style tag title is not a valid style tag attribute. Closes #19271 --- .../build_angular/src/utils/index-file/inline-fonts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index e26d43f83292..0d2f20921c0e 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -81,7 +81,7 @@ export class InlineFontsProcessor { if (hrefAttr) { const href = hrefAttr.value; const cssContent = hrefsContent.get(href); - rewriter.emitRaw(``); + rewriter.emitRaw(``); } else { rewriter.emitStartTag(tag); } From c08cc8d4f874c1f560f8183af83071e5567d65a9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Nov 2020 18:56:15 +0000 Subject: [PATCH 132/696] build: update rollup to version 2.33.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 61eb8bc9aaef..29f3389afb45 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.32.1", + "rollup": "2.33.1", "rxjs": "6.6.3", "sass": "1.28.0", "sass-loader": "10.0.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a3f71c8841d0..088defbf38f4 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.32.1", + "rollup": "2.33.1", "rxjs": "6.6.3", "sass": "1.28.0", "sass-loader": "10.0.5", diff --git a/yarn.lock b/yarn.lock index be6a3b10a195..0b78d4628ae6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10551,7 +10551,14 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.32.1, rollup@^2.8.0: +rollup@2.33.1: + version "2.33.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" + integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== + optionalDependencies: + fsevents "~2.1.2" + +rollup@^2.8.0: version "2.32.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== From c569cd0be86d7665b95a19e6be2a4c0bcd63ee32 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Sun, 1 Nov 2020 17:37:40 -0500 Subject: [PATCH 133/696] refactor(@angular-devkit/build-angular): use custom babel preset to configure babel-loader A custom babel preset is introduced to centralize the configuration of babel within the package. Application related presets and plugins are now encapsulated within the custom preset which is used via the Webpack babel-loader. This new custom preset will also provide the integration point for the upcoming Angular linker. --- .../src/babel/presets/application.ts | 152 ++++++++++++++++++ .../build_angular/src/dev-server/index.ts | 38 +++-- .../src/webpack/configs/common.ts | 22 +-- 3 files changed, 180 insertions(+), 32 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/babel/presets/application.ts diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts new file mode 100644 index 000000000000..71bc698a5767 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -0,0 +1,152 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import * as path from 'path'; + +export type DiagnosticReporter = (type: 'error' | 'warning', message: string) => void; +export interface ApplicationPresetOptions { + i18n?: { + locale: string; + missingTranslationBehavior?: 'error' | 'warning' | 'ignore'; + translation?: unknown; + }; + + forceES5?: boolean; + forceAsyncTransformation?: boolean; + + diagnosticReporter?: DiagnosticReporter; +} + +type I18nDiagnostics = import('@angular/localize/src/tools/src/diagnostics').Diagnostics; +function createI18nDiagnostics(reporter: DiagnosticReporter | undefined): I18nDiagnostics { + // Babel currently is synchronous so import cannot be used + const diagnostics: I18nDiagnostics = new (require('@angular/localize/src/tools/src/diagnostics').Diagnostics)(); + + if (!reporter) { + return diagnostics; + } + + const baseAdd = diagnostics.add; + diagnostics.add = function (type, message, ...args) { + if (type !== 'ignore') { + baseAdd.call(diagnostics, type, message, ...args); + reporter(type, message); + } + }; + + const baseError = diagnostics.error; + diagnostics.error = function (message, ...args) { + baseError.call(diagnostics, message, ...args); + reporter('error', message); + }; + + const baseWarn = diagnostics.warn; + diagnostics.warn = function (message, ...args) { + baseWarn.call(diagnostics, message, ...args); + reporter('warning', message); + }; + + const baseMerge = diagnostics.merge; + diagnostics.merge = function (other, ...args) { + baseMerge.call(diagnostics, other, ...args); + for (const diagnostic of other.messages) { + reporter(diagnostic.type, diagnostic.message); + } + }; + + return diagnostics; +} + +function createI18nPlugins( + locale: string, + translation: unknown | undefined, + missingTranslationBehavior: 'error' | 'warning' | 'ignore', + diagnosticReporter: DiagnosticReporter | undefined, +) { + const diagnostics = createI18nDiagnostics(diagnosticReporter); + const plugins = []; + + if (translation) { + const { + makeEs2015TranslatePlugin, + } = require('@angular/localize/src/tools/src/translate/source_files/es2015_translate_plugin'); + plugins.push( + makeEs2015TranslatePlugin(diagnostics, translation, { + missingTranslation: missingTranslationBehavior, + }), + ); + + const { + makeEs5TranslatePlugin, + } = require('@angular/localize/src/tools/src/translate/source_files/es5_translate_plugin'); + plugins.push( + makeEs5TranslatePlugin(diagnostics, translation, { + missingTranslation: missingTranslationBehavior, + }), + ); + } + + const { + makeLocalePlugin, + } = require('@angular/localize/src/tools/src/translate/source_files/locale_plugin'); + plugins.push(makeLocalePlugin(locale)); + + return plugins; +} + +export default function (api: unknown, options: ApplicationPresetOptions) { + const presets = []; + const plugins = []; + let needRuntimeTransform = false; + + if (options.forceES5) { + presets.push([ + require('@babel/preset-env').default, + { + bugfixes: true, + modules: false, + // Comparable behavior to tsconfig target of ES5 + targets: { ie: 9 }, + exclude: ['transform-typeof-symbol'], + }, + ]); + needRuntimeTransform = true; + } + + if (options.i18n) { + const { locale, missingTranslationBehavior, translation } = options.i18n; + const i18nPlugins = createI18nPlugins( + locale, + translation, + missingTranslationBehavior || 'ignore', + options.diagnosticReporter, + ); + + plugins.push(...i18nPlugins); + } + + if (options.forceAsyncTransformation) { + // Always transform async/await to support Zone.js + // tslint:disable-next-line: no-implicit-dependencies + plugins.push(require('@babel/plugin-transform-async-to-generator').default); + needRuntimeTransform = true; + } + + if (needRuntimeTransform) { + // Babel equivalent to TypeScript's `importHelpers` option + plugins.push([ + require('@babel/plugin-transform-runtime').default, + { + useESModules: true, + version: require('@babel/runtime/package.json').version, + absoluteRuntime: path.dirname(require.resolve('@babel/runtime/package.json')), + }, + ]); + } + + return { presets, plugins }; +} diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index a7e48cb94d89..f1af5ba6853d 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -32,7 +32,6 @@ import { I18nOptions } from '../utils/i18n-options'; import { getHtmlTransforms } from '../utils/index-file/transforms'; import { IndexHtmlTransform } from '../utils/index-file/write-index-html'; import { generateEntryPoints } from '../utils/package-chunk-sort'; -import { createI18nPlugins } from '../utils/process-bundle'; import { readTsconfig } from '../utils/read-tsconfig'; import { assertCompatibleAngularVersion } from '../utils/version'; import { generateI18nBrowserWebpackConfigFromContext, getIndexInputFile, getIndexOutputFile } from '../utils/webpack-browser-config'; @@ -346,12 +345,7 @@ async function setupLocalize( webpackConfig: webpack.Configuration, ) { const localeDescription = i18n.locales[locale]; - const { plugins, diagnostics } = await createI18nPlugins( - locale, - localeDescription?.translation, - browserOptions.i18nMissingTranslation || 'ignore', - i18n.shouldInline, - ); + const i18nDiagnostics: { type: string, message: string }[] = []; // Modify main entrypoint to include locale data if ( @@ -367,6 +361,14 @@ async function setupLocalize( } } + let missingTranslationBehavior = browserOptions.i18nMissingTranslation || 'ignore'; + let translation = localeDescription?.translation || {}; + + if (locale === i18n.sourceLocale) { + missingTranslationBehavior = 'ignore'; + translation = {}; + } + const i18nRule: webpack.RuleSetRule = { test: /\.(?:m?js|ts)$/, enforce: 'post', @@ -384,7 +386,20 @@ async function setupLocalize( locale, translationIntegrity: localeDescription?.files.map((file) => file.integrity), }), - plugins, + sourceType: 'unambiguous', + presets: [ + [ + require.resolve('../babel/presets/application'), + { + i18n: { + locale, + translation: i18n.shouldInline ? translation : undefined, + missingTranslationBehavior, + }, + diagnosticReporter: (type, message) => i18nDiagnostics.push({ type, message }), + } as import('../babel/presets/application').ApplicationPresetOptions, + ], + ], }, }, ], @@ -406,17 +421,14 @@ async function setupLocalize( apply: (compiler: webpack.Compiler) => { compiler.hooks.thisCompilation.tap('build-angular', compilation => { compilation.hooks.finishModules.tap('build-angular', () => { - if (!diagnostics) { - return; - } - for (const diagnostic of diagnostics.messages) { + for (const diagnostic of i18nDiagnostics) { if (diagnostic.type === 'error') { addError(compilation, diagnostic.message); } else { addWarning(compilation, diagnostic.message); } } - diagnostics.messages.length = 0; + i18nDiagnostics.length = 0; }); }); }, diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 9528b29b2fab..a22fb386c7f2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -551,26 +551,10 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { sourceType: 'unambiguous', presets: [ [ - require.resolve('@babel/preset-env'), + require.resolve('../../babel/presets/application'), { - bugfixes: true, - modules: false, - // Comparable behavior to tsconfig target of ES5 - targets: { ie: 9 }, - exclude: ['transform-typeof-symbol'], - }, - ], - ], - plugins: [ - [ - require('@babel/plugin-transform-runtime').default, - { - useESModules: true, - version: require('@babel/runtime/package.json').version, - absoluteRuntime: path.dirname( - require.resolve('@babel/runtime/package.json'), - ), - }, + forceES5: true, + } as import('../../babel/presets/application').ApplicationPresetOptions, ], ], }, From 73f5180bf0a7b25494fc75b62eda803d7f2710b5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Nov 2020 06:12:56 +0000 Subject: [PATCH 134/696] build: update @types/babel__core to version 7.1.12 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 29f3389afb45..38bdf3f108d9 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@bazel/jasmine": "2.2.2", "@bazel/typescript": "2.2.2", "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@types/babel__core": "7.1.11", + "@types/babel__core": "7.1.12", "@types/babel__template": "7.0.3", "@types/browserslist": "^4.4.0", "@types/cacache": "^12.0.1", diff --git a/yarn.lock b/yarn.lock index 0b78d4628ae6..fdd5c9e3cea5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1424,10 +1424,10 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/babel__core@7.1.11": - version "7.1.11" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.11.tgz#7fae4660a009a4031e293f25b213f142d823b3c4" - integrity sha512-E5nSOzrjnvhURYnbOR2dClTqcyhPbPvtEwLHf7JJADKedPbcZsoJVfP+I2vBNfBjz4bnZIuhL/tNmRi5nJ7Jlw== +"@types/babel__core@7.1.12": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" From 55a9c98fb037b2a3fae0d648ad5a03fdf30100dd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Nov 2020 06:13:05 +0000 Subject: [PATCH 135/696] build: update bazel_toolchains to version 3.7.0 --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 7112829f9852..5e4c55bffee7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -75,9 +75,9 @@ install_bazel_dependencies(suppress_warning = True) # Bring in bazel_toolchains for RBE setup configuration. http_archive( name = "bazel_toolchains", - sha256 = "4fb3ceea08101ec41208e3df9e56ec72b69f3d11c56629d6477c0ff88d711cf7", - strip_prefix = "bazel-toolchains-3.6.0", - url = "https://github.com/bazelbuild/bazel-toolchains/archive/3.6.0.tar.gz", + sha256 = "8e0633dfb59f704594f19ae996a35650747adc621ada5e8b9fb588f808c89cb0", + strip_prefix = "bazel-toolchains-3.7.0", + url = "https://github.com/bazelbuild/bazel-toolchains/archive/3.7.0.tar.gz", ) load("@bazel_toolchains//rules:environments.bzl", "clang_env") From a3165dfb8534acb75d454662d65640ef6650ca90 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Nov 2020 07:12:51 +0000 Subject: [PATCH 136/696] build: update jest-worker to version 26.6.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 38bdf3f108d9..c100de31afdb 100644 --- a/package.json +++ b/package.json @@ -158,7 +158,7 @@ "jasmine": "^3.3.1", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~6.0.0", - "jest-worker": "26.6.1", + "jest-worker": "26.6.2", "jquery": "^3.3.1", "jsonc-parser": "2.3.1", "karma": "~5.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 088defbf38f4..b8e3c2c911c3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -34,7 +34,7 @@ "find-cache-dir": "3.3.1", "glob": "7.1.6", "inquirer": "7.3.3", - "jest-worker": "26.6.1", + "jest-worker": "26.6.2", "karma-source-map-support": "1.4.0", "less": "3.12.2", "less-loader": "7.0.2", diff --git a/yarn.lock b/yarn.lock index fdd5c9e3cea5..4ed11451fbdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6891,7 +6891,16 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.6.1, jest-worker@^26.5.0: +jest-worker@26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^26.5.0: version "26.6.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.1.tgz#c2ae8cde6802cc14056043f997469ec170d9c32a" integrity sha512-R5IE3qSGz+QynJx8y+ICEkdI2OJ3RJjRQVEyCcFAd3yVhQSEtquziPO29Mlzgn07LOVE8u8jhJ1FqcwegiXWOw== From a84c18b9828a991051e804d585a4721798b9c3e3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Nov 2020 07:16:57 +0000 Subject: [PATCH 137/696] build: update symbol-observable to version 3.0.0 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- packages/angular_devkit/architect_cli/package.json | 2 +- packages/angular_devkit/schematics_cli/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index c100de31afdb..d418825547e7 100644 --- a/package.json +++ b/package.json @@ -211,7 +211,7 @@ "style-loader": "2.0.0", "stylus": "0.54.7", "stylus-loader": "4.2.0", - "symbol-observable": "2.0.3", + "symbol-observable": "3.0.0", "tar": "^6.0.0", "temp": "^0.9.0", "terser": "5.3.8", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 54951153ec1c..76b8cf642e4a 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -43,7 +43,7 @@ "resolve": "1.18.1", "rimraf": "3.0.2", "semver": "7.3.2", - "symbol-observable": "2.0.3", + "symbol-observable": "3.0.0", "universal-analytics": "0.4.23", "uuid": "8.3.1" }, diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 3f58defda4cb..969af79e6a02 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -19,7 +19,7 @@ "minimist": "1.2.5", "progress": "2.0.3", "rxjs": "6.6.3", - "symbol-observable": "2.0.3" + "symbol-observable": "3.0.0" }, "devDependencies": { "@types/progress": "2.0.3" diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index 610d18baf8db..4087b839b7e8 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -21,6 +21,6 @@ "ansi-colors": "4.1.1", "inquirer": "7.3.3", "minimist": "1.2.5", - "symbol-observable": "2.0.3" + "symbol-observable": "3.0.0" } } diff --git a/yarn.lock b/yarn.lock index 4ed11451fbdb..eb5cc77c6397 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11686,10 +11686,10 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" - integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== +symbol-observable@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" + integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== symbol-tree@^3.2.2: version "3.2.4" From dfc21121b9bc160040a95e745293fd739c5e7163 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Nov 2020 07:08:53 +0000 Subject: [PATCH 138/696] build: update angular packages --- package.json | 30 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 ++--- yarn.lock | 116 +++++++++--------- 4 files changed, 90 insertions(+), 90 deletions(-) diff --git a/package.json b/package.json index d418825547e7..16c659e3001e 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ ] }, "devDependencies": { - "@angular/animations": "11.0.0-rc.0", - "@angular/cdk": "10.2.6", - "@angular/common": "11.0.0-rc.0", - "@angular/compiler": "11.0.0-rc.0", - "@angular/compiler-cli": "11.0.0-rc.0", - "@angular/core": "11.0.0-rc.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c", - "@angular/forms": "11.0.0-rc.0", - "@angular/localize": "11.0.0-rc.0", - "@angular/material": "10.2.6", - "@angular/platform-browser": "11.0.0-rc.0", - "@angular/platform-browser-dynamic": "11.0.0-rc.0", - "@angular/platform-server": "11.0.0-rc.0", - "@angular/router": "11.0.0-rc.0", - "@angular/service-worker": "11.0.0-rc.0", + "@angular/animations": "11.0.0-rc.1", + "@angular/cdk": "10.2.7", + "@angular/common": "11.0.0-rc.1", + "@angular/compiler": "11.0.0-rc.1", + "@angular/compiler-cli": "11.0.0-rc.1", + "@angular/core": "11.0.0-rc.1", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53", + "@angular/forms": "11.0.0-rc.1", + "@angular/localize": "11.0.0-rc.1", + "@angular/material": "10.2.7", + "@angular/platform-browser": "11.0.0-rc.1", + "@angular/platform-browser-dynamic": "11.0.0-rc.1", + "@angular/platform-server": "11.0.0-rc.1", + "@angular/router": "11.0.0-rc.1", + "@angular/service-worker": "11.0.0-rc.1", "@babel/core": "7.12.3", "@babel/generator": "7.12.1", "@babel/plugin-transform-runtime": "7.12.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0dbb4021076c..a2aca292be1b 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,8 +31,8 @@ "webpack": "^4.0.0" }, "devDependencies": { - "@angular/compiler": "11.0.0-rc.0", - "@angular/compiler-cli": "11.0.0-rc.0", + "@angular/compiler": "11.0.0-rc.1", + "@angular/compiler-cli": "11.0.0-rc.1", "typescript": "4.0.5", "webpack": "4.44.2" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 1c5b2642f698..f359071f4ef0 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#181cdfb5c1d479c03d01cd8de08f775ae9f705df", - "@angular/cdk": "github:angular/cdk-builds#f2e40b4b1347232bd42dbc50970c715216afe6f9", - "@angular/common": "github:angular/common-builds#5d1a10111eff58e5bee785bca80cd13630d3d14c", - "@angular/compiler": "github:angular/compiler-builds#a7708c0bea2e3fbf5f1ee3d0002637c7eccb8526", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#437c171caa86aa972945c1e0e4a26d4772b41322", - "@angular/core": "github:angular/core-builds#a31a5dda418612fd0302234a6442805522cf8526", - "@angular/forms": "github:angular/forms-builds#8a3d305d013a1b2c3cdcaff33e45bf4cdab85380", - "@angular/language-service": "github:angular/language-service-builds#3e0fe0e30673de9ac29001a41dd54e34e5c67926", - "@angular/localize": "github:angular/localize-builds#bb4a48e954f7ff056b650aa3fee69c3a4c1e419c", - "@angular/material": "github:angular/material2-builds#fe9c30d3fd5fa4c1202c73b5a74e516ae848a95c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9cefb9bfa30a38522f6fdf335f3768a04965d843", - "@angular/platform-browser": "github:angular/platform-browser-builds#27541dbace338ee7d6e480637420b5807abd6da2", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#df33614ec5725924c9d47f2b582457d24d59d53c", - "@angular/platform-server": "github:angular/platform-server-builds#176c65a04df09f1dfc46626fe5d3130467857dd2", - "@angular/router": "github:angular/router-builds#44688bea0fa94eebc78cbd3d426a0fd824548bb7" + "@angular/animations": "github:angular/animations-builds#45cd08afa7faae7a9a55d82bf260b867c38da8cb", + "@angular/cdk": "github:angular/cdk-builds#73fb0f58b5fa50715687f9dab0e7d5b7528a18e7", + "@angular/common": "github:angular/common-builds#3ce77f4b857f3301097d303022cfe1348df1b6a2", + "@angular/compiler": "github:angular/compiler-builds#e419f799f37aaca009af2cbdabb670d1fef2f4bf", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f3c9fab19d2d18f634071272fdd099f4220b84b1", + "@angular/core": "github:angular/core-builds#762435888b45852d693387d15401fbfc7a2533da", + "@angular/forms": "github:angular/forms-builds#270684cd6ecaba338ba3a6e75354da7e4dda0212", + "@angular/language-service": "github:angular/language-service-builds#0f3f17d1d8fa8c674e1c56bac975b2a54f69ff1c", + "@angular/localize": "github:angular/localize-builds#76a60a4b53d8edf6868493e67e71f7b35680e624", + "@angular/material": "github:angular/material2-builds#865cf78bb48c518fae59660d56dbe7bdb3c01cbe", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#43948cc7d9e78801ed523caac5b283af2d198cb1", + "@angular/platform-browser": "github:angular/platform-browser-builds#b383f877facf09e4d72795a4d20aa0cd9a329d9e", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#dd72dee11677b845e3ae71693d74d1729be3cd06", + "@angular/platform-server": "github:angular/platform-server-builds#4c6b409e56d1ce2b5e6fdb73a28a963aae3af84b", + "@angular/router": "github:angular/router-builds#b5102667f89dc319e7dde3a9a5220f103faee39d" } } diff --git a/yarn.lock b/yarn.lock index eb5cc77c6397..89add92e31d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@angular/animations@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.0.tgz#5100d2e46531eb02be711387fe3b820559d3d827" - integrity sha512-ic01WbRRG8g8AjXbScc4TdCq2xjPEaKZPezGR6zmX3/FJjhmftK7IGdZABAXO5UR9WVzeHp0P2Kye6KnydHlXA== +"@angular/animations@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.1.tgz#7abd461f36c0f9b3238c37a5a0cedad99e2d49f4" + integrity sha512-1Lh8nv06HI7myYEBlufPqm+ex05CN/9LXSix3QZMclRW3ODXvT9YT0ZTePHdYFpQmyr4lna7mtcLNRXgZK9LMg== dependencies: tslib "^2.0.0" @@ -17,26 +17,26 @@ "@angular/core" "^10.0.0-0 || ^11.0.0" reflect-metadata "^0.1.13" -"@angular/cdk@10.2.6": - version "10.2.6" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.6.tgz#6130b261f7cdc5a130b608c711d1ea7139b11a06" - integrity sha512-7bvls1XiLejPirVC4ocdtmc/fgfPSG0BNwUvarl34g6ybj8mR+WDagMWnZMt0VXsnago2ImhGdD7YB9oJ3CpBQ== +"@angular/cdk@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.7.tgz#0ff82eb91b2653ea26909c57a460d4593b44f186" + integrity sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ== dependencies: tslib "^2.0.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.0.tgz#b237d2becdb62acacb473981a70c60ccc2dc10f0" - integrity sha512-sLt3EqdI7i85LCy0Sk6aY6RVM86FgErvrinD1lxI3T1/QKsRBhFw1Uh1bRm/BYGH7ugOdENDwffv0oDAz422Fg== +"@angular/common@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.1.tgz#ca6b10345c68a249fd5545b12a9265892234836e" + integrity sha512-QuAi2iGY5moLgT+MawXZ1CLGzy5JlvoShdA1XnCRUpQAMBgrWZZn5GTrDFmbQGt8nV5dX1a7unT+VnSbKfEUWQ== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.0.tgz#12182f70afe0019afdfb8b175a82a8d91e2bbb40" - integrity sha512-Ay4RW2rbRpIPPGjVgqFc7ip54znUGDi/5nP1u7O5jWTxWB+8rwunF9U7sQaff1aQ245bitGWEB34vVvYHyWgog== +"@angular/compiler-cli@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.1.tgz#ff2d46c1de0d06613af01346a20263bd3df03e17" + integrity sha512-65Jd+DtkwwcNuHV/ShWtPU2UoELSN01Ha5HiaCo6I9bT9Pff06rAhqOI1Qfkf1umnru73nSA7vL+TX2nLVhoLw== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -54,10 +54,10 @@ tslib "^2.0.0" yargs "15.3.0" -"@angular/compiler@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.0.tgz#e9fa385a9469fd6ee83202c5413492125fb9d928" - integrity sha512-tvl/FWpDfd0OuDr2iuUNv6FIGCGuDteD0yyAjqi/KQka9JLPCyx6VLKdwwfaTApRJvqQ2aF1Ek8YUum6DUtwAw== +"@angular/compiler@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.1.tgz#81f557cc4eaedc38eeec97c28ea177da3f784974" + integrity sha512-RMCN9d1j0+Gki6flYnr8CEwWzwE2rljRoddUg+KkD+fhpjK91FGby/QKSLc2LMbPebK0RY84Eqrk4qNH0Ocsbw== dependencies: tslib "^2.0.0" @@ -66,10 +66,10 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.0.tgz#0bfae6d1b4cca15a5e6605da916c8f2a301ca6b2" - integrity sha512-h3woHlGzPVx3zcm76Gxwfrpzjzq5q0cEmF8wDJ8Tce1R2BoPsSP3MD44LFZZSwh6SO4Ga2wc3z6c+NpwQe7QEA== +"@angular/core@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.1.tgz#568f23c9da47d3e4a9d920f2c592364f3199385a" + integrity sha512-b4p4/E1gTd0BIy+c7mhRNakAK/NP6i3fSbsfnHZRWN6kNILva4HEGc6o8L6l38pXCBgk3jUMEyvrHon8mG/1KQ== dependencies: tslib "^2.0.0" @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#d2e31fb063b86f5b9e40db3c114496f67b5c528c" + resolved "https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" @@ -117,63 +117,63 @@ yaml "^1.10.0" yargs "^15.4.1" -"@angular/forms@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.0.tgz#8aa5f0f2375a95f019c9a263c3d21e54bc5a1f96" - integrity sha512-+NxTnK/z0Sy13qU7/Hl1RtHx39+YXCnqsoTi8f/mUJh2DmcVS1+72o6iLlxJu1eFoMncNiKhH4mBXYI/H89VWQ== +"@angular/forms@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.1.tgz#ff878d1067362a7521a60ae2e9180692c3a404c8" + integrity sha512-BqqWfcpCKNudpR7SIqUSvSPdFLQ1hn8QDXxavdvdX8s4qD83ukMhdg/eZcoolJtBs9NJtG/I3iC2ZJ5YtyX1Vg== dependencies: tslib "^2.0.0" -"@angular/localize@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.0.tgz#08e663ebbf266c455f708afa4d0917d749c08ae5" - integrity sha512-Jnt+dyu/5O56slrgH0oZ6He617hAAtCnxlmhaDVQawiQskdAD3fo2Z1f4d16uvkkB+ach8zE15MjGoa5n7Xozw== +"@angular/localize@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.1.tgz#c4c320ff5b334df7871aae5ccf87fd87d6cdf13e" + integrity sha512-MDXMnLos+0ffnggvl6jx8BJUsQmlSD0VvgDILpBQe6o6HReucaIyv6Ut/TwYkVKwLsSOeXZAuat+fIplJTDwEQ== dependencies: "@babel/core" "7.8.3" glob "7.1.2" yargs "15.3.0" -"@angular/material@10.2.6": - version "10.2.6" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.6.tgz#7dab3f9c199319ae8912ad8e37836d94bb2694e0" - integrity sha512-xF+UoinJYrMuvyTRcFeg8DNDvykeIRbEpCwY4hYX4So7t6yr89W5D2htkbzilRkum3ZhhkGqjjCaI/B1B9J1Vg== +"@angular/material@10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.7.tgz#b84aeeca997dc64fbcc7969540e22434315bab68" + integrity sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA== dependencies: tslib "^2.0.0" -"@angular/platform-browser-dynamic@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.0.tgz#c07c6b77ea4346d364196a271b4bffefde125da9" - integrity sha512-ryFvQnAGz8rtYUbninPlQVUURwHQF+nSlsVqw9VA893NJf/xH+UC3S3wr0HBRiCvJBphK7k1/Bi4pCjCVoip2w== +"@angular/platform-browser-dynamic@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.1.tgz#ff3582241728f80242ab3dab66f1d6df75b00a0a" + integrity sha512-1bU4h/cYbPV1hMJojAeGYO8NJcxPTMT9g8f4Je2VjmHfzEsFv5XkiatYDuoCLfwofo0K862yp0aitePsfbKzMw== dependencies: tslib "^2.0.0" -"@angular/platform-browser@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.0.tgz#69ba9bb1467d540d555857dd97aec8ba569dd879" - integrity sha512-3+5lpOZQ2KEHEcxxfi06KNJl3MkpLKQ/G6mDmXwjtTkZqql8cDQhtqSXjSz1MOo513OxHngmaI0+L/6U/rPVSQ== +"@angular/platform-browser@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.1.tgz#58810f388185b1d3813b00dbca51b2287b786e14" + integrity sha512-b4w79Q0xbxz/pBViXsjkja9OKYI4HJbqkjMmUEn4pMeG5QC2Zfb4GKDR0wBaaxnm9t1kSul6nlHRfLbfgmlxTA== dependencies: tslib "^2.0.0" -"@angular/platform-server@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.0.tgz#f80de1724aa83aea01d7db0bd65cb148bb7e6d81" - integrity sha512-7D0a15mXlm7ZY1n5fhpl4wIgaQp3XjXpL575mnkNwt+yw357xiDO4OeLpgQAUF8YYYPm5bUbdXTOF81KoG0uvQ== +"@angular/platform-server@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.1.tgz#3fc3415927bcca8a524997fe2fdeb3364076adf8" + integrity sha512-q9cpNPhr3plVRS5DjWFNoW9XQ9XY7x7ZNQ8GWWb6NRcQyChvI0egWP+BnRtxxMhPwNLDcEraF1T88IaRW6XQRw== dependencies: domino "^2.1.2" tslib "^2.0.0" xhr2 "^0.2.0" -"@angular/router@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.0.tgz#26097d9781bf1e056680896873b6c4439629fbbb" - integrity sha512-f48WD1oZyu9rZ8Gs6E91xjtStHQaIL/ipJgP75t00To4IU4Z+uTDiXOvvz34RR1lrQo3ON7zRZ3fLD3o372M4g== +"@angular/router@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.1.tgz#4b67ea50d8078d83b6996c5297cfba712ed84093" + integrity sha512-waD50INYt3JGAqF/pxYlwhsGfKFMPaipSWVKdPCr1jH390UHoONecQTfG/OBwOrxYg9xu5LErTytRaIkRTpylw== dependencies: tslib "^2.0.0" -"@angular/service-worker@11.0.0-rc.0": - version "11.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.0.tgz#41fc183976fd019ac69086cc215b00a550c28639" - integrity sha512-D/Il+YWa4BRRAvQn2OGx+sYKSq3a9ll6vk8jh5YZZd0rg8pIvGq3cwgLyxPvWsGN5sYSMfh30ggJzI3MgYyEag== +"@angular/service-worker@11.0.0-rc.1": + version "11.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.1.tgz#1573e152b4727e6009fbaf6ff1b4d41f199920ed" + integrity sha512-lN4slAxRT4Ry+5EfY+E7sl+2i3cXwtxM9KMVQRwz5fvZ6xvRs5pLcHC/2vxM49vQswBcRwcA1CXir1Cs6VVNBA== dependencies: tslib "^2.0.0" From 40c25a1e4f5b9ce22a3e7df6110d78d7aed92958 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 13:14:47 +0100 Subject: [PATCH 139/696] fix(@angular-devkit/build-angular): sort bundle stats by size Before ``` Initial Chunk Files | Names | Size runtime.js | runtime | 6.15 kB main.js | main | 56.9 kB vendor.js | vendor | 2.4 MB polyfills.js | polyfills | 141 kB styles.css | styles | 119 bytes ``` After ``` vendor.js | vendor | 2.07 MB polyfills.js | polyfills | 141 kB main.js | main | 55.8 kB runtime.js | runtime | 6.15 kB styles.css | styles | 119 bytes ``` --- .../build_angular/src/webpack/utils/stats.ts | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 6cc2cb098a6d..88733005c765 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -25,7 +25,7 @@ export function formatSize(size: number): string { return `${+(size / Math.pow(1024, index)).toPrecision(3)} ${abbreviations[index]}`; } -export type BundleStatsData = [files: string, names: string, size: string]; +export type BundleStatsData = [files: string, names: string, size: number | string]; export interface BundleStats { initial: boolean; @@ -43,35 +43,36 @@ export function generateBundleStats( }, colors: boolean, ): BundleStats { - const g = (x: string) => (colors ? ansiColors.greenBright(x) : x); - const c = (x: string) => (colors ? ansiColors.cyanBright(x) : x); - - const size = typeof info.size === 'number' ? formatSize(info.size) : '-'; + const size = typeof info.size === 'number' ? info.size : '-'; const files = info.files.filter(f => !f.endsWith('.map')).map(f => path.basename(f)).join(', '); const names = info.names?.length ? info.names.join(', ') : '-'; const initial = !!(info.entry || info.initial); return { initial, - stats: [g(files), names, c(size)], + stats: [files, names, size], } } function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { + const g = (x: string) => colors ? ansiColors.greenBright(x) : x; + const c = (x: string) => colors ? ansiColors.cyanBright(x) : x; + const bold = (x: string) => colors ? ansiColors.bold(x) : x; + const dim = (x: string) => colors ? ansiColors.dim(x) : x; + const changedEntryChunksStats: BundleStatsData[] = []; const changedLazyChunksStats: BundleStatsData[] = []; + for (const { initial, stats } of data) { - if (initial) { - changedEntryChunksStats.push(stats); - } else { - changedLazyChunksStats.push(stats); - } + const [files, names, size] = stats; + (initial ? changedEntryChunksStats : changedLazyChunksStats).push([ + g(files), + names, + c(typeof size === 'string' ? size : formatSize(size)), + ]); } - const bundleInfo: string[][] = []; - - const bold = (x: string) => colors ? ansiColors.bold(x) : x; - const dim = (x: string) => colors ? ansiColors.dim(x) : x; + const bundleInfo: (string | number)[][] = []; // Entry chunks if (changedEntryChunksStats.length) { @@ -124,6 +125,19 @@ function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]) unchangedChunkNumber = json.chunks.length - changedChunksStats.length; } + // Sort chunks by size in descending order + changedChunksStats.sort((a, b) => { + if (a.stats[2] > b.stats[2]) { + return -1; + } + + if (a.stats[2] < b.stats[2]) { + return 1; + } + + return 0; + }); + const statsTable = generateBuildStatsTable(changedChunksStats, colors); // In some cases we do things outside of webpack context From 814ea664d6e0f4293b68530494c88a75d2d220cf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 13:16:08 +0100 Subject: [PATCH 140/696] fix(@angular-devkit/build-angular): show bundle sizes with 2 decimal places Before ``` Initial Chunk Files | Names | Size vendor.js | vendor | 2.07 MB polyfills.js | polyfills | 141.3 kb main.js | main | 55.77 kb runtime.js | runtime | 6.15 kb styles.css | styles | 119 bytes ``` After ``` Initial Chunk Files | Names | Size vendor.js | vendor | 2.07 MB polyfills.js | polyfills | 141.30 kb main.js | main | 55.77 kb runtime.js | runtime | 6.15 kb styles.css | styles | 119 bytes ``` --- .../angular_devkit/build_angular/src/webpack/utils/stats.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 88733005c765..06c3063902a7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -21,8 +21,10 @@ export function formatSize(size: number): string { const abbreviations = ['bytes', 'kB', 'MB', 'GB']; const index = Math.floor(Math.log(size) / Math.log(1024)); - - return `${+(size / Math.pow(1024, index)).toPrecision(3)} ${abbreviations[index]}`; + const roundedSize = size / Math.pow(1024, index); + // bytes don't have a fraction + const fractionDigits = index === 0 ? 0 : 2; + return `${roundedSize.toFixed(fractionDigits)} ${abbreviations[index]}`; } export type BundleStatsData = [files: string, names: string, size: number | string]; From 66c3f79fc295879bf1b247c2180d9b0ad596dd5e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Oct 2020 21:15:54 +0100 Subject: [PATCH 141/696] fix(@angular-devkit/build-angular): right align size column and add total bundle size --- .../build_angular/src/webpack/utils/stats.ts | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 06c3063902a7..51de97cf2851 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -56,7 +56,7 @@ export function generateBundleStats( } } -function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { +function generateBuildStatsTable(data: BundleStats[], colors: boolean, showTotalSize: boolean): string { const g = (x: string) => colors ? ansiColors.greenBright(x) : x; const c = (x: string) => colors ? ansiColors.cyanBright(x) : x; const bold = (x: string) => colors ? ansiColors.bold(x) : x; @@ -65,13 +65,27 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { const changedEntryChunksStats: BundleStatsData[] = []; const changedLazyChunksStats: BundleStatsData[] = []; + let initialTotalSize = 0; + for (const { initial, stats } of data) { const [files, names, size] = stats; - (initial ? changedEntryChunksStats : changedLazyChunksStats).push([ + + const data: BundleStatsData = [ g(files), names, - c(typeof size === 'string' ? size : formatSize(size)), - ]); + c(typeof size === 'number' ? formatSize(size) : size), + ]; + + if (initial) { + changedEntryChunksStats.push(data); + + if (typeof size === 'number') { + initialTotalSize += size; + } + + } else { + changedLazyChunksStats.push(data); + } } const bundleInfo: (string | number)[][] = []; @@ -82,6 +96,11 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { ['Initial Chunk Files', 'Names', 'Size'].map(bold), ...changedEntryChunksStats, ); + + if (showTotalSize) { + bundleInfo.push([]); + bundleInfo.push([' ', 'Initial Total', formatSize(initialTotalSize)].map(bold)); + } } // Seperator @@ -100,6 +119,7 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean): string { return textTable(bundleInfo, { hsep: dim(' | '), stringLength: s => removeColor(s).length, + align: ['l', 'l', 'r'], }); } @@ -132,7 +152,7 @@ function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]) if (a.stats[2] > b.stats[2]) { return -1; } - + if (a.stats[2] < b.stats[2]) { return 1; } @@ -140,7 +160,7 @@ function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]) return 0; }); - const statsTable = generateBuildStatsTable(changedChunksStats, colors); + const statsTable = generateBuildStatsTable(changedChunksStats, colors, unchangedChunkNumber === 0); // In some cases we do things outside of webpack context // Such us index generation, service worker augmentation etc... From 090fdf0ad32bfaeb987354104782f676f50932c9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 10:11:07 +0100 Subject: [PATCH 142/696] fix(@angular-devkit/build-angular): reduce clutter in dev-server logs Add new lines to reduce logs clutter. --- .../angular_devkit/build_angular/src/dev-server/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index f1af5ba6853d..04dc39984d18 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -314,12 +314,12 @@ export function serveWebpackBrowser( }); if (index === 0) { - logger.info(tags.oneLine` + logger.info('\n' + tags.oneLine` ** Angular Live Development Server is listening on ${options.host}:${buildEvent.port}, open your browser on ${serverAddress} ** - `); + ` + '\n'); if (options.open) { const open = require('open'); @@ -328,7 +328,7 @@ export function serveWebpackBrowser( } if (buildEvent.success) { - logger.info(`${colors.greenBright(colors.symbols.check)} Compiled successfully.`); + logger.info(`\n${colors.greenBright(colors.symbols.check)} Compiled successfully.`); } return of({ ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput); From 01c99e9cd845180f4dd586843a3a0c2ea8368c29 Mon Sep 17 00:00:00 2001 From: Lukas Spirig Date: Tue, 3 Nov 2020 16:22:52 +0100 Subject: [PATCH 143/696] fix(@angular/cli): correctly read transitive dependency For `ng update --migrateOnly ...` the update implementation checks for transitive dependencies and tries to parse the containing directory as JSON. This PR fixes this by providing the correct path to the package.json. --- packages/angular/cli/commands/update-impl.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index ce3a7ac7e823..34abb0927be8 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -439,7 +439,7 @@ export class UpdateCommand extends Command { const packageJson = findPackageJson(this.context.root, packageName); if (packageJson) { packagePath = path.dirname(packageJson); - packageNode = await readPackageJson(packagePath); + packageNode = await readPackageJson(packageJson); } } From cc300212de84ebe9cf9718ba8a83b897a535d4af Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 10:48:12 +0100 Subject: [PATCH 144/696] Revert "fix(@angular-devkit/build-angular): don't generate `vendor.js.map` when vendor sourcemaps is disabled" This reverts commit b17763b03d7ca1ce5d2a85d2d03d0029b6623339. Closes #19236 --- .../specs/differential_loading_spec.ts | 7 +++++++ .../browser/specs/vendor-source-map_spec.ts | 6 ++++-- .../src/webpack/configs/browser.ts | 2 -- .../src/webpack/configs/server.ts | 4 ++-- .../build_angular/src/webpack/configs/test.ts | 19 +++++++------------ .../src/webpack/utils/helpers.ts | 2 -- tests/legacy-cli/e2e/tests/build/sourcemap.ts | 6 +++--- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts index 293c8d3a11b7..3e20cda27937 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts @@ -50,7 +50,9 @@ describe('Browser Builder with differential loading', () => { 'runtime-es5.js.map', 'vendor-es2015.js', + 'vendor-es2015.js.map', 'vendor-es5.js', + 'vendor-es5.js.map', 'styles.css', 'styles.css.map', @@ -88,7 +90,9 @@ describe('Browser Builder with differential loading', () => { 'runtime-es5.js.map', 'vendor-es2016.js', + 'vendor-es2016.js.map', 'vendor-es5.js', + 'vendor-es5.js.map', 'styles.css', 'styles.css.map', @@ -126,7 +130,9 @@ describe('Browser Builder with differential loading', () => { 'runtime-es5.js.map', 'vendor-esnext.js', + 'vendor-esnext.js.map', 'vendor-es5.js', + 'vendor-es5.js.map', 'styles.css', 'styles.css.map', @@ -152,6 +158,7 @@ describe('Browser Builder with differential loading', () => { 'runtime.js.map', 'vendor.js', + 'vendor.js.map', 'styles.css', 'styles.css.map', diff --git a/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts index 11b8fc0dc9ed..b2c9a3373fc7 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts @@ -34,7 +34,7 @@ describe('Browser Builder external source map', () => { expect(hasTsSourcePaths).toBe(true, `vendor.js.map should have '.ts' extentions`); }); - it(`does not generate 'vendor.js.map' when vendor sourcemap is disabled`, async () => { + it('does not map sourcemaps from external library when disabled', async () => { const overrides = { sourceMap: { scripts: true, @@ -44,6 +44,8 @@ describe('Browser Builder external source map', () => { }; const { files } = await browserBuild(architect, host, target, overrides); - expect(files['vendor.js.map']).toBeUndefined(); + const sourcePaths: string[] = JSON.parse(await files['vendor.js.map']).sources; + const hasTsSourcePaths = sourcePaths.some(p => path.extname(p) == '.ts'); + expect(hasTsSourcePaths).toBe(false, `vendor.js.map not should have '.ts' extentions`); }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts index 26bb7d911484..fadbd53fb8b9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts @@ -28,7 +28,6 @@ export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configurati styles: stylesSourceMap, scripts: scriptsSourceMap, hidden: hiddenSourceMap, - vendor: vendorSourceMap, } = buildOptions.sourceMap; if (subresourceIntegrity) { @@ -57,7 +56,6 @@ export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configurati stylesSourceMap, buildOptions.differentialLoadingMode ? true : hiddenSourceMap, false, - vendorSourceMap, )); } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/server.ts index bbbfa72f04e2..645d9154f073 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/server.ts @@ -28,9 +28,9 @@ export function getServerConfig(wco: WebpackConfigOptions): Configuration { } = wco.buildOptions; const extraPlugins = []; - const { scripts, styles, hidden, vendor } = sourceMap; + const { scripts, styles, hidden } = sourceMap; if (scripts || styles) { - extraPlugins.push(getSourceMapDevTool(scripts, styles, hidden, false, vendor)); + extraPlugins.push(getSourceMapDevTool(scripts, styles, hidden)); } const externals: Configuration['externals'] = [...externalDependencies]; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/test.ts b/packages/angular_devkit/build_angular/src/webpack/configs/test.ts index 881012f4ce52..ab89bb017d2b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/test.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/test.ts @@ -48,18 +48,13 @@ export function getTestConfig( }); } - if (sourceMap) { - const { styles, scripts, vendor } = sourceMap; - - if (styles || scripts) { - extraPlugins.push(getSourceMapDevTool( - scripts, - styles, - false, - true, - vendor, - )); - } + if (sourceMap.scripts || sourceMap.styles) { + extraPlugins.push(getSourceMapDevTool( + sourceMap.scripts, + sourceMap.styles, + false, + true, + )); } return { diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index f6ad3988cc45..92c5e002fd75 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -73,7 +73,6 @@ export function getSourceMapDevTool( stylesSourceMap: boolean | undefined, hiddenSourceMap = false, inlineSourceMap = false, - vendorSourceMap = false, ): SourceMapDevToolPlugin { const include = []; if (scriptsSourceMap) { @@ -94,7 +93,6 @@ export function getSourceMapDevTool( sourceRoot: 'webpack:///', moduleFilenameTemplate: '[resource-path]', append: hiddenSourceMap ? false : undefined, - exclude: vendorSourceMap ? undefined : /vendor.*\.js/, }); } diff --git a/tests/legacy-cli/e2e/tests/build/sourcemap.ts b/tests/legacy-cli/e2e/tests/build/sourcemap.ts index d296c17405bc..b78bb85eb99f 100644 --- a/tests/legacy-cli/e2e/tests/build/sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/build/sourcemap.ts @@ -15,10 +15,10 @@ export default async function () { await ng('build', '--output-hashing=bundles', '--source-map'); await ng('build', '--prod', '--output-hashing=none', '--source-map'); - await testForSourceMaps(5); + await testForSourceMaps(6); await ng('build', '--output-hashing=none', '--source-map'); - await testForSourceMaps(6); + await testForSourceMaps(8); } async function testForSourceMaps(expectedNumberOfFiles: number): Promise { @@ -29,7 +29,7 @@ async function testForSourceMaps(expectedNumberOfFiles: number): Promise let count = 0; for (const file of files) { - if (!file.endsWith('.js') || file.startsWith('vendor-')) { + if (!file.endsWith('.js')) { continue; } From 51d6c3cb4c0a36720c7960a221eec3faca022b5c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 20:48:20 +0100 Subject: [PATCH 145/696] fix(@angular-devkit/build-angular): add default value to progress option --- packages/angular_devkit/build_angular/src/browser/index.ts | 2 +- packages/angular_devkit/build_angular/src/browser/schema.json | 3 ++- packages/angular_devkit/build_angular/src/karma/schema.json | 3 ++- packages/angular_devkit/build_angular/src/server/schema.json | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index 9b5761b3eab6..4d8f73059355 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -278,7 +278,7 @@ export function buildWebpackBrowser( // tslint:disable-next-line: no-big-function concatMap(async buildEvent => { const spinner = new Spinner(); - spinner.enabled = !!options.progress; + spinner.enabled = options.progress !== false; const { webpackStats: webpackRawStats, success, emittedFiles = [] } = buildEvent; if (!webpackRawStats) { diff --git a/packages/angular_devkit/build_angular/src/browser/schema.json b/packages/angular_devkit/build_angular/src/browser/schema.json index 6e1b9d8ed254..7a9d32338a52 100644 --- a/packages/angular_devkit/build_angular/src/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/browser/schema.json @@ -185,7 +185,8 @@ }, "progress": { "type": "boolean", - "description": "Log progress to the console while building." + "description": "Log progress to the console while building.", + "default": true }, "i18nFile": { "type": "string", diff --git a/packages/angular_devkit/build_angular/src/karma/schema.json b/packages/angular_devkit/build_angular/src/karma/schema.json index f3402b9df894..4bf95a787720 100644 --- a/packages/angular_devkit/build_angular/src/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/karma/schema.json @@ -98,7 +98,8 @@ }, "progress": { "type": "boolean", - "description": "Log progress to the console while building." + "description": "Log progress to the console while building.", + "default": true }, "watch": { "type": "boolean", diff --git a/packages/angular_devkit/build_angular/src/server/schema.json b/packages/angular_devkit/build_angular/src/server/schema.json index b62571479787..289b37810a53 100644 --- a/packages/angular_devkit/build_angular/src/server/schema.json +++ b/packages/angular_devkit/build_angular/src/server/schema.json @@ -117,7 +117,8 @@ }, "progress": { "type": "boolean", - "description": "Log progress to the console while building." + "description": "Log progress to the console while building.", + "default": true }, "i18nFile": { "type": "string", From a038699ec35609339a6060400b5fa8cc8ca621e6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 12:08:34 +0100 Subject: [PATCH 146/696] refactor(@angular/cli): remove usage of devkit core JsonParser --- packages/angular/cli/commands/config-impl.ts | 114 +++-------------- packages/angular/cli/commands/version-impl.ts | 13 +- packages/angular/cli/models/analytics.ts | 13 +- packages/angular/cli/models/command-runner.ts | 5 +- packages/angular/cli/utilities/config.ts | 34 +---- packages/angular/cli/utilities/json-file.ts | 120 ++++++++++++++++++ .../commands/config/config-set-enum-check.ts | 1 - 7 files changed, 155 insertions(+), 145 deletions(-) create mode 100644 packages/angular/cli/utilities/json-file.ts diff --git a/packages/angular/cli/commands/config-impl.ts b/packages/angular/cli/commands/config-impl.ts index 944ca1df100a..edbebdfcff89 100644 --- a/packages/angular/cli/commands/config-impl.ts +++ b/packages/angular/cli/commands/config-impl.ts @@ -6,16 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { - InvalidJsonCharacterException, - JsonArray, - JsonObject, - JsonParseMode, - JsonValue, - parseJson, - tags, -} from '@angular-devkit/core'; -import { writeFileSync } from 'fs'; +import { JsonValue, tags } from '@angular-devkit/core'; import { v4 as uuidV4 } from 'uuid'; import { Command } from '../models/command'; import { Arguments, CommandScope } from '../models/interface'; @@ -24,6 +15,7 @@ import { migrateLegacyGlobalConfig, validateWorkspace, } from '../utilities/config'; +import { JSONFile, parseJson } from '../utilities/json-file'; import { Schema as ConfigCommandSchema, Value as ConfigCommandSchemaValue } from './config'; function _validateBoolean(value: string) { @@ -106,73 +98,6 @@ function parseJsonPath(path: string): (string | number)[] { return result.filter(fragment => fragment != null); } -function getValueFromPath( - root: T, - path: string, -): JsonValue | undefined { - const fragments = parseJsonPath(path); - - try { - return fragments.reduce((value: JsonValue | undefined, current: string | number) => { - if (value == undefined || typeof value != 'object') { - return undefined; - } else if (typeof current == 'string' && !Array.isArray(value)) { - return value[current]; - } else if (typeof current == 'number' && Array.isArray(value)) { - return value[current]; - } else { - return undefined; - } - }, root); - } catch { - return undefined; - } -} - -function setValueFromPath( - root: T, - path: string, - newValue: JsonValue, -): JsonValue | undefined { - const fragments = parseJsonPath(path); - - try { - return fragments.reduce((value: JsonValue | undefined, current: string | number, index: number) => { - if (value == undefined || typeof value != 'object') { - return undefined; - } else if (typeof current == 'string' && !Array.isArray(value)) { - if (index === fragments.length - 1) { - value[current] = newValue; - } else if (value[current] == undefined) { - if (typeof fragments[index + 1] == 'number') { - value[current] = []; - } else if (typeof fragments[index + 1] == 'string') { - value[current] = {}; - } - } - - return value[current]; - } else if (typeof current == 'number' && Array.isArray(value)) { - if (index === fragments.length - 1) { - value[current] = newValue; - } else if (value[current] == undefined) { - if (typeof fragments[index + 1] == 'number') { - value[current] = []; - } else if (typeof fragments[index + 1] == 'string') { - value[current] = {}; - } - } - - return value[current]; - } else { - return undefined; - } - }, root); - } catch { - return undefined; - } -} - function normalizeValue(value: ConfigCommandSchemaValue, path: string): JsonValue { const cliOptionType = validCliPaths.get(path); if (cliOptionType) { @@ -181,13 +106,9 @@ function normalizeValue(value: ConfigCommandSchemaValue, path: string): JsonValu if (typeof value === 'string') { try { - return parseJson(value, JsonParseMode.Loose); + return parseJson(value); } catch (e) { - if (e instanceof InvalidJsonCharacterException && !value.startsWith('{')) { - return value; - } else { - throw e; - } + throw e; } } @@ -222,28 +143,28 @@ export class ConfigCommand extends Command { return 1; } - return this.get(config.value, options); + return this.get(config, options); } else { return this.set(options); } } - private get(config: JsonObject, options: ConfigCommandSchema) { + private get(jsonFile: JSONFile, options: ConfigCommandSchema) { let value; if (options.jsonPath) { - value = getValueFromPath(config, options.jsonPath); + value = jsonFile.get(parseJsonPath(options.jsonPath)); } else { - value = config; + value = jsonFile.content; } if (value === undefined) { this.logger.error('Value cannot be found.'); return 1; - } else if (typeof value == 'object') { - this.logger.info(JSON.stringify(value, null, 2)); + } else if (typeof value === 'string') { + this.logger.info(value); } else { - this.logger.info(value.toString()); + this.logger.info(JSON.stringify(value, null, 2)); } return 0; @@ -270,27 +191,26 @@ export class ConfigCommand extends Command { } // TODO: Modify & save without destroying comments - const configValue = config.value; - const value = normalizeValue(options.value || '', options.jsonPath); - const result = setValueFromPath(configValue, options.jsonPath, value); - if (result === undefined) { + const jsonPath = parseJsonPath(options.jsonPath); + const modified = config.modify(jsonPath, value); + + if (!modified) { this.logger.error('Value cannot be found.'); return 1; } try { - await validateWorkspace(configValue); + await validateWorkspace(parseJson(config.content)); } catch (error) { this.logger.fatal(error.message); return 1; } - const output = JSON.stringify(configValue, null, 2); - writeFileSync(configPath, output); + config.write(); return 0; } diff --git a/packages/angular/cli/commands/version-impl.ts b/packages/angular/cli/commands/version-impl.ts index 669ce2d2ba54..1044d9e34bfe 100644 --- a/packages/angular/cli/commands/version-impl.ts +++ b/packages/angular/cli/commands/version-impl.ts @@ -5,11 +5,10 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, isJsonObject, parseJson } from '@angular-devkit/core'; -import * as fs from 'fs'; import * as path from 'path'; import { Command } from '../models/command'; import { colors } from '../utilities/color'; +import { JSONFile } from '../utilities/json-file'; import { Schema as VersionCommandSchema } from './version'; interface PartialPackageInfo { @@ -169,15 +168,9 @@ export class VersionCommand extends Command { private getIvyWorkspace(): string { try { - const content = fs.readFileSync(path.resolve(this.context.root, 'tsconfig.json'), 'utf-8'); - const tsConfig = parseJson(content, JsonParseMode.Loose); - if (!isJsonObject(tsConfig)) { - return ''; - } - - const { angularCompilerOptions } = tsConfig; + const json = new JSONFile(path.resolve(this.context.root, 'tsconfig.json')); - return isJsonObject(angularCompilerOptions) && angularCompilerOptions.enableIvy === false + return json.get(['angularCompilerOptions', 'enableIvy']) === false ? 'No' : 'Yes'; } catch { diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/models/analytics.ts index 1118c2311b8d..dbf52a9fd9c8 100644 --- a/packages/angular/cli/models/analytics.ts +++ b/packages/angular/cli/models/analytics.ts @@ -8,7 +8,6 @@ import { analytics, json, tags } from '@angular-devkit/core'; import * as child_process from 'child_process'; import * as debug from 'debug'; -import { writeFileSync } from 'fs'; import * as inquirer from 'inquirer'; import * as os from 'os'; import * as ua from 'universal-analytics'; @@ -357,21 +356,21 @@ export function setAnalyticsConfig(level: 'global' | 'local', value: string | bo throw new Error(`Could not find ${level} workspace.`); } - const configValue = config.value; - const cli: json.JsonValue = configValue['cli'] || (configValue['cli'] = {}); + const cli = config.get(['cli']); - if (!json.isJsonObject(cli)) { + if (!json.isJsonObject(cli as json.JsonValue)) { throw new Error(`Invalid config found at ${configPath}. CLI should be an object.`); } if (value === true) { value = uuidV4(); } - cli['analytics'] = value; - const output = JSON.stringify(configValue, null, 2); - writeFileSync(configPath, output); + config.modify(['cli', 'analytics'], value); + config.write(); + analyticsDebug('done'); + } /** diff --git a/packages/angular/cli/models/command-runner.ts b/packages/angular/cli/models/command-runner.ts index 980640a5a80c..655212dbea40 100644 --- a/packages/angular/cli/models/command-runner.ts +++ b/packages/angular/cli/models/command-runner.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ import { - JsonParseMode, analytics, isJsonObject, json, @@ -18,6 +17,7 @@ import { import { readFileSync } from 'fs'; import { join, resolve } from 'path'; import { AngularWorkspace } from '../utilities/config'; +import { readAndParseJson } from '../utilities/json-file'; import { parseJsonSchemaToCommandDescription } from '../utilities/json-schema'; import { getGlobalAnalytics, @@ -97,8 +97,7 @@ async function loadCommandDescription( registry: json.schema.CoreSchemaRegistry, ): Promise { const schemaPath = resolve(__dirname, path); - const schemaContent = readFileSync(schemaPath, 'utf-8'); - const schema = json.parseJson(schemaContent, JsonParseMode.Loose, { path: schemaPath }); + const schema = readAndParseJson(schemaPath); if (!isJsonObject(schema)) { throw new Error('Invalid command JSON loaded from ' + JSON.stringify(schemaPath)); } diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index 724a3544c93a..2042e9d903bf 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -5,12 +5,12 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { json, parseJsonAst, workspaces } from '@angular-devkit/core'; +import { json, workspaces } from '@angular-devkit/core'; import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; -import { parse as parseJson } from 'jsonc-parser'; import * as os from 'os'; import * as path from 'path'; import { findUp } from './find-up'; +import { JSONFile, readAndParseJson } from './json-file'; function isJsonObject(value: json.JsonValue | undefined): value is json.JsonObject { return value !== undefined && json.isJsonObject(value); @@ -185,7 +185,7 @@ export function createGlobalSettings(): string { export function getWorkspaceRaw( level: 'local' | 'global' = 'local', -): [json.JsonAstObject | null, string | null] { +): [JSONFile | null, string | null] { let configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { @@ -196,28 +196,11 @@ export function getWorkspaceRaw( } } - const data = readFileSync(configPath); - let start = 0; - if (data.length > 3 && data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) { - // Remove BOM - start = 3; - } - const content = data.toString('utf-8', start); - const ast = parseJsonAst(content, json.JsonParseMode.Loose); - - if (ast.kind != 'object') { - throw new Error(`Invalid JSON file: ${configPath}`); - } - - return [ast, configPath]; + return [new JSONFile(configPath), configPath]; } export async function validateWorkspace(data: json.JsonObject): Promise { - const schemaContent = readFileSync( - path.join(__dirname, '..', 'lib', 'config', 'schema.json'), - 'utf-8', - ); - const schema = parseJson(schemaContent) as json.schema.JsonSchema; + const schema = readAndParseJson(path.join(__dirname, '../lib/config/schema.json')) as json.schema.JsonSchema; const { formats } = await import('@angular-devkit/schematics'); const registry = new json.schema.CoreSchemaRegistry(formats.standardFormats); const validator = await registry.compile(schema).toPromise(); @@ -331,8 +314,7 @@ export function migrateLegacyGlobalConfig(): boolean { if (homeDir) { const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); if (existsSync(legacyGlobalConfigPath)) { - const content = readFileSync(legacyGlobalConfigPath, 'utf-8'); - const legacy = parseJson(content); + const legacy = readAndParseJson(legacyGlobalConfigPath); if (!isJsonObject(legacy)) { return false; } @@ -384,9 +366,7 @@ function getLegacyPackageManager(): string | null { if (homeDir) { const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); if (existsSync(legacyGlobalConfigPath)) { - const content = readFileSync(legacyGlobalConfigPath, 'utf-8'); - - const legacy = parseJson(content); + const legacy = readAndParseJson(legacyGlobalConfigPath); if (!isJsonObject(legacy)) { return null; } diff --git a/packages/angular/cli/utilities/json-file.ts b/packages/angular/cli/utilities/json-file.ts new file mode 100644 index 000000000000..21a711387e1b --- /dev/null +++ b/packages/angular/cli/utilities/json-file.ts @@ -0,0 +1,120 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { JsonValue } from '@angular-devkit/core'; +import { readFileSync, writeFileSync } from 'fs'; +import { + Node, ParseError, applyEdits, findNodeAtLocation, + getNodeValue, modify, parse, parseTree, printParseErrorCode, +} from 'jsonc-parser'; + +export type InsertionIndex = (properties: string[]) => number; +export type JSONPath = (string | number)[]; + +/** @internal */ +export class JSONFile { + content: string; + + constructor( + private readonly path: string, + ) { + const buffer = readFileSync(this.path); + if (buffer) { + this.content = buffer.toString(); + } else { + throw new Error(`Could not read '${path}'.`); + } + } + + private _jsonAst: Node | undefined; + private get JsonAst(): Node { + if (this._jsonAst) { + return this._jsonAst; + } + + const errors: ParseError[] = []; + this._jsonAst = parseTree(this.content, errors); + if (errors.length) { + formatError(this.path, errors); + } + + return this._jsonAst; + } + + get(jsonPath: JSONPath): unknown { + if (jsonPath.length === 0) { + return getNodeValue(this.JsonAst); + } + + const node = findNodeAtLocation(this.JsonAst, jsonPath); + + return node === undefined ? undefined : getNodeValue(node); + } + + modify(jsonPath: JSONPath, value: JsonValue | undefined, insertInOrder?: InsertionIndex | false): boolean { + if (value === undefined && this.get(jsonPath) === undefined) { + // Cannot remove a value which doesn't exist. + return false; + } + + let getInsertionIndex: InsertionIndex | undefined; + if (insertInOrder === undefined) { + const property = jsonPath.slice(-1)[0]; + getInsertionIndex = properties => [...properties, property].sort().findIndex(p => p === property); + } else if (insertInOrder !== false) { + getInsertionIndex = insertInOrder; + } + + const edits = modify( + this.content, + jsonPath, + value, + { + getInsertionIndex, + formattingOptions: { + insertSpaces: true, + tabSize: 2, + }, + }, + ); + + if (edits.length === 0) { + return false; + } + + this.content = applyEdits(this.content, edits); + this._jsonAst = undefined; + + return true; + } + + save(): void { + writeFileSync(this.path, this.content); + } +} + +// tslint:disable-next-line: no-any +export function readAndParseJson(path: string): any { + const errors: ParseError[] = []; + const content = parse(readFileSync(path, 'utf-8'), errors); + if (errors.length) { + formatError(path, errors); + } + + return content; +} + +function formatError(path: string, errors: ParseError[]): never { + const { error, offset } = errors[0]; + throw new Error(`Failed to parse "${path}" as JSON AST Object. ${printParseErrorCode(error)} at location: ${offset}.`); +} + +// tslint:disable-next-line: no-any +export function parseJson(content: string): any { + return parse(content); +} diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts b/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts index aabf758930a9..694f90f6020a 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts @@ -1,5 +1,4 @@ import { ng } from '../../../utils/process'; -import { expectToFail } from '../../../utils/utils'; export default async function() { From 0bc15970ad3143880748ce6bbed81bb2b0eed699 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 12:09:27 +0100 Subject: [PATCH 147/696] refactor(@schematics/angular): use jsonc-parser instead of devkit parser --- packages/angular/cli/commands/config-impl.ts | 87 +++++-------------- packages/angular/cli/lib/config/schema.json | 14 +++ packages/angular/cli/models/analytics.ts | 2 +- .../angular/application/index_spec.ts | 4 +- packages/schematics/angular/library/index.ts | 42 ++------- .../schematics/angular/library/index_spec.ts | 4 +- .../remove-solution-style-tsconfig_spec.ts | 5 +- ...module-and-target-compiler-options_spec.ts | 5 +- .../angular/migrations/update-6/index.ts | 5 +- .../update-9/update-app-tsconfigs_spec.ts | 4 +- .../angular/universal/index_spec.ts | 6 +- .../angular/web-worker/index_spec.ts | 6 +- .../angular/workspace/index_spec.ts | 8 +- 13 files changed, 66 insertions(+), 126 deletions(-) diff --git a/packages/angular/cli/commands/config-impl.ts b/packages/angular/cli/commands/config-impl.ts index edbebdfcff89..329bc499a6f2 100644 --- a/packages/angular/cli/commands/config-impl.ts +++ b/packages/angular/cli/commands/config-impl.ts @@ -16,50 +16,15 @@ import { validateWorkspace, } from '../utilities/config'; import { JSONFile, parseJson } from '../utilities/json-file'; -import { Schema as ConfigCommandSchema, Value as ConfigCommandSchemaValue } from './config'; - -function _validateBoolean(value: string) { - if (('' + value).trim() === 'true') { - return true; - } else if (('' + value).trim() === 'false') { - return false; - } else { - throw new Error(`Invalid value type; expected Boolean, received ${JSON.stringify(value)}.`); - } -} -function _validateString(value: string) { - return value; -} -function _validateAnalytics(value: string) { - if (value === '') { - // Disable analytics. - return null; - } else { - return value; - } -} -function _validateAnalyticsSharingUuid(value: string) { - if (value == '') { - return uuidV4(); - } else { - return value; - } -} -function _validateAnalyticsSharingTracking(value: string) { - if (!value.match(/^GA-\d+-\d+$/)) { - throw new Error(`Invalid GA property ID: ${JSON.stringify(value)}.`); - } - - return value; -} - -const validCliPaths = new Map JsonValue>([ - ['cli.warnings.versionMismatch', _validateBoolean], - ['cli.defaultCollection', _validateString], - ['cli.packageManager', _validateString], - ['cli.analytics', _validateAnalytics], - ['cli.analyticsSharing.tracking', _validateAnalyticsSharingTracking], - ['cli.analyticsSharing.uuid', _validateAnalyticsSharingUuid], +import { Schema as ConfigCommandSchema } from './config'; + +const validCliPaths = new Map string) | undefined>([ + ['cli.warnings.versionMismatch', undefined], + ['cli.defaultCollection', undefined], + ['cli.packageManager', undefined], + ['cli.analytics', undefined], + ['cli.analyticsSharing.tracking', undefined], + ['cli.analyticsSharing.uuid', v => v ? `${v}` : uuidV4()], ]); /** @@ -98,21 +63,17 @@ function parseJsonPath(path: string): (string | number)[] { return result.filter(fragment => fragment != null); } -function normalizeValue(value: ConfigCommandSchemaValue, path: string): JsonValue { - const cliOptionType = validCliPaths.get(path); - if (cliOptionType) { - return cliOptionType('' + value); - } - - if (typeof value === 'string') { - try { - return parseJson(value); - } catch (e) { - throw e; - } +function normalizeValue(value: string | undefined | boolean | number): JsonValue | undefined { + const valueString = `${value}`.trim(); + if (valueString === 'true') { + return true; + } else if (valueString === 'false') { + return false; + } else if (isFinite(+valueString)) { + return +valueString; } - return value; + return value || undefined; } export class ConfigCommand extends Command { @@ -133,7 +94,7 @@ export class ConfigCommand extends Command { We found a global configuration that was used in Angular CLI 1. It has been automatically migrated.`); } - } catch {} + } catch { } } if (options.value == undefined) { @@ -171,7 +132,7 @@ export class ConfigCommand extends Command { } private async set(options: ConfigCommandSchema) { - if (!options.jsonPath || !options.jsonPath.trim()) { + if (!options.jsonPath?.trim()) { throw new Error('Invalid Path.'); } @@ -190,11 +151,9 @@ export class ConfigCommand extends Command { return 1; } - // TODO: Modify & save without destroying comments - const value = normalizeValue(options.value || '', options.jsonPath); - const jsonPath = parseJsonPath(options.jsonPath); - const modified = config.modify(jsonPath, value); + const value = validCliPaths.get(options.jsonPath)?.(options.value) ?? options.value; + const modified = config.modify(jsonPath, normalizeValue(value)); if (!modified) { this.logger.error('Value cannot be found.'); @@ -210,7 +169,7 @@ export class ConfigCommand extends Command { return 1; } - config.write(); + config.save(); return 0; } diff --git a/packages/angular/cli/lib/config/schema.json b/packages/angular/cli/lib/config/schema.json index 1c769c14e70c..79e84e28fb3f 100644 --- a/packages/angular/cli/lib/config/schema.json +++ b/packages/angular/cli/lib/config/schema.json @@ -64,6 +64,20 @@ "analytics": { "type": ["boolean", "string"], "description": "Share anonymous usage data with the Angular Team at Google." + }, + "analyticsSharing": { + "type": "object", + "properties": { + "tracking": { + "description": "Analytics sharing info tracking ID.", + "type": "string", + "pattern": "^GA-\\d+-\\d+$" + }, + "uuid": { + "description": "Analytics sharing info universally unique identifier.", + "type": "string" + } + } } }, "additionalProperties": false diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/models/analytics.ts index dbf52a9fd9c8..cf387475321b 100644 --- a/packages/angular/cli/models/analytics.ts +++ b/packages/angular/cli/models/analytics.ts @@ -367,7 +367,7 @@ export function setAnalyticsConfig(level: 'global' | 'local', value: string | bo } config.modify(['cli', 'analytics'], value); - config.write(); + config.save(); analyticsDebug('done'); diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index fde0e33d8f91..c4da27dba88a 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ // tslint:disable:no-big-function -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { latestVersions } from '../utility/latest-versions'; import { getFileContent } from '../utility/test'; import { Schema as WorkspaceOptions } from '../workspace/schema'; @@ -15,7 +15,7 @@ import { Schema as ApplicationOptions, Style, ViewEncapsulation } from './schema // tslint:disable-next-line: no-any function readJsonFile(tree: UnitTestTree, path: string): any { - return parseJson(tree.readContent(path).toString(), JsonParseMode.Loose); + return parseJson(tree.readContent(path).toString()); } describe('Application Schematic', () => { diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 979ef457f561..6e1bc5ebabe4 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -5,7 +5,7 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, join, normalize, parseJson, strings } from '@angular-devkit/core'; +import { join, normalize, strings } from '@angular-devkit/core'; import { Rule, SchematicContext, @@ -22,6 +22,7 @@ import { } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; +import { JSONFile } from '../utility/json-file'; import { latestVersions } from '../utility/latest-versions'; import { applyLintFix } from '../utility/lint-fix'; import { relativePathToWorkspaceRoot } from '../utility/paths'; @@ -30,45 +31,14 @@ import { getWorkspace, updateWorkspace } from '../utility/workspace'; import { Builders, ProjectType } from '../utility/workspace-models'; import { Schema as LibraryOptions } from './schema'; -interface UpdateJsonFn { - (obj: T): T | void; -} - -type TsConfigPartialType = { - compilerOptions: { - baseUrl: string, - paths: { - [key: string]: string[]; - }, - }, -}; - -function updateJsonFile(host: Tree, path: string, callback: UpdateJsonFn): Tree { - const source = host.read(path); - if (source) { - const sourceText = source.toString('utf-8'); - const json = parseJson(sourceText, JsonParseMode.Loose); - callback(json as {} as T); - host.overwrite(path, JSON.stringify(json, null, 2)); - } - - return host; -} - function updateTsConfig(packageName: string, ...paths: string[]) { - return (host: Tree) => { if (!host.exists('tsconfig.json')) { return host; } - return updateJsonFile(host, 'tsconfig.json', (tsconfig: TsConfigPartialType) => { - if (!tsconfig.compilerOptions.paths) { - tsconfig.compilerOptions.paths = {}; - } - if (!tsconfig.compilerOptions.paths[packageName]) { - tsconfig.compilerOptions.paths[packageName] = []; - } - tsconfig.compilerOptions.paths[packageName].push(...paths); - }); + const file = new JSONFile(host, 'tsconfig.json'); + const jsonPath = ['compilerOptions', 'paths', packageName]; + const value = file.get(jsonPath); + file.modify(jsonPath, Array.isArray(value) ? [...value, ...paths] : paths); }; } diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 12ac82cf4c02..f3a847fe4a20 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ // tslint:disable:no-big-function -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { getFileContent } from '../../angular/utility/test'; import { Schema as ComponentOptions } from '../component/schema'; import { latestVersions } from '../utility/latest-versions'; @@ -16,7 +16,7 @@ import { Schema as GenerateLibrarySchema } from './schema'; // tslint:disable-next-line: no-any function getJsonFileContent(tree: UnitTestTree, path: string): any { - return parseJson(tree.readContent(path).toString(), JsonParseMode.Loose); + return parseJson(tree.readContent(path).toString()); } describe('Library Schematic', () => { diff --git a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts index d706c30ddc64..f431127bf48b 100644 --- a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts +++ b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts @@ -5,9 +5,9 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { EmptyTree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; describe('Migration to remove "Solution Style" tsconfig', () => { @@ -24,8 +24,7 @@ describe('Migration to remove "Solution Style" tsconfig', () => { // tslint:disable-next-line: no-any function readJsonFile(tree: UnitTestTree, filePath: string): any { - // tslint:disable-next-line: no-any - return parseJson(tree.readContent(filePath).toString(), JsonParseMode.Loose) as any; + return parseJson(tree.readContent(filePath).toString()); } function createWorkSpaceConfig(tree: UnitTestTree) { diff --git a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts index 0e4736013256..a0a979d3df04 100644 --- a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts +++ b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts @@ -5,9 +5,9 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { EmptyTree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; describe('Migration to update target and module compiler options', () => { @@ -24,8 +24,7 @@ describe('Migration to update target and module compiler options', () => { // tslint:disable-next-line: no-any function readJsonFile(tree: UnitTestTree, filePath: string): any { - // tslint:disable-next-line: no-any - return parseJson(tree.readContent(filePath).toString(), JsonParseMode.Loose) as any; + return parseJson(tree.readContent(filePath).toString()); } function createWorkSpaceConfig(tree: UnitTestTree) { diff --git a/packages/schematics/angular/migrations/update-6/index.ts b/packages/schematics/angular/migrations/update-6/index.ts index 2bbbfd8c62af..4e85fa9d3681 100644 --- a/packages/schematics/angular/migrations/update-6/index.ts +++ b/packages/schematics/angular/migrations/update-6/index.ts @@ -8,12 +8,10 @@ import { JsonArray, JsonObject, - JsonParseMode, Path, join, logging, normalize, - parseJson, tags, } from '@angular-devkit/core'; import { @@ -24,6 +22,7 @@ import { chain, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; +import { parse as parseJson } from 'jsonc-parser'; import { NodeDependency, NodeDependencyType, @@ -745,7 +744,7 @@ export default function (): Rule { if (configBuffer == null) { throw new SchematicsException(`Could not find configuration file (${configPath})`); } - const config = parseJson(configBuffer.toString(), JsonParseMode.Loose); + const config = parseJson(configBuffer.toString()); if (typeof config != 'object' || Array.isArray(config) || config === null) { throw new SchematicsException('Invalid angular-cli.json configuration; expected an object.'); diff --git a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts index d9fca926bf1f..34ac9c9e339a 100644 --- a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts +++ b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts @@ -6,14 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { EmptyTree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { getWorkspaceTargets, updateWorkspaceTargets } from './update-workspace-config_spec'; // tslint:disable-next-line: no-any function readJsonFile(tree: UnitTestTree, path: string): any { - return parseJson(tree.readContent(path).toString(), JsonParseMode.Loose); + return parseJson(tree.readContent(path).toString()); } function overrideJsonFile(tree: UnitTestTree, path: string, newContent: object) { diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index b5fb43a2f156..86c4563ca7c5 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -5,8 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { Schema as ApplicationOptions, Style } from '../application/schema'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; import { Schema as WorkspaceOptions } from '../workspace/schema'; @@ -88,7 +88,7 @@ describe('Universal Schematic', () => { const filePath = '/tsconfig.server.json'; expect(tree.exists(filePath)).toEqual(true); // tslint:disable-next-line: no-any - const contents = parseJson(tree.readContent(filePath).toString(), JsonParseMode.Loose) as any; + const contents = parseJson(tree.readContent(filePath).toString()) as any; expect(contents).toEqual({ extends: './tsconfig.app.json', compilerOptions: { @@ -114,7 +114,7 @@ describe('Universal Schematic', () => { const filePath = '/projects/bar/tsconfig.server.json'; expect(tree.exists(filePath)).toEqual(true); // tslint:disable-next-line: no-any - const contents = parseJson(tree.readContent(filePath).toString(), JsonParseMode.Loose) as any; + const contents = parseJson(tree.readContent(filePath).toString()) as any; expect(contents).toEqual({ extends: './tsconfig.app.json', compilerOptions: { diff --git a/packages/schematics/angular/web-worker/index_spec.ts b/packages/schematics/angular/web-worker/index_spec.ts index 066be368f57e..b8d169a12eab 100644 --- a/packages/schematics/angular/web-worker/index_spec.ts +++ b/packages/schematics/angular/web-worker/index_spec.ts @@ -5,8 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { Schema as ApplicationOptions } from '../application/schema'; import { Schema as WorkspaceOptions } from '../workspace/schema'; import { Schema as WebWorkerOptions } from './schema'; @@ -60,7 +60,7 @@ describe('Web Worker Schematic', () => { expect(tree.exists(path)).toEqual(true); // tslint:disable-next-line: no-any - const { compilerOptions } = parseJson(tree.readContent(path).toString(), JsonParseMode.Loose) as any; + const { compilerOptions } = parseJson(tree.readContent(path).toString()) as any; expect(compilerOptions.outDir).toBe('../../out-tsc/worker'); }); @@ -125,7 +125,7 @@ describe('Web Worker Schematic', () => { expect(tree.exists(path)).toEqual(true); // tslint:disable-next-line: no-any - const { compilerOptions } = parseJson(tree.readContent(path).toString(), JsonParseMode.Loose) as any; + const { compilerOptions } = parseJson(tree.readContent(path).toString()) as any; expect(compilerOptions.outDir).toBe('./out-tsc/worker'); }); diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index 35b760348a4f..e3ff5984f204 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -5,8 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; import { SchematicTestRunner } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; import { latestVersions } from '../utility/latest-versions'; import { Schema as WorkspaceOptions } from './schema'; @@ -77,7 +77,7 @@ describe('Workspace Schematic', () => { const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); const { angularCompilerOptions } = // tslint:disable-next-line: no-any - parseJson(tree.readContent('tsconfig.json').toString(), JsonParseMode.Loose) as any; + parseJson(tree.readContent('tsconfig.json').toString()) as any; expect(angularCompilerOptions.enableI18nLegacyMessageIdFormat).toBe(false); }); @@ -85,7 +85,7 @@ describe('Workspace Schematic', () => { const tree = await schematicRunner.runSchematicAsync('workspace', { ...defaultOptions, strict: false }).toPromise(); const { compilerOptions, angularCompilerOptions } = // tslint:disable-next-line: no-any - parseJson(tree.readContent('tsconfig.json').toString(), JsonParseMode.Loose) as any; + parseJson(tree.readContent('tsconfig.json').toString()) as any; expect(compilerOptions.strict).toBeUndefined(); expect(Object.keys(angularCompilerOptions).filter(option => option.startsWith('strict'))).toEqual([]); }); @@ -94,7 +94,7 @@ describe('Workspace Schematic', () => { const tree = await schematicRunner.runSchematicAsync('workspace', { ...defaultOptions, strict: true }).toPromise(); const { compilerOptions, angularCompilerOptions } = // tslint:disable-next-line: no-any - parseJson(tree.readContent('tsconfig.json').toString(), JsonParseMode.Loose) as any; + parseJson(tree.readContent('tsconfig.json').toString()) as any; expect(compilerOptions.strict).toBe(true); expect(angularCompilerOptions.strictTemplates).toBe(true); }); From 32581ef0780ed013ab8818acbb3413b9f975bb42 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 Nov 2020 12:16:56 +0100 Subject: [PATCH 148/696] refactor(@angular-devkit/core): deprecate json parser Use 3rd party JSON parsers such as `jsonc-parser` instead. --- packages/angular_devkit/core/src/json/parser.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/angular_devkit/core/src/json/parser.ts b/packages/angular_devkit/core/src/json/parser.ts index cdf83e20771d..243b51c4f0ea 100644 --- a/packages/angular_devkit/core/src/json/parser.ts +++ b/packages/angular_devkit/core/src/json/parser.ts @@ -29,6 +29,7 @@ export class JsonException extends BaseException {} /** * A character was invalid in this context. + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. */ export class InvalidJsonCharacterException extends JsonException { invalidChar: string; @@ -51,6 +52,7 @@ export class InvalidJsonCharacterException extends JsonException { /** * More input was expected, but we reached the end of the stream. + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. */ export class UnexpectedEndOfInputException extends JsonException { constructor(_context: JsonParserContext) { @@ -60,6 +62,7 @@ export class UnexpectedEndOfInputException extends JsonException { /** * An error happened within a file. + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. */ export class PathSpecificJsonException extends JsonException { constructor(public path: string, public exception: JsonException) { @@ -69,6 +72,7 @@ export class PathSpecificJsonException extends JsonException { /** * Context passed around the parser with information about where we currently are in the parse. + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. */ export interface JsonParserContext { position: Position; @@ -832,6 +836,8 @@ export enum JsonParseMode { * Parse the JSON string and return its AST. The AST may be losing data (end comments are * discarded for example, and space characters are not represented in the AST), but all values * will have a single node in the AST (a 1-to-1 mapping). + * + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. * @param input The string to use. * @param mode The mode to parse the input with. {@see JsonParseMode}. * @returns {JsonAstNode} The root node of the value of the AST. @@ -863,6 +869,7 @@ export function parseJsonAst(input: string, mode = JsonParseMode.Default): JsonA /** * Options for the parseJson() function. + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. */ export interface ParseJsonOptions { /** @@ -879,6 +886,7 @@ export interface ParseJsonOptions { * If a path option is pass, it also absorbs JSON parsing errors and return a new error with the * path in it. Useful for showing errors when parsing from a file. * + * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. * @param input The string to parse. * @param mode The mode to parse the input with. {@see JsonParseMode}. * @param options Additional optinos for parsing. From 71a0e11fc166be4ce26952d2ff969b1037600d9d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 21 Apr 2020 18:24:00 -0400 Subject: [PATCH 149/696] refactor(@ngtools/webpack): introduce Ivy Webpack compiler plugin/loader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change introduces a new Ivy Webpack compiler plugin. The plugin leverages the Ivy APIs from the @angular/compiler-cli package. The plugin also simplifies and reduces the amount of code within the plugin by leveraging newer TypeScript features and capabilities. The need for the virtual filesystem has also been removed. The file replacements capability was the primary driver for the previous need for the virtual filesystem. File replacements are now implemented using a two-pronged approach. The first, for TypeScript, is to hook TypeScript module resolution and adjust the resolved modules based on the configured file replacements. This is similar in behavior to TypeScript path mapping. The second, for Webpack, is the use of the NormalModuleReplacementPlugin to facilitate bundling of the configured file replacements. An advantage to this approach is that the build system (both TypeScript and Webpack) are now aware of the replacements and can operate without augmenting multiple aspects of system as was needed previously. The plugin also introduces the use of TypeScript’s builder programs. The current primary benefit is more accurate and simplified dependency discovery. Further, they also provide for the introduction of incremental build support and incremental type checking. --- packages/ngtools/webpack/src/index.ts | 2 + .../ngtools/webpack/src/ivy/diagnostics.ts | 27 + packages/ngtools/webpack/src/ivy/host.ts | 263 ++++++++ packages/ngtools/webpack/src/ivy/index.ts | 11 + packages/ngtools/webpack/src/ivy/loader.ts | 77 +++ packages/ngtools/webpack/src/ivy/plugin.ts | 576 ++++++++++++++++++ packages/ngtools/webpack/src/ivy/symbol.ts | 16 + packages/ngtools/webpack/src/ivy/system.ts | 99 +++ .../ngtools/webpack/src/ivy/transformation.ts | 141 +++++ .../ngtools/webpack/src/resource_loader.ts | 31 +- 10 files changed, 1241 insertions(+), 2 deletions(-) create mode 100644 packages/ngtools/webpack/src/ivy/diagnostics.ts create mode 100644 packages/ngtools/webpack/src/ivy/host.ts create mode 100644 packages/ngtools/webpack/src/ivy/index.ts create mode 100644 packages/ngtools/webpack/src/ivy/loader.ts create mode 100644 packages/ngtools/webpack/src/ivy/plugin.ts create mode 100644 packages/ngtools/webpack/src/ivy/symbol.ts create mode 100644 packages/ngtools/webpack/src/ivy/system.ts create mode 100644 packages/ngtools/webpack/src/ivy/transformation.ts diff --git a/packages/ngtools/webpack/src/index.ts b/packages/ngtools/webpack/src/index.ts index bba971febb90..35de314a7db3 100644 --- a/packages/ngtools/webpack/src/index.ts +++ b/packages/ngtools/webpack/src/index.ts @@ -14,3 +14,5 @@ export const NgToolsLoader = __filename; // We shouldn't need to export this, but webpack-rollup-loader uses it. export type { VirtualFileSystemDecorator } from './virtual_file_system_decorator'; + +export * as ivy from './ivy'; diff --git a/packages/ngtools/webpack/src/ivy/diagnostics.ts b/packages/ngtools/webpack/src/ivy/diagnostics.ts new file mode 100644 index 000000000000..4ddd0b739ba9 --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/diagnostics.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { Diagnostics, formatDiagnostics } from '@angular/compiler-cli'; +import { DiagnosticCategory } from 'typescript'; +import { addError, addWarning } from '../webpack-diagnostics'; + +export type DiagnosticsReporter = (diagnostics: Diagnostics) => void; + +export function createDiagnosticsReporter( + compilation: import('webpack').compilation.Compilation, +): DiagnosticsReporter { + return (diagnostics) => { + for (const diagnostic of diagnostics) { + const text = formatDiagnostics([diagnostic]); + if (diagnostic.category === DiagnosticCategory.Error) { + addError(compilation, text); + } else { + addWarning(compilation, text); + } + } + }; +} diff --git a/packages/ngtools/webpack/src/ivy/host.ts b/packages/ngtools/webpack/src/ivy/host.ts new file mode 100644 index 000000000000..270b5d3b164c --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/host.ts @@ -0,0 +1,263 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { CompilerHost } from '@angular/compiler-cli'; +import { createHash } from 'crypto'; +import * as path from 'path'; +import * as ts from 'typescript'; +import { NgccProcessor } from '../ngcc_processor'; +import { WebpackResourceLoader } from '../resource_loader'; +import { forwardSlashPath } from '../utils'; + +export function augmentHostWithResources( + host: ts.CompilerHost, + resourceLoader: WebpackResourceLoader, + options: { directTemplateLoading?: boolean } = {}, +) { + const resourceHost = host as CompilerHost; + + resourceHost.readResource = function (fileName: string) { + const filePath = forwardSlashPath(fileName); + + if ( + options.directTemplateLoading && + (filePath.endsWith('.html') || filePath.endsWith('.svg')) + ) { + const content = this.readFile(filePath); + if (content === undefined) { + throw new Error('Unable to locate component resource: ' + fileName); + } + + resourceLoader.setAffectedResources(filePath, [filePath]); + + return content; + } else { + return resourceLoader.get(filePath); + } + }; + + resourceHost.resourceNameToFileName = function (resourceName: string, containingFile: string) { + return forwardSlashPath(path.join(path.dirname(containingFile), resourceName)); + }; + + resourceHost.getModifiedResourceFiles = function () { + return resourceLoader.getModifiedResourceFiles(); + }; +} + +function augmentResolveModuleNames( + host: ts.CompilerHost, + resolvedModuleModifier: ( + resolvedModule: ts.ResolvedModule | undefined, + moduleName: string, + ) => ts.ResolvedModule | undefined, + moduleResolutionCache?: ts.ModuleResolutionCache, +): void { + if (host.resolveModuleNames) { + const baseResolveModuleNames = host.resolveModuleNames; + host.resolveModuleNames = function (moduleNames: string[], ...parameters) { + return moduleNames.map((name) => { + const result = baseResolveModuleNames.call(host, [name], ...parameters); + + return resolvedModuleModifier(result[0], name); + }); + }; + } else { + host.resolveModuleNames = function ( + moduleNames: string[], + containingFile: string, + _reusedNames: string[] | undefined, + redirectedReference: ts.ResolvedProjectReference | undefined, + options: ts.CompilerOptions, + ) { + return moduleNames.map((name) => { + const result = ts.resolveModuleName( + name, + containingFile, + options, + host, + moduleResolutionCache, + redirectedReference, + ).resolvedModule; + + return resolvedModuleModifier(result, name); + }); + }; + } +} + +export function augmentHostWithNgcc( + host: ts.CompilerHost, + ngcc: NgccProcessor, + moduleResolutionCache?: ts.ModuleResolutionCache, +): void { + augmentResolveModuleNames( + host, + (resolvedModule, moduleName) => { + if (resolvedModule && ngcc) { + ngcc.processModule(moduleName, resolvedModule); + } + + return resolvedModule; + }, + moduleResolutionCache, + ); + + if (host.resolveTypeReferenceDirectives) { + const baseResolveTypeReferenceDirectives = host.resolveTypeReferenceDirectives; + host.resolveTypeReferenceDirectives = function (names: string[], ...parameters) { + return names.map((name) => { + const result = baseResolveTypeReferenceDirectives.call(host, [name], ...parameters); + + if (result[0] && ngcc) { + ngcc.processModule(name, result[0]); + } + + return result[0]; + }); + }; + } else { + host.resolveTypeReferenceDirectives = function ( + moduleNames: string[], + containingFile: string, + redirectedReference: ts.ResolvedProjectReference | undefined, + options: ts.CompilerOptions, + ) { + return moduleNames.map((name) => { + const result = ts.resolveTypeReferenceDirective( + name, + containingFile, + options, + host, + redirectedReference, + ).resolvedTypeReferenceDirective; + + if (result && ngcc) { + ngcc.processModule(name, result); + } + + return result; + }); + }; + } +} + +export function augmentHostWithReplacements( + host: ts.CompilerHost, + replacements: Record, + moduleResolutionCache?: ts.ModuleResolutionCache, +): void { + if (Object.keys(replacements).length === 0) { + return; + } + + const tryReplace = (resolvedModule: ts.ResolvedModule | undefined) => { + const replacement = resolvedModule && replacements[resolvedModule.resolvedFileName]; + if (replacement) { + return { + resolvedFileName: replacement, + isExternalLibraryImport: /[\/\\]node_modules[\/\\]/.test(replacement), + }; + } else { + return resolvedModule; + } + }; + + augmentResolveModuleNames(host, tryReplace, moduleResolutionCache); +} + +export function augmentHostWithSubstitutions( + host: ts.CompilerHost, + substitutions: Record, +): void { + const regexSubstitutions: [RegExp, string][] = []; + for (const [key, value] of Object.entries(substitutions)) { + regexSubstitutions.push([new RegExp(`\\b${key}\\b`, 'g'), value]); + } + + if (regexSubstitutions.length === 0) { + return; + } + + const baseReadFile = host.readFile; + host.readFile = function (...parameters) { + let file: string | undefined = baseReadFile.call(host, ...parameters); + if (file) { + for (const entry of regexSubstitutions) { + file = file.replace(entry[0], entry[1]); + } + } + + return file; + }; +} + +export function augmentHostWithVersioning(host: ts.CompilerHost): void { + const baseGetSourceFile = host.getSourceFile; + host.getSourceFile = function (...parameters) { + const file: (ts.SourceFile & { version?: string }) | undefined = baseGetSourceFile.call( + host, + ...parameters, + ); + if (file && file.version === undefined) { + file.version = createHash('sha256').update(file.text).digest('hex'); + } + + return file; + }; +} + +export function augmentProgramWithVersioning(program: ts.Program): void { + const baseGetSourceFiles = program.getSourceFiles; + program.getSourceFiles = function (...parameters) { + const files: readonly (ts.SourceFile & { version?: string })[] = baseGetSourceFiles( + ...parameters, + ); + + for (const file of files) { + if (file.version === undefined) { + file.version = createHash('sha256').update(file.text).digest('hex'); + } + } + + return files; + }; +} + +export function augmentHostWithCaching( + host: ts.CompilerHost, + cache: Map, +): void { + const baseGetSourceFile = host.getSourceFile; + host.getSourceFile = function ( + fileName, + languageVersion, + onError, + shouldCreateNewSourceFile, + // tslint:disable-next-line: trailing-comma + ...parameters + ) { + if (!shouldCreateNewSourceFile && cache.has(fileName)) { + return cache.get(fileName); + } + + const file = baseGetSourceFile.call( + host, + fileName, + languageVersion, + onError, + true, + ...parameters, + ); + + if (file) { + cache.set(fileName, file); + } + + return file; + }; +} diff --git a/packages/ngtools/webpack/src/ivy/index.ts b/packages/ngtools/webpack/src/ivy/index.ts new file mode 100644 index 000000000000..b5e2985745ad --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/index.ts @@ -0,0 +1,11 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +export { angularWebpackLoader as default } from './loader'; +export { AngularPluginOptions, AngularWebpackPlugin } from './plugin'; + +export const AngularWebpackLoaderPath = __filename; diff --git a/packages/ngtools/webpack/src/ivy/loader.ts b/packages/ngtools/webpack/src/ivy/loader.ts new file mode 100644 index 000000000000..11a09a4dbbf0 --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/loader.ts @@ -0,0 +1,77 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import * as path from 'path'; +import { AngularPluginSymbol, FileEmitter } from './symbol'; + +export function angularWebpackLoader( + this: import('webpack').loader.LoaderContext, + content: string, + // Source map types are broken in the webpack type definitions + // tslint:disable-next-line: no-any + map: any, +) { + if (this.loaderIndex !== this.loaders.length - 1) { + this.emitWarning('The Angular Webpack loader does not support chaining prior to the loader.'); + } + + const callback = this.async(); + if (!callback) { + throw new Error('Invalid webpack version'); + } + + const emitFile = this._compilation[AngularPluginSymbol] as FileEmitter; + if (typeof emitFile !== 'function') { + if (this.resourcePath.endsWith('.js')) { + // Passthrough for JS files when no plugin is used + this.callback(undefined, content, map); + + return; + } + + callback(new Error('The Angular Webpack loader requires the AngularWebpackPlugin.')); + + return; + } + + emitFile(this.resourcePath) + .then((result) => { + if (!result) { + if (this.resourcePath.endsWith('.js')) { + // Return original content for JS files if not compiled by TypeScript ("allowJs") + this.callback(undefined, content, map); + } else { + // File is not part of the compilation + const message = + `${this.resourcePath} is missing from the TypeScript compilation. ` + + `Please make sure it is in your tsconfig via the 'files' or 'include' property.`; + callback(new Error(message)); + } + + return; + } + + result.dependencies.forEach((dependency) => this.addDependency(dependency)); + + let resultContent = result.content || ''; + let resultMap; + if (result.map) { + resultContent = resultContent.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''); + resultMap = JSON.parse(result.map); + resultMap.sources = resultMap.sources.map((source: string) => + path.join(path.dirname(this.resourcePath), source), + ); + } + + callback(undefined, resultContent, resultMap); + }) + .catch((err) => { + callback(err); + }); +} + +export { angularWebpackLoader as default }; diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts new file mode 100644 index 000000000000..b7116e7988c1 --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -0,0 +1,576 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { CompilerHost, CompilerOptions, readConfiguration } from '@angular/compiler-cli'; +import { NgtscProgram } from '@angular/compiler-cli/src/ngtsc/program'; +import * as path from 'path'; +import * as ts from 'typescript'; +import { + Compiler, + ContextReplacementPlugin, + NormalModuleReplacementPlugin, + compilation, +} from 'webpack'; +import { NgccProcessor } from '../ngcc_processor'; +import { TypeScriptPathsPlugin } from '../paths-plugin'; +import { WebpackResourceLoader } from '../resource_loader'; +import { forwardSlashPath } from '../utils'; +import { addError, addWarning } from '../webpack-diagnostics'; +import { mergeResolverMainFields } from '../webpack-version'; +import { DiagnosticsReporter, createDiagnosticsReporter } from './diagnostics'; +import { + augmentHostWithCaching, + augmentHostWithNgcc, + augmentHostWithReplacements, + augmentHostWithResources, + augmentHostWithSubstitutions, + augmentProgramWithVersioning, +} from './host'; +import { AngularPluginSymbol, FileEmitter } from './symbol'; +import { createWebpackSystem } from './system'; +import { createAotTransformers, createJitTransformers, mergeTransformers } from './transformation'; + +export interface AngularPluginOptions { + tsconfig: string; + compilerOptions?: CompilerOptions; + fileReplacements: Record; + substitutions: Record; + directTemplateLoading: boolean; + emitClassMetadata: boolean; + emitNgModuleScope: boolean; + suppressZoneJsIncompatibilityWarning: boolean; +} + +// Add support for missing properties in Webpack types as well as the loader's file emitter +interface WebpackCompilation extends compilation.Compilation { + compilationDependencies: Set; + rebuildModule(module: compilation.Module, callback: () => void): void; + [AngularPluginSymbol]: FileEmitter; +} + +function initializeNgccProcessor( + compiler: Compiler, + tsconfig: string, +): { processor: NgccProcessor; errors: string[]; warnings: string[] } { + const { inputFileSystem, options: webpackOptions } = compiler; + const mainFields = ([] as string[]).concat(...(webpackOptions.resolve?.mainFields || [])); + + const fileWatchPurger = (path: string) => { + if (inputFileSystem.purge) { + // Webpack typings do not contain the string parameter overload for purge + (inputFileSystem as { purge(path: string): void }).purge(path); + } + }; + + const errors: string[] = []; + const warnings: string[] = []; + const processor = new NgccProcessor( + mainFields, + fileWatchPurger, + warnings, + errors, + compiler.context, + tsconfig, + ); + + return { processor, errors, warnings }; +} + +const PLUGIN_NAME = 'angular-compiler'; + +export class AngularWebpackPlugin { + private readonly pluginOptions: AngularPluginOptions; + private watchMode?: boolean; + private ngtscNextProgram?: NgtscProgram; + private builder?: ts.EmitAndSemanticDiagnosticsBuilderProgram; + private sourceFileCache?: Map; + private buildTimestamp!: number; + private readonly lazyRouteMap: Record = {}; + private readonly requiredFilesToEmit = new Set(); + + constructor(options: Partial = {}) { + this.pluginOptions = { + emitClassMetadata: false, + emitNgModuleScope: false, + fileReplacements: {}, + substitutions: {}, + directTemplateLoading: true, + tsconfig: 'tsconfig.json', + suppressZoneJsIncompatibilityWarning: false, + ...options, + }; + } + + get options(): AngularPluginOptions { + return this.pluginOptions; + } + + apply(compiler: Compiler & { watchMode?: boolean }): void { + // Setup file replacements with webpack + for (const [key, value] of Object.entries(this.pluginOptions.fileReplacements)) { + new NormalModuleReplacementPlugin( + new RegExp('^' + key.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&') + '$'), + value, + ).apply(compiler); + } + + // Mimic VE plugin's systemjs module loader resource location for consistency + new ContextReplacementPlugin( + /\@angular[\\\/]core[\\\/]/, + path.join(compiler.context, '$$_lazy_route_resource'), + this.lazyRouteMap, + ).apply(compiler); + + // Set resolver options + const pathsPlugin = new TypeScriptPathsPlugin(); + compiler.hooks.afterResolvers.tap('angular-compiler', (compiler) => { + // 'resolverFactory' is not present in the Webpack typings + // tslint:disable-next-line: no-any + const resolverFactoryHooks = (compiler as any).resolverFactory.hooks; + + // When Ivy is enabled we need to add the fields added by NGCC + // to take precedence over the provided mainFields. + // NGCC adds fields in package.json suffixed with '_ivy_ngcc' + // Example: module -> module__ivy_ngcc + resolverFactoryHooks.resolveOptions + .for('normal') + .tap(PLUGIN_NAME, (resolveOptions: { mainFields: string[] }) => { + const originalMainFields = resolveOptions.mainFields; + const ivyMainFields = originalMainFields.map((f) => `${f}_ivy_ngcc`); + + return mergeResolverMainFields(resolveOptions, originalMainFields, ivyMainFields); + }); + + resolverFactoryHooks.resolver.for('normal').tap(PLUGIN_NAME, (resolver: {}) => { + pathsPlugin.apply(resolver); + }); + }); + + let ngccProcessor: NgccProcessor | undefined; + const resourceLoader = new WebpackResourceLoader(); + let previousUnused: Set | undefined; + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (thisCompilation) => { + const compilation = thisCompilation as WebpackCompilation; + + // Store watch mode; assume true if not present (webpack < 4.23.0) + this.watchMode = compiler.watchMode ?? true; + + // Initialize and process eager ngcc if not already setup + if (!ngccProcessor) { + const { processor, errors, warnings } = initializeNgccProcessor( + compiler, + this.pluginOptions.tsconfig, + ); + + processor.process(); + warnings.forEach((warning) => addWarning(compilation, warning)); + errors.forEach((error) => addError(compilation, error)); + + ngccProcessor = processor; + } + + // Setup and read TypeScript and Angular compiler configuration + const { compilerOptions, rootNames, errors } = this.loadConfiguration(compilation); + + // Create diagnostics reporter and report configuration file errors + const diagnosticsReporter = createDiagnosticsReporter(compilation); + diagnosticsReporter(errors); + + // Update TypeScript path mapping plugin with new configuration + pathsPlugin.update(compilerOptions); + + // Create a Webpack-based TypeScript compiler host + const system = createWebpackSystem( + compiler.inputFileSystem, + forwardSlashPath(compiler.context), + ); + const host = ts.createIncrementalCompilerHost(compilerOptions, system); + + // Setup source file caching and reuse cache from previous compilation if present + let cache = this.sourceFileCache; + if (cache) { + // Invalidate existing cache based on compilation file timestamps + for (const [file, time] of compilation.fileTimestamps) { + if (this.buildTimestamp < time) { + cache.delete(forwardSlashPath(file)); + } + } + } else { + // Initialize a new cache + cache = new Map(); + // Only store cache if in watch mode + if (this.watchMode) { + this.sourceFileCache = cache; + } + } + this.buildTimestamp = Date.now(); + augmentHostWithCaching(host, cache); + + const moduleResolutionCache = ts.createModuleResolutionCache( + host.getCurrentDirectory(), + host.getCanonicalFileName.bind(host), + compilerOptions, + ); + + // Setup on demand ngcc + augmentHostWithNgcc(host, ngccProcessor, moduleResolutionCache); + + // Setup resource loading + resourceLoader.update(compilation); + augmentHostWithResources(host, resourceLoader, { + directTemplateLoading: this.pluginOptions.directTemplateLoading, + }); + + // Setup source file adjustment options + augmentHostWithReplacements(host, this.pluginOptions.fileReplacements, moduleResolutionCache); + augmentHostWithSubstitutions(host, this.pluginOptions.substitutions); + + // Create the file emitter used by the webpack loader + const { fileEmitter, builder, internalFiles } = compilerOptions.skipTemplateCodegen + ? this.updateJitProgram(compilerOptions, rootNames, host, diagnosticsReporter) + : this.updateAotProgram( + compilerOptions, + rootNames, + host, + diagnosticsReporter, + resourceLoader, + ); + + const allProgramFiles = builder + .getSourceFiles() + .filter((sourceFile) => !internalFiles?.has(sourceFile)); + + // Ensure all program files are considered part of the compilation and will be watched + allProgramFiles.forEach((sourceFile) => + compilation.compilationDependencies.add(sourceFile.fileName), + ); + + compilation.hooks.finishModules.tapPromise(PLUGIN_NAME, async (modules) => { + // Rebuild any remaining AOT required modules + const rebuild = (filename: string) => new Promise((resolve) => { + // tslint:disable-next-line: no-any + const module = modules.find((element) => (element as any).resource === filename); + if (!module) { + resolve(); + } else { + compilation.rebuildModule(module, resolve); + } + }); + + for (const requiredFile of this.requiredFilesToEmit) { + await rebuild(requiredFile); + } + this.requiredFilesToEmit.clear(); + + // Analyze program for unused files + if (compilation.errors.length > 0) { + return; + } + + const currentUnused = new Set( + allProgramFiles + .filter((sourceFile) => !sourceFile.isDeclarationFile) + .map((sourceFile) => sourceFile.fileName), + ); + modules.forEach((module) => { + const { resource } = module as { resource?: string }; + const sourceFile = resource && builder.getSourceFile(forwardSlashPath(resource)); + if (!sourceFile) { + return; + } + + builder.getAllDependencies(sourceFile).forEach((dep) => currentUnused.delete(dep)); + }); + for (const unused of currentUnused) { + if (previousUnused && previousUnused.has(unused)) { + continue; + } + addWarning( + compilation, + `${unused} is part of the TypeScript compilation but it's unused.\n` + + `Add only entry points to the 'files' or 'include' properties in your tsconfig.`, + ); + } + previousUnused = currentUnused; + }); + + // Store file emitter for loader usage + compilation[AngularPluginSymbol] = fileEmitter; + }); + } + + private loadConfiguration(compilation: WebpackCompilation) { + const { options: compilerOptions, rootNames, errors } = readConfiguration( + this.pluginOptions.tsconfig, + this.pluginOptions.compilerOptions, + ); + compilerOptions.enableIvy = true; + compilerOptions.noEmitOnError = false; + compilerOptions.suppressOutputPathCheck = true; + compilerOptions.outDir = undefined; + compilerOptions.inlineSources = compilerOptions.sourceMap; + compilerOptions.inlineSourceMap = false; + compilerOptions.mapRoot = undefined; + compilerOptions.sourceRoot = undefined; + compilerOptions.allowEmptyCodegenFiles = false; + compilerOptions.annotationsAs = 'decorators'; + compilerOptions.enableResourceInlining = false; + + if ( + !this.pluginOptions.suppressZoneJsIncompatibilityWarning && + compilerOptions.target && + compilerOptions.target >= ts.ScriptTarget.ES2017 + ) { + addWarning( + compilation, + 'Zone.js does not support native async/await in ES2017+.\n' + + 'These blocks are not intercepted by zone.js and will not triggering change detection.\n' + + 'See: https://github.com/angular/zone.js/pull/1140 for more information.', + ); + } + + return { compilerOptions, rootNames, errors }; + } + + private updateAotProgram( + compilerOptions: CompilerOptions, + rootNames: string[], + host: CompilerHost, + diagnosticsReporter: DiagnosticsReporter, + resourceLoader: WebpackResourceLoader, + ) { + // Create the Angular specific program that contains the Angular compiler + const angularProgram = new NgtscProgram( + rootNames, + compilerOptions, + host, + this.ngtscNextProgram, + ); + const angularCompiler = angularProgram.compiler; + + // The `ignoreForEmit` return value can be safely ignored when emitting. Only files + // that will be bundled (requested by Webpack) will be emitted. Combined with TypeScript's + // eliding of type only imports, this will cause type only files to be automatically ignored. + // Internal Angular type check files are also not resolvable by the bundler. Even if they + // were somehow errantly imported, the bundler would error before an emit was attempted. + // Diagnostics are still collected for all files which requires using `ignoreForDiagnostics`. + const { ignoreForDiagnostics, ignoreForEmit } = angularCompiler; + + // SourceFile versions are required for builder programs. + // The wrapped host inside NgtscProgram adds additional files that will not have versions. + const typeScriptProgram = angularProgram.getTsProgram(); + augmentProgramWithVersioning(typeScriptProgram); + + const builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram( + typeScriptProgram, + host, + this.builder, + ); + + // Save for next rebuild + if (this.watchMode) { + this.builder = builder; + this.ngtscNextProgram = angularProgram; + } + + // Update semantic diagnostics cache + while (true) { + const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => + ignoreForDiagnostics.has(sourceFile), + ); + if (!result) { + break; + } + } + + // Collect non-semantic diagnostics + const diagnostics = [ + ...angularCompiler.getOptionDiagnostics(), + ...builder.getOptionsDiagnostics(), + ...builder.getGlobalDiagnostics(), + ...builder.getSyntacticDiagnostics(), + ]; + diagnosticsReporter(diagnostics); + + // Collect semantic diagnostics + for (const sourceFile of builder.getSourceFiles()) { + if (!ignoreForDiagnostics.has(sourceFile)) { + diagnosticsReporter(builder.getSemanticDiagnostics(sourceFile)); + } + } + + const transformers = createAotTransformers(builder, this.pluginOptions); + + const getDependencies = (sourceFile: ts.SourceFile) => { + const dependencies = []; + for (const resourceDependency of angularCompiler.getResourceDependencies(sourceFile)) { + const resourcePath = forwardSlashPath(resourceDependency); + dependencies.push( + resourcePath, + // Retrieve all dependencies of the resource (stylesheet imports, etc.) + ...resourceLoader.getResourceDependencies(resourcePath), + ); + } + + return dependencies; + }; + + // Required to support asynchronous resource loading + // Must be done before creating transformers or getting template diagnostics + const pendingAnalysis = angularCompiler.analyzeAsync().then(() => { + this.requiredFilesToEmit.clear(); + + for (const sourceFile of builder.getSourceFiles()) { + // Collect Angular template diagnostics + if (!ignoreForDiagnostics.has(sourceFile)) { + diagnosticsReporter(angularCompiler.getDiagnostics(sourceFile)); + } + + // Collect sources that are required to be emitted + if ( + !sourceFile.isDeclarationFile && + !ignoreForEmit.has(sourceFile) && + !angularCompiler.incrementalDriver.safeToSkipEmit(sourceFile) + ) { + this.requiredFilesToEmit.add(sourceFile.fileName); + } + } + + // NOTE: This can be removed once support for the deprecated lazy route string format is removed + for (const lazyRoute of angularCompiler.listLazyRoutes()) { + const [routeKey] = lazyRoute.route.split('#'); + const routePath = forwardSlashPath(lazyRoute.referencedModule.filePath); + this.lazyRouteMap[routeKey] = routePath; + } + + return this.createFileEmitter( + builder, + mergeTransformers(angularCompiler.prepareEmit().transformers, transformers), + getDependencies, + (sourceFile) => { + this.requiredFilesToEmit.delete(sourceFile.fileName); + angularCompiler.incrementalDriver.recordSuccessfulEmit(sourceFile); + }, + ); + }); + const analyzingFileEmitter: FileEmitter = async (file) => { + const innerFileEmitter = await pendingAnalysis; + + return innerFileEmitter(file); + }; + + return { + fileEmitter: analyzingFileEmitter, + builder, + internalFiles: ignoreForEmit, + }; + } + + private updateJitProgram( + compilerOptions: CompilerOptions, + rootNames: readonly string[], + host: CompilerHost, + diagnosticsReporter: DiagnosticsReporter, + ) { + const builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram( + rootNames, + compilerOptions, + host, + this.builder, + ); + + // Save for next rebuild + if (this.watchMode) { + this.builder = builder; + } + + const diagnostics = [ + ...builder.getOptionsDiagnostics(), + ...builder.getGlobalDiagnostics(), + ...builder.getSyntacticDiagnostics(), + // Gather incremental semantic diagnostics + ...builder.getSemanticDiagnostics(), + ]; + diagnosticsReporter(diagnostics); + + const transformers = createJitTransformers(builder, this.pluginOptions); + + // Required to support asynchronous resource loading + // Must be done before listing lazy routes + // NOTE: This can be removed once support for the deprecated lazy route string format is removed + const angularProgram = new NgtscProgram( + rootNames, + compilerOptions, + host, + this.ngtscNextProgram, + ); + const angularCompiler = angularProgram.compiler; + const pendingAnalysis = angularCompiler.analyzeAsync().then(() => { + for (const lazyRoute of angularCompiler.listLazyRoutes()) { + const [routeKey] = lazyRoute.route.split('#'); + const routePath = forwardSlashPath(lazyRoute.referencedModule.filePath); + this.lazyRouteMap[routeKey] = routePath; + } + + return this.createFileEmitter(builder, transformers, () => []); + }); + const analyzingFileEmitter: FileEmitter = async (file) => { + const innerFileEmitter = await pendingAnalysis; + + return innerFileEmitter(file); + }; + + if (this.watchMode) { + this.ngtscNextProgram = angularProgram; + } + + return { + fileEmitter: analyzingFileEmitter, + builder, + internalFiles: undefined, + }; + } + + private createFileEmitter( + program: ts.BuilderProgram, + transformers: ts.CustomTransformers = {}, + getExtraDependencies: (sourceFile: ts.SourceFile) => Iterable, + onAfterEmit?: (sourceFile: ts.SourceFile) => void, + ): FileEmitter { + return async (file: string) => { + const sourceFile = program.getSourceFile(forwardSlashPath(file)); + if (!sourceFile) { + return undefined; + } + + let content: string | undefined = undefined; + let map: string | undefined = undefined; + program.emit( + sourceFile, + (filename, data) => { + if (filename.endsWith('.map')) { + map = data; + } else if (filename.endsWith('.js')) { + content = data; + } + }, + undefined, + undefined, + transformers, + ); + + onAfterEmit?.(sourceFile); + + const dependencies = [ + ...program.getAllDependencies(sourceFile), + ...getExtraDependencies(sourceFile), + ]; + + return { content, map, dependencies }; + }; + } +} diff --git a/packages/ngtools/webpack/src/ivy/symbol.ts b/packages/ngtools/webpack/src/ivy/symbol.ts new file mode 100644 index 000000000000..b3dd0faafe68 --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/symbol.ts @@ -0,0 +1,16 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +export const AngularPluginSymbol = Symbol.for('@angular-devkit/build-angular[angular-compiler]'); + +export interface EmitFileResult { + content?: string; + map?: string; + dependencies: readonly string[]; +} + +export type FileEmitter = (file: string) => Promise; diff --git a/packages/ngtools/webpack/src/ivy/system.ts b/packages/ngtools/webpack/src/ivy/system.ts new file mode 100644 index 000000000000..ac51e8d546b1 --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/system.ts @@ -0,0 +1,99 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import * as ts from 'typescript'; +import { InputFileSystem } from 'webpack'; + +function shouldNotWrite(): never { + throw new Error('Webpack TypeScript System should not write.'); +} + +// Webpack's CachedInputFileSystem uses the default directory separator in the paths it uses +// for keys to its cache. If the keys do not match then the file watcher will not purge outdated +// files and cause stale data to be used in the next rebuild. TypeScript always uses a `/` (POSIX) +// directory separator internally which is also supported with Windows system APIs. However, +// if file operations are performed with the non-default directory separator, the Webpack cache +// will contain a key that will not be purged. +function createToSystemPath(): (path: string) => string { + if (process.platform === 'win32') { + const cache = new Map(); + + return (path) => { + let value = cache.get(path); + if (value === undefined) { + value = path.replace(/\//g, '\\'); + cache.set(path, value); + } + + return value; + }; + } + + // POSIX-like platforms retain the existing directory separator + return (path) => path; +} + +export function createWebpackSystem(input: InputFileSystem, currentDirectory: string): ts.System { + const toSystemPath = createToSystemPath(); + + const system: ts.System = { + ...ts.sys, + readFile(path: string) { + let data; + try { + data = input.readFileSync(toSystemPath(path)); + } catch { + return undefined; + } + + // Strip BOM if present + let start = 0; + if (data.length > 3 && data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) { + start = 3; + } + + return data.toString('utf8', start); + }, + getFileSize(path: string) { + try { + return input.statSync(toSystemPath(path)).size; + } catch { + return 0; + } + }, + fileExists(path: string) { + try { + return input.statSync(toSystemPath(path)).isFile(); + } catch { + return false; + } + }, + directoryExists(path: string) { + try { + return input.statSync(toSystemPath(path)).isDirectory(); + } catch { + return false; + } + }, + getModifiedTime(path: string) { + try { + return input.statSync(toSystemPath(path)).mtime; + } catch { + return undefined; + } + }, + getCurrentDirectory() { + return currentDirectory; + }, + writeFile: shouldNotWrite, + createDirectory: shouldNotWrite, + deleteFile: shouldNotWrite, + setModifiedTime: shouldNotWrite, + }; + + return system; +} diff --git a/packages/ngtools/webpack/src/ivy/transformation.ts b/packages/ngtools/webpack/src/ivy/transformation.ts new file mode 100644 index 000000000000..a76f3ccd0d0d --- /dev/null +++ b/packages/ngtools/webpack/src/ivy/transformation.ts @@ -0,0 +1,141 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { constructorParametersDownlevelTransform } from '@angular/compiler-cli'; +import * as ts from 'typescript'; +import { elideImports } from '../transformers/elide_imports'; +import { removeIvyJitSupportCalls } from '../transformers/remove-ivy-jit-support-calls'; +import { replaceResources } from '../transformers/replace_resources'; + +export function createAotTransformers( + builder: ts.BuilderProgram, + options: { emitClassMetadata?: boolean; emitNgModuleScope?: boolean }, +): ts.CustomTransformers { + const getTypeChecker = () => builder.getProgram().getTypeChecker(); + const transformers: ts.CustomTransformers = { + before: [replaceBootstrap(getTypeChecker)], + after: [], + }; + + const removeClassMetadata = !options.emitClassMetadata; + const removeNgModuleScope = !options.emitNgModuleScope; + if (removeClassMetadata || removeNgModuleScope) { + // tslint:disable-next-line: no-non-null-assertion + transformers.after!.push( + removeIvyJitSupportCalls(removeClassMetadata, removeNgModuleScope, getTypeChecker), + ); + } + + return transformers; +} + +export function createJitTransformers( + builder: ts.BuilderProgram, + options: { directTemplateLoading?: boolean }, +): ts.CustomTransformers { + const getTypeChecker = () => builder.getProgram().getTypeChecker(); + + return { + before: [ + replaceResources(() => true, getTypeChecker, options.directTemplateLoading), + constructorParametersDownlevelTransform(builder.getProgram()), + ], + }; +} + +export function mergeTransformers( + first: ts.CustomTransformers, + second: ts.CustomTransformers, +): ts.CustomTransformers { + const result: ts.CustomTransformers = {}; + + if (first.before || second.before) { + result.before = [...(first.before || []), ...(second.before || [])]; + } + + if (first.after || second.after) { + result.after = [...(first.after || []), ...(second.after || [])]; + } + + if (first.afterDeclarations || second.afterDeclarations) { + result.afterDeclarations = [ + ...(first.afterDeclarations || []), + ...(second.afterDeclarations || []), + ]; + } + + return result; +} + +export function replaceBootstrap( + getTypeChecker: () => ts.TypeChecker, +): ts.TransformerFactory { + return (context: ts.TransformationContext) => { + let bootstrapImport: ts.ImportDeclaration | undefined; + let bootstrapNamespace: ts.Identifier | undefined; + const replacedNodes: ts.Node[] = []; + + const visitNode: ts.Visitor = (node: ts.Node) => { + if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) { + const target = node.expression; + if (target.text === 'platformBrowserDynamic') { + if (!bootstrapNamespace) { + bootstrapNamespace = ts.createUniqueName('__NgCli_bootstrap_'); + bootstrapImport = ts.createImportDeclaration( + undefined, + undefined, + ts.createImportClause(undefined, ts.createNamespaceImport(bootstrapNamespace)), + ts.createLiteral('@angular/platform-browser'), + ); + } + replacedNodes.push(target); + + return ts.updateCall( + node, + ts.createPropertyAccess(bootstrapNamespace, 'platformBrowser'), + node.typeArguments, + node.arguments, + ); + } + } + + return ts.visitEachChild(node, visitNode, context); + }; + + return (sourceFile: ts.SourceFile) => { + let updatedSourceFile = ts.visitEachChild(sourceFile, visitNode, context); + + if (bootstrapImport) { + // Remove any unused platform browser dynamic imports + const removals = elideImports( + updatedSourceFile, + replacedNodes, + getTypeChecker, + context.getCompilerOptions(), + ).map((op) => op.target); + if (removals.length > 0) { + updatedSourceFile = ts.visitEachChild( + updatedSourceFile, + (node) => (removals.includes(node) ? undefined : node), + context, + ); + } + + // Add new platform browser import + return ts.updateSourceFileNode( + updatedSourceFile, + ts.setTextRange( + ts.createNodeArray([bootstrapImport, ...updatedSourceFile.statements]), + sourceFile.statements, + ), + ); + } else { + return updatedSourceFile; + } + }; + }; +} diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index cb3cbc234cdb..978eecddf029 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -32,11 +32,34 @@ export class WebpackResourceLoader { private _cachedSources = new Map(); private _cachedEvaluatedSources = new Map(); - constructor() {} + private buildTimestamp?: number; + public changedFiles = new Set(); - update(parentCompilation: any) { + update(parentCompilation: import('webpack').compilation.Compilation) { this._parentCompilation = parentCompilation; this._context = parentCompilation.context; + + // Update changed file list + if (this.buildTimestamp !== undefined) { + this.changedFiles.clear(); + for (const [file, time] of parentCompilation.fileTimestamps) { + if (this.buildTimestamp < time) { + this.changedFiles.add(file); + } + } + } + this.buildTimestamp = Date.now(); + } + + getModifiedResourceFiles() { + const modifiedResources = new Set(); + for (const changedFile of this.changedFiles) { + this.getAffectedResources( + changedFile, + ).forEach((affected: string) => modifiedResources.add(affected)); + } + + return modifiedResources; } getResourceDependencies(filePath: string) { @@ -47,6 +70,10 @@ export class WebpackResourceLoader { return this._reverseDependencies.get(file) || []; } + setAffectedResources(file: string, resources: Iterable) { + this._reverseDependencies.set(file, new Set(resources)); + } + private async _compile(filePath: string): Promise { if (!this._parentCompilation) { From 4e168b81c5de6c4ae91e29a40bdf0e0c98910fb4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 21 Apr 2020 18:24:37 -0400 Subject: [PATCH 150/696] refactor(@angular-devkit/build-angular): integrate Ivy Webpack compiler plugin This change integrates the Ivy Webpack compiler plugin into the browser builder. When Ivy is enabled, which is the default behavior for applications, this plugin will now be used. If needed, the previous plugin can still be used by enabling the `NG_BUILD_IVY_LEGACY` environment variable. --- .../src/utils/environment-options.ts | 5 + .../src/webpack/configs/common.ts | 8 ++ .../src/webpack/configs/typescript.ts | 134 +++++++++++++++--- packages/ngtools/webpack/src/ivy/loader.ts | 4 - 4 files changed, 131 insertions(+), 20 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/environment-options.ts b/packages/angular_devkit/build_angular/src/utils/environment-options.ts index 2d896edb9389..5c1de06407ad 100644 --- a/packages/angular_devkit/build_angular/src/utils/environment-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/environment-options.ts @@ -82,3 +82,8 @@ export const cachingBasePath = (() => { // Build profiling const profilingVariable = process.env['NG_BUILD_PROFILING']; export const profilingEnabled = isPresent(profilingVariable) && isEnabled(profilingVariable); + +// Legacy Webpack plugin with Ivy +const legacyIvyVariable = process.env['NG_BUILD_IVY_LEGACY']; +export const legacyIvyPluginEnabled = + isPresent(legacyIvyVariable) && !isDisabled(legacyIvyVariable); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index a22fb386c7f2..7732cca8feb2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -350,6 +350,14 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { if (buildOptions.namedChunks && !isWebpackFiveOrHigher()) { extraPlugins.push(new NamedLazyChunksPlugin()); + + // Provide full names for lazy routes that use the deprecated string format + extraPlugins.push( + new ContextReplacementPlugin( + /\@angular[\\\/]core[\\\/]/, + (data: { chunkName?: string }) => (data.chunkName = '[request]'), + ), + ); } if (!differentialLoadingMode) { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts index 6e854baf8130..9be2ce30ac17 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts @@ -7,15 +7,79 @@ */ // tslint:disable // TODO: cleanup this file, it's copied as is from Angular CLI. +import { CompilerOptions } from '@angular/compiler-cli'; import { buildOptimizerLoaderPath } from '@angular-devkit/build-optimizer'; -import * as path from 'path'; import { AngularCompilerPlugin, AngularCompilerPluginOptions, NgToolsLoader, - PLATFORM + PLATFORM, + ivy, } from '@ngtools/webpack'; +import * as path from 'path'; +import { RuleSetLoader } from 'webpack'; import { WebpackConfigOptions, BuildOptions } from '../../utils/build-options'; +import { legacyIvyPluginEnabled } from '../../utils/environment-options'; + +function canUseIvyPlugin(wco: WebpackConfigOptions): boolean { + // Can only be used with Ivy + if (!wco.tsConfig.options.enableIvy) { + return false; + } + + // Allow fallback to legacy build system via environment variable ('NG_BUILD_IVY_LEGACY=1') + if (legacyIvyPluginEnabled) { + wco.logger.warn( + '"NG_BUILD_IVY_LEGACY" environment variable detected. Using legacy Ivy build system.', + ); + + return false; + } + + // Lazy modules option uses the deprecated string format for lazy routes + if (wco.buildOptions.lazyModules && wco.buildOptions.lazyModules.length > 0) { + return false; + } + + // This pass relies on internals of the original plugin + if (wco.buildOptions.experimentalRollupPass) { + return false; + } + + return true; +} + +function createIvyPlugin( + wco: WebpackConfigOptions, + aot: boolean, + tsconfig: string, +): ivy.AngularWebpackPlugin { + const { buildOptions } = wco; + const optimize = buildOptions.optimization.scripts; + + const compilerOptions: CompilerOptions = { + skipTemplateCodegen: !aot, + sourceMap: buildOptions.sourceMap.scripts, + }; + + if (buildOptions.preserveSymlinks !== undefined) { + compilerOptions.preserveSymlinks = buildOptions.preserveSymlinks; + } + + const fileReplacements: Record = {}; + if (buildOptions.fileReplacements) { + for (const replacement of buildOptions.fileReplacements) { + fileReplacements[replacement.replace] = replacement.with; + } + } + + return new ivy.AngularWebpackPlugin({ + tsconfig, + compilerOptions, + fileReplacements, + emitNgModuleScope: !optimize, + }); +} function _pluginOptionsOverrides( buildOptions: BuildOptions, @@ -103,40 +167,78 @@ function _createAotPlugin( export function getNonAotConfig(wco: WebpackConfigOptions) { const { tsConfigPath } = wco; + const useIvyOnlyPlugin = canUseIvyPlugin(wco); return { - module: { rules: [{ test: /\.tsx?$/, loader: NgToolsLoader }] }, - plugins: [_createAotPlugin(wco, { tsConfigPath, skipCodeGeneration: true })] + module: { + rules: [ + { + test: useIvyOnlyPlugin ? /\.[jt]sx?$/ : /\.tsx?$/, + loader: useIvyOnlyPlugin + ? ivy.AngularWebpackLoaderPath + : NgToolsLoader, + }, + ], + }, + plugins: [ + useIvyOnlyPlugin + ? createIvyPlugin(wco, false, tsConfigPath) + : _createAotPlugin(wco, { tsConfigPath, skipCodeGeneration: true }), + ], }; } export function getAotConfig(wco: WebpackConfigOptions, i18nExtract = false) { const { tsConfigPath, buildOptions } = wco; + const optimize = buildOptions.optimization.scripts; + const useIvyOnlyPlugin = canUseIvyPlugin(wco) && !i18nExtract; - const loaders: any[] = [NgToolsLoader]; + let buildOptimizerRules: RuleSetLoader[] = []; if (buildOptions.buildOptimizer) { - loaders.unshift({ + buildOptimizerRules = [{ loader: buildOptimizerLoaderPath, options: { sourceMap: buildOptions.sourceMap.scripts } - }); + }]; } - const test = /(?:\.ngfactory\.js|\.ngstyle\.js|\.tsx?)$/; - const optimize = wco.buildOptions.optimization.scripts; - return { - module: { rules: [{ test, use: loaders }] }, + module: { + rules: [ + { + test: useIvyOnlyPlugin ? /\.tsx?$/ : /(?:\.ngfactory\.js|\.ngstyle\.js|\.tsx?)$/, + use: [ + ...buildOptimizerRules, + useIvyOnlyPlugin ? ivy.AngularWebpackLoaderPath : NgToolsLoader, + ], + }, + // "allowJs" support with ivy plugin - ensures build optimizer is not run twice + ...(useIvyOnlyPlugin + ? [ + { + test: /\.jsx?$/, + use: [ivy.AngularWebpackLoaderPath], + }, + ] + : []), + ], + }, plugins: [ - _createAotPlugin( - wco, - { tsConfigPath, emitClassMetadata: !optimize, emitNgModuleScope: !optimize }, - i18nExtract, - ), + useIvyOnlyPlugin + ? createIvyPlugin(wco, true, tsConfigPath) + : _createAotPlugin( + wco, + { tsConfigPath, emitClassMetadata: !optimize, emitNgModuleScope: !optimize }, + i18nExtract, + ), ], }; } export function getTypescriptWorkerPlugin(wco: WebpackConfigOptions, workerTsConfigPath: string) { + if (canUseIvyPlugin(wco)) { + return createIvyPlugin(wco, false, workerTsConfigPath); + } + const { buildOptions } = wco; let pluginOptions: AngularCompilerPluginOptions = { diff --git a/packages/ngtools/webpack/src/ivy/loader.ts b/packages/ngtools/webpack/src/ivy/loader.ts index 11a09a4dbbf0..5b4a7a513f04 100644 --- a/packages/ngtools/webpack/src/ivy/loader.ts +++ b/packages/ngtools/webpack/src/ivy/loader.ts @@ -15,10 +15,6 @@ export function angularWebpackLoader( // tslint:disable-next-line: no-any map: any, ) { - if (this.loaderIndex !== this.loaders.length - 1) { - this.emitWarning('The Angular Webpack loader does not support chaining prior to the loader.'); - } - const callback = this.async(); if (!callback) { throw new Error('Invalid webpack version'); From d4c74945a1ea6eabf7a81e6fd3e87fb3efa30c4c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Sun, 6 Sep 2020 13:23:15 -0400 Subject: [PATCH 151/696] refactor(@ngtools/webpack): allow paths plugin to update compiler options This change allows the compiler options used by the TypeScript paths plugin to be updated if the TypeScript configuration file is changed during a rebuild. --- packages/ngtools/webpack/src/paths-plugin.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/ngtools/webpack/src/paths-plugin.ts b/packages/ngtools/webpack/src/paths-plugin.ts index 46bf71ebe1cb..4b461cf91f1d 100644 --- a/packages/ngtools/webpack/src/paths-plugin.ts +++ b/packages/ngtools/webpack/src/paths-plugin.ts @@ -16,14 +16,14 @@ export interface TypeScriptPathsPluginOptions extends Pick { return new Promise((resolve, reject) => { @@ -46,6 +46,10 @@ export class TypeScriptPathsPlugin { resolver.getHook('described-resolve').tapPromise( 'TypeScriptPathsPlugin', async (request: NormalModuleFactoryRequest, resolveContext: {}) => { + if (!this.options) { + throw new Error('TypeScriptPathsPlugin options were not provided.'); + } + if (!request || request.typescriptPathMapped) { return; } @@ -70,11 +74,11 @@ export class TypeScriptPathsPlugin { return; } - const replacements = findReplacements(originalRequest, this._options.paths || {}); + const replacements = findReplacements(originalRequest, this.options.paths || {}); for (const potential of replacements) { const potentialRequest = { ...request, - request: path.resolve(this._options.baseUrl || '', potential), + request: path.resolve(this.options.baseUrl || '', potential), typescriptPathMapped: true, }; const result = await resolveAsync(potentialRequest, resolveContext); From 1479b3e8ed89da5dd597b8ea0407766b865e64ad Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 Nov 2020 15:57:25 -0500 Subject: [PATCH 152/696] test(@angular-devkit/build-angular): improve resilience of lazy module rebuild test Rebuild tests that involve file watching can be very flaky on CI. This change adds a debounce time which is also used in the other rebuild tests within the package. --- .../build_angular/src/browser/specs/lazy-module_spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts index ffb07abf2026..80673c321367 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts @@ -9,7 +9,7 @@ import { Architect } from '@angular-devkit/architect'; import { TestProjectHost } from '@angular-devkit/architect/testing'; import { logging } from '@angular-devkit/core'; -import { take, tap, timeout } from 'rxjs/operators'; +import { debounceTime, take, tap } from 'rxjs/operators'; import { browserBuild, createArchitect, @@ -117,7 +117,7 @@ describe('Browser Builder lazy modules', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( - timeout(15000), + debounceTime(3000), tap(buildEvent => { buildNumber++; switch (buildNumber) { From acc22a399f84de22ff8002f6b03b1a0ac541f25b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 Nov 2020 13:59:43 -0500 Subject: [PATCH 153/696] refactor(@angular/cli): remove async from abstract functions This is in preparation to support TypeScript 4.1. Within TypeScript 4.1 abstract class members cannot be marked as async. --- packages/angular/cli/models/command.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/models/command.ts b/packages/angular/cli/models/command.ts index 4f7eac9fb837..60b490387c89 100644 --- a/packages/angular/cli/models/command.ts +++ b/packages/angular/cli/models/command.ts @@ -160,7 +160,7 @@ export abstract class Command this.analytics.pageview('/command/' + paths.join('/'), { dimensions, metrics }); } - abstract async run(options: T & Arguments): Promise; + abstract run(options: T & Arguments): Promise; async validateAndRun(options: T & Arguments): Promise { if (!(options.help === true || options.help === 'json' || options.help === 'JSON')) { From 8874ef430a60f591ebab69611674a9dc201068df Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 Nov 2020 14:01:22 -0500 Subject: [PATCH 154/696] refactor(@angular-devkit/core): add generic type to Promise constructors This is in preparation to support TypeScript 4.1. Within TypeScript 4.1 constructed Promises must specify the resolved type. --- .../core/src/experimental/jobs/simple-scheduler_spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts index 48d7443dfcf6..47fec00b14c8 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts @@ -316,7 +316,7 @@ describe('SimpleScheduler', () => { return new Observable(observer => { function fn() { if (keepGoing) { - const p = new Promise(r => resolves.push(r)); + const p = new Promise(r => resolves.push(r)); observer.next(argument); done.push(argument); From 3878a058d7138ba2d40a608902b615cee846d438 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 5 Nov 2020 06:11:39 +0000 Subject: [PATCH 155/696] build: update sass to version 1.29.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 16c659e3001e..ad0377c1e885 100644 --- a/package.json +++ b/package.json @@ -199,7 +199,7 @@ "rimraf": "3.0.2", "rollup": "2.33.1", "rxjs": "6.6.3", - "sass": "1.28.0", + "sass": "1.29.0", "sass-loader": "10.0.5", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b8e3c2c911c3..c6d799f0d060 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -55,7 +55,7 @@ "rimraf": "3.0.2", "rollup": "2.33.1", "rxjs": "6.6.3", - "sass": "1.28.0", + "sass": "1.29.0", "sass-loader": "10.0.5", "semver": "7.3.2", "source-map": "0.7.3", diff --git a/yarn.lock b/yarn.lock index 89add92e31d8..8fcc5a575b35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10636,10 +10636,10 @@ sass-loader@10.0.5: schema-utils "^3.0.0" semver "^7.3.2" -sass@1.28.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.28.0.tgz#546f1308ff74cc4ec2ad735fd35dc18bc3f51f72" - integrity sha512-9FWX/0wuE1KxwfiP02chZhHaPzu6adpx9+wGch7WMOuHy5npOo0UapRI3FNSHva2CczaYJu2yNUBN8cCSqHz/A== +sass@1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.29.0.tgz#ec4e1842c146d8ea9258c28c141b8c2b7c6ab7f1" + integrity sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA== dependencies: chokidar ">=2.0.0 <4.0.0" From 0eea870d7a08071665c80beb5d7ee29e0103df85 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 4 Nov 2020 22:07:53 +0000 Subject: [PATCH 156/696] build: update angular packages --- package.json | 26 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++--- yarn.lock | 100 +++++++++--------- 4 files changed, 80 insertions(+), 80 deletions(-) diff --git a/package.json b/package.json index ad0377c1e885..1a405b7f795f 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ ] }, "devDependencies": { - "@angular/animations": "11.0.0-rc.1", + "@angular/animations": "11.0.0-rc.2", "@angular/cdk": "10.2.7", - "@angular/common": "11.0.0-rc.1", - "@angular/compiler": "11.0.0-rc.1", - "@angular/compiler-cli": "11.0.0-rc.1", - "@angular/core": "11.0.0-rc.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53", - "@angular/forms": "11.0.0-rc.1", - "@angular/localize": "11.0.0-rc.1", + "@angular/common": "11.0.0-rc.2", + "@angular/compiler": "11.0.0-rc.2", + "@angular/compiler-cli": "11.0.0-rc.2", + "@angular/core": "11.0.0-rc.2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055", + "@angular/forms": "11.0.0-rc.2", + "@angular/localize": "11.0.0-rc.2", "@angular/material": "10.2.7", - "@angular/platform-browser": "11.0.0-rc.1", - "@angular/platform-browser-dynamic": "11.0.0-rc.1", - "@angular/platform-server": "11.0.0-rc.1", - "@angular/router": "11.0.0-rc.1", - "@angular/service-worker": "11.0.0-rc.1", + "@angular/platform-browser": "11.0.0-rc.2", + "@angular/platform-browser-dynamic": "11.0.0-rc.2", + "@angular/platform-server": "11.0.0-rc.2", + "@angular/router": "11.0.0-rc.2", + "@angular/service-worker": "11.0.0-rc.2", "@babel/core": "7.12.3", "@babel/generator": "7.12.1", "@babel/plugin-transform-runtime": "7.12.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a2aca292be1b..535a787fc152 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,8 +31,8 @@ "webpack": "^4.0.0" }, "devDependencies": { - "@angular/compiler": "11.0.0-rc.1", - "@angular/compiler-cli": "11.0.0-rc.1", + "@angular/compiler": "11.0.0-rc.2", + "@angular/compiler-cli": "11.0.0-rc.2", "typescript": "4.0.5", "webpack": "4.44.2" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f359071f4ef0..f9a1a5094858 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#45cd08afa7faae7a9a55d82bf260b867c38da8cb", - "@angular/cdk": "github:angular/cdk-builds#73fb0f58b5fa50715687f9dab0e7d5b7528a18e7", - "@angular/common": "github:angular/common-builds#3ce77f4b857f3301097d303022cfe1348df1b6a2", - "@angular/compiler": "github:angular/compiler-builds#e419f799f37aaca009af2cbdabb670d1fef2f4bf", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f3c9fab19d2d18f634071272fdd099f4220b84b1", - "@angular/core": "github:angular/core-builds#762435888b45852d693387d15401fbfc7a2533da", - "@angular/forms": "github:angular/forms-builds#270684cd6ecaba338ba3a6e75354da7e4dda0212", - "@angular/language-service": "github:angular/language-service-builds#0f3f17d1d8fa8c674e1c56bac975b2a54f69ff1c", - "@angular/localize": "github:angular/localize-builds#76a60a4b53d8edf6868493e67e71f7b35680e624", - "@angular/material": "github:angular/material2-builds#865cf78bb48c518fae59660d56dbe7bdb3c01cbe", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#43948cc7d9e78801ed523caac5b283af2d198cb1", - "@angular/platform-browser": "github:angular/platform-browser-builds#b383f877facf09e4d72795a4d20aa0cd9a329d9e", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#dd72dee11677b845e3ae71693d74d1729be3cd06", - "@angular/platform-server": "github:angular/platform-server-builds#4c6b409e56d1ce2b5e6fdb73a28a963aae3af84b", - "@angular/router": "github:angular/router-builds#b5102667f89dc319e7dde3a9a5220f103faee39d" + "@angular/animations": "github:angular/animations-builds#a9637e831512530bbec774a8506ce76c95928b8d", + "@angular/cdk": "github:angular/cdk-builds#e8512c75959649e617370d68b447799e8e631ab2", + "@angular/common": "github:angular/common-builds#5fca4bde9e69837316c39da8961ff5daa22e3c06", + "@angular/compiler": "github:angular/compiler-builds#9c5a83b1ba37871a762e6570d7fde6238d3ef908", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#14fa5b13b4979fa1a5fac405ec9736fbc0f18e8d", + "@angular/core": "github:angular/core-builds#4a1bb7b485b7637d2959cc5d46de6298fde29937", + "@angular/forms": "github:angular/forms-builds#27aa66186b7d907e4bd02d33c1e34e5f47cbd327", + "@angular/language-service": "github:angular/language-service-builds#8bb976412febfe87130aed0c2a6f4d53d2d11310", + "@angular/localize": "github:angular/localize-builds#636f044d4c036a150459da6b21568b5becdc9098", + "@angular/material": "github:angular/material2-builds#8ea729b09f2c2ae3eb9ba6fa7945d4fb48e94b2b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ea6fbff51a10515deb3831b7de59da6463ae1123", + "@angular/platform-browser": "github:angular/platform-browser-builds#d0ad1500d234fc6f5f58593673ccc95cf9d889a3", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c16d7a3154812ba8e7e7f2d6bfa84dc94ff5cae7", + "@angular/platform-server": "github:angular/platform-server-builds#f259ecd86577ef26a6c35a5501e12f26df78a4ea", + "@angular/router": "github:angular/router-builds#0be8f1a3977d2c63a5463c1fdbcc6d9cb5b689a2" } } diff --git a/yarn.lock b/yarn.lock index 8fcc5a575b35..4907efd29e0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@angular/animations@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.1.tgz#7abd461f36c0f9b3238c37a5a0cedad99e2d49f4" - integrity sha512-1Lh8nv06HI7myYEBlufPqm+ex05CN/9LXSix3QZMclRW3ODXvT9YT0ZTePHdYFpQmyr4lna7mtcLNRXgZK9LMg== +"@angular/animations@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.2.tgz#c32bd2c84d76e05ff056af3adf8158a223da2537" + integrity sha512-eu4oJ9zj1WnMWnP4bFg26Za+DbNkN2WWPGNHcKuYqVfukY/vw2MjAvS6A203SU1Db3DPwW3I73uJLcXXiI99pw== dependencies: tslib "^2.0.0" @@ -26,17 +26,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.1.tgz#ca6b10345c68a249fd5545b12a9265892234836e" - integrity sha512-QuAi2iGY5moLgT+MawXZ1CLGzy5JlvoShdA1XnCRUpQAMBgrWZZn5GTrDFmbQGt8nV5dX1a7unT+VnSbKfEUWQ== +"@angular/common@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.2.tgz#960d00c1df246b73b0f93bc44738094fec47dda2" + integrity sha512-oMPXaIGJ+nrX7sxEoTEEtpd5K6jUmL0LO+m63s+WdrLu04VNpMt49IsrlFe2qHO8yxJHsXqIPt7nMEVBnMNRCA== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.1.tgz#ff2d46c1de0d06613af01346a20263bd3df03e17" - integrity sha512-65Jd+DtkwwcNuHV/ShWtPU2UoELSN01Ha5HiaCo6I9bT9Pff06rAhqOI1Qfkf1umnru73nSA7vL+TX2nLVhoLw== +"@angular/compiler-cli@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.2.tgz#df952a52b9c7b1bad7237ab9328478c83ee0f00a" + integrity sha512-Z8fw7z6wCvFu5zagSTT0blx0RvNmxUU1TZRYN2NERq94w7pNWDf2dpfkG59/dLufxvO3lSCHv7+a4BrxvqgQ9g== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -54,10 +54,10 @@ tslib "^2.0.0" yargs "15.3.0" -"@angular/compiler@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.1.tgz#81f557cc4eaedc38eeec97c28ea177da3f784974" - integrity sha512-RMCN9d1j0+Gki6flYnr8CEwWzwE2rljRoddUg+KkD+fhpjK91FGby/QKSLc2LMbPebK0RY84Eqrk4qNH0Ocsbw== +"@angular/compiler@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.2.tgz#9633840cbc437386aeb2e72f0257d95d4ebd981d" + integrity sha512-je/wBg6jDmoN64mYv+d45Cvb+X2g74+hOQUwPQB3CXKKFGBwjjtGIowghIvRHGhbf1JR0bJx3jQUravE1VriNQ== dependencies: tslib "^2.0.0" @@ -66,10 +66,10 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.1.tgz#568f23c9da47d3e4a9d920f2c592364f3199385a" - integrity sha512-b4p4/E1gTd0BIy+c7mhRNakAK/NP6i3fSbsfnHZRWN6kNILva4HEGc6o8L6l38pXCBgk3jUMEyvrHon8mG/1KQ== +"@angular/core@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.2.tgz#754f8d3a3360772e30880ea45917242880309d63" + integrity sha512-10ndk2663dFa59eVXuQZJ2lY95t9nvQh3D0O/oObbjYa6fYvkzOxlNA+THX3NjkZY+pGXmWUFxpShYrGJhdqWg== dependencies: tslib "^2.0.0" @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#31c1228e57220523be5513e2eea5c3cfe4a80f53" + resolved "https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" @@ -117,17 +117,17 @@ yaml "^1.10.0" yargs "^15.4.1" -"@angular/forms@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.1.tgz#ff878d1067362a7521a60ae2e9180692c3a404c8" - integrity sha512-BqqWfcpCKNudpR7SIqUSvSPdFLQ1hn8QDXxavdvdX8s4qD83ukMhdg/eZcoolJtBs9NJtG/I3iC2ZJ5YtyX1Vg== +"@angular/forms@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.2.tgz#54a93cc9e360af6c1339a9f31a4376241b408939" + integrity sha512-ft+Lo6LahvlJmfO3GEgQPxl7voHxdvcpy/JGdSSch61cO1s+UJTpQfTA4Rz4OS98ZFM/bmvutkKi/6J3Z0espg== dependencies: tslib "^2.0.0" -"@angular/localize@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.1.tgz#c4c320ff5b334df7871aae5ccf87fd87d6cdf13e" - integrity sha512-MDXMnLos+0ffnggvl6jx8BJUsQmlSD0VvgDILpBQe6o6HReucaIyv6Ut/TwYkVKwLsSOeXZAuat+fIplJTDwEQ== +"@angular/localize@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.2.tgz#be0cf92f9602b4e59863ef7f54e58b30c5b82c4b" + integrity sha512-MrAA/JvoE2pmb2VkCqDheCqyaBUixv8XEU2Q4cS0CY1A58zQPD176yxchQRSy5Czd3iD7qYFz5y2W0rVXWQfuA== dependencies: "@babel/core" "7.8.3" glob "7.1.2" @@ -140,40 +140,40 @@ dependencies: tslib "^2.0.0" -"@angular/platform-browser-dynamic@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.1.tgz#ff3582241728f80242ab3dab66f1d6df75b00a0a" - integrity sha512-1bU4h/cYbPV1hMJojAeGYO8NJcxPTMT9g8f4Je2VjmHfzEsFv5XkiatYDuoCLfwofo0K862yp0aitePsfbKzMw== +"@angular/platform-browser-dynamic@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.2.tgz#ae073f1ee715b60e992ad3d38d5ede23df829fe7" + integrity sha512-cbmQ5bL9+f6lWEAHTHVw43dmcgZQe8oz9s58vLlI+dAA29KHowmKECP4STj7//KDUC0T5Ay7pd4N5OsgdeRFew== dependencies: tslib "^2.0.0" -"@angular/platform-browser@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.1.tgz#58810f388185b1d3813b00dbca51b2287b786e14" - integrity sha512-b4w79Q0xbxz/pBViXsjkja9OKYI4HJbqkjMmUEn4pMeG5QC2Zfb4GKDR0wBaaxnm9t1kSul6nlHRfLbfgmlxTA== +"@angular/platform-browser@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.2.tgz#4f898bbabfefa9f0f7649ea1eff6d22c7e461dcd" + integrity sha512-VvMvGXZo9NubQiHs2E45Vlx4juHfSCIZ+RyMigz/XJmPUaF2nyjXThQHMI0TQ18tNWwQ0VNL0n9P62ry7NCsbw== dependencies: tslib "^2.0.0" -"@angular/platform-server@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.1.tgz#3fc3415927bcca8a524997fe2fdeb3364076adf8" - integrity sha512-q9cpNPhr3plVRS5DjWFNoW9XQ9XY7x7ZNQ8GWWb6NRcQyChvI0egWP+BnRtxxMhPwNLDcEraF1T88IaRW6XQRw== +"@angular/platform-server@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.2.tgz#09518a3058eb266784fe5215b96c568658750c63" + integrity sha512-3XPJBaX3mrXwVh9GkvAvVuDgLTY7kNxl9/IpBnwa6kOfukrtRof5ELAvgXnlwwWoLFSH+7rLwVmCcBsWshgHAw== dependencies: domino "^2.1.2" tslib "^2.0.0" xhr2 "^0.2.0" -"@angular/router@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.1.tgz#4b67ea50d8078d83b6996c5297cfba712ed84093" - integrity sha512-waD50INYt3JGAqF/pxYlwhsGfKFMPaipSWVKdPCr1jH390UHoONecQTfG/OBwOrxYg9xu5LErTytRaIkRTpylw== +"@angular/router@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.2.tgz#ede92e114955f0eb78c7d4d0cd76e0e644d5fcd4" + integrity sha512-oJX/e3IL3kFWR5YwIEtgXzcmSp9X6JIyoLWR7f5RyfzqC+p9o1CyPGdYPvhja9u2QkUlCx+Hobbfxs5arCfUKw== dependencies: tslib "^2.0.0" -"@angular/service-worker@11.0.0-rc.1": - version "11.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.1.tgz#1573e152b4727e6009fbaf6ff1b4d41f199920ed" - integrity sha512-lN4slAxRT4Ry+5EfY+E7sl+2i3cXwtxM9KMVQRwz5fvZ6xvRs5pLcHC/2vxM49vQswBcRwcA1CXir1Cs6VVNBA== +"@angular/service-worker@11.0.0-rc.2": + version "11.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.2.tgz#a9f34190ce86fe8de2fd53fa4b4549541674c06c" + integrity sha512-rWh9EtXfFjl8riov4q+ET94mXJGxGb5KH4LwOfKN/4TKCYyfx03QVyChDH9GxRnolq6sjSeKhI9c0ni3n7dvjA== dependencies: tslib "^2.0.0" From bb1639edda3fb3b8222aabe69879bd60edd970ea Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 4 Nov 2020 06:13:00 +0000 Subject: [PATCH 157/696] build: update copy-webpack-plugin to version 6.3.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1a405b7f795f..a906869f4287 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "common-tags": "^1.8.0", "conventional-changelog": "^3.0.0", "conventional-commits-parser": "^3.0.0", - "copy-webpack-plugin": "6.2.1", + "copy-webpack-plugin": "6.3.0", "core-js": "3.6.5", "css-loader": "5.0.0", "cssnano": "4.1.10", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c6d799f0d060..e017e5f48fd3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,7 +26,7 @@ "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "6.2.1", + "copy-webpack-plugin": "6.3.0", "core-js": "3.6.5", "css-loader": "5.0.0", "cssnano": "4.1.10", diff --git a/yarn.lock b/yarn.lock index 4907efd29e0a..010fd4202009 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3887,10 +3887,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz#8015e4d5c5e637ab7b39c76daa9e03c7a4bf1ae5" - integrity sha512-VH2ZTMIBsx4p++Lmpg77adZ0KUyM5gFR/9cuTrbneNnJlcQXUFvsNariPqq2dq2kV3F2skHiDGPQCyKWy1+U0Q== +copy-webpack-plugin@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.0.tgz#91820b63bbde7d73609accb86dab7e7386863f6f" + integrity sha512-kQ2cGGQLO6Ov2fe7rEGVxObI17dPeFkv8bRGnUAGZehOcrrObyAR9yWYlFGlJsyWM4EeuC/ytQNQkXxjYotMzg== dependencies: cacache "^15.0.5" fast-glob "^3.2.4" From 6640a6760d26fe56f0cb6bd1a63b0d9fd463cd17 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 5 Nov 2020 06:07:57 +0000 Subject: [PATCH 158/696] build: update css-loader to version 5.0.1 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 22 +++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index a906869f4287..a5acacde59a6 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,7 @@ "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "6.3.0", "core-js": "3.6.5", - "css-loader": "5.0.0", + "css-loader": "5.0.1", "cssnano": "4.1.10", "debug": "^4.1.1", "enhanced-resolve": "5.3.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e017e5f48fd3..1403e4f61c8b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -28,7 +28,7 @@ "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "6.3.0", "core-js": "3.6.5", - "css-loader": "5.0.0", + "css-loader": "5.0.1", "cssnano": "4.1.10", "file-loader": "6.2.0", "find-cache-dir": "3.3.1", diff --git a/yarn.lock b/yarn.lock index 010fd4202009..323371206d14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3213,10 +3213,10 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" - integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-api@^3.0.0: version "3.0.0" @@ -4032,16 +4032,16 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.0.tgz#f0a48dfacc3ab9936a05ee16a09e7f313872e117" - integrity sha512-9g35eXRBgjvswyJWoqq/seWp+BOxvUl8IinVNTsUBFFxtwfEYvlmEn6ciyn0liXGbGh5HyJjPGCuobDSfqMIVg== +css-loader@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" + integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== dependencies: - camelcase "^6.1.0" + camelcase "^6.2.0" cssesc "^3.0.0" icss-utils "^5.0.0" loader-utils "^2.0.0" - postcss "^8.1.1" + postcss "^8.1.4" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" @@ -9702,7 +9702,7 @@ postcss@7.0.32: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.1.1: +postcss@^8.1.4: version "8.1.4" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.4.tgz#356dfef367a70f3d04347f74560c85846e20e4c1" integrity sha512-LfqcwgMq9LOd8pX7K2+r2HPitlIGC5p6PoZhVELlqhh2YGDVcXKpkCseqan73Hrdik6nBd2OvoDPUaP/oMj9hQ== From 2afae0c27650ab52c3dc69b84ccae1c21b5c3156 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 5 Nov 2020 09:04:24 +0000 Subject: [PATCH 159/696] build: update webpack-subresource-integrity to version 1.5.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a5acacde59a6..6c794b49940f 100644 --- a/package.json +++ b/package.json @@ -233,7 +233,7 @@ "webpack-dev-server": "3.11.0", "webpack-merge": "5.3.0", "webpack-sources": "2.0.1", - "webpack-subresource-integrity": "1.5.1", + "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0", "zone.js": "^0.10.2" }, diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1403e4f61c8b..e225b822f2a3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -74,7 +74,7 @@ "webpack-dev-server": "3.11.0", "webpack-merge": "5.3.0", "webpack-sources": "2.0.1", - "webpack-subresource-integrity": "1.5.1", + "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index 323371206d14..15b90dcf0cbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12727,10 +12727,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-subresource-integrity@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.1.tgz#6f44ea99987266b70c4ec42ac51064d33e982277" - integrity sha512-uekbQ93PZ9e7BFB8Hl9cFIVYQyQqiXp2ExKk9Zv+qZfH/zHXHrCFAfw1VW0+NqWbTWrs/HnuDrto3+tiPXh//Q== +webpack-subresource-integrity@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz#e40b6578d3072e2d24104975249c52c66e9a743e" + integrity sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw== dependencies: webpack-sources "^1.3.0" From 95a7a1dce94b5c5f2f667c15aebccc9962f6928f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 5 Nov 2020 10:39:07 -0500 Subject: [PATCH 160/696] test(@angular-devkit/build-angular): move environment E2E to basic set This test ensures that file replacements function as expected. --- tests/legacy-cli/e2e/tests/{build => basic}/environment.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/legacy-cli/e2e/tests/{build => basic}/environment.ts (100%) diff --git a/tests/legacy-cli/e2e/tests/build/environment.ts b/tests/legacy-cli/e2e/tests/basic/environment.ts similarity index 100% rename from tests/legacy-cli/e2e/tests/build/environment.ts rename to tests/legacy-cli/e2e/tests/basic/environment.ts From 6703a7f9878c79bad83836932eac76a70b6532f8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 5 Nov 2020 10:41:16 -0500 Subject: [PATCH 161/696] fix(@angular-devkit/build-angular): convert file replacements to system paths before use The file replacement normalization generates internal Path objects which are not compatible with Windows system paths when used externally. --- .../build_angular/src/webpack/configs/typescript.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts index 9be2ce30ac17..aa3c0317b2f5 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts @@ -9,6 +9,7 @@ // TODO: cleanup this file, it's copied as is from Angular CLI. import { CompilerOptions } from '@angular/compiler-cli'; import { buildOptimizerLoaderPath } from '@angular-devkit/build-optimizer'; +import { getSystemPath } from '@angular-devkit/core'; import { AngularCompilerPlugin, AngularCompilerPluginOptions, @@ -69,7 +70,7 @@ function createIvyPlugin( const fileReplacements: Record = {}; if (buildOptions.fileReplacements) { for (const replacement of buildOptions.fileReplacements) { - fileReplacements[replacement.replace] = replacement.with; + fileReplacements[getSystemPath(replacement.replace)] = getSystemPath(replacement.with); } } From d7ba0cf96a0db4071c9ddb91c26247a6db0667a3 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 5 Nov 2020 10:43:29 -0500 Subject: [PATCH 162/696] fix(@ngtools/webpack): normalize file replacement paths To ensure file replacements match properly, the paths now have their directory separators normalized before comparing. --- packages/ngtools/webpack/src/ivy/host.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/src/ivy/host.ts b/packages/ngtools/webpack/src/ivy/host.ts index 270b5d3b164c..85367d80af89 100644 --- a/packages/ngtools/webpack/src/ivy/host.ts +++ b/packages/ngtools/webpack/src/ivy/host.ts @@ -155,8 +155,13 @@ export function augmentHostWithReplacements( return; } + const normalizedReplacements: Record = {}; + for (const [key, value] of Object.entries(replacements)) { + normalizedReplacements[forwardSlashPath(key)] = forwardSlashPath(value); + } + const tryReplace = (resolvedModule: ts.ResolvedModule | undefined) => { - const replacement = resolvedModule && replacements[resolvedModule.resolvedFileName]; + const replacement = resolvedModule && normalizedReplacements[resolvedModule.resolvedFileName]; if (replacement) { return { resolvedFileName: replacement, From 511ffd2dbf30c5589ea07eba1ed88369c226781b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 6 Nov 2020 10:03:42 +0100 Subject: [PATCH 163/696] test(@angular-devkit/build-angular): update platform server devkit packages `@nguniversal/express-engine` currently relies on `^0.1100.0-rc.2` of `@angular-devkit/architect` which is not present in the local package registry and not semver compatible with master build`^11.0.0-next.7` --- .../legacy-cli/e2e/tests/build/platform-server.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index 1d0e99282019..64e7d5db53fd 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -10,18 +10,18 @@ const snapshots = require('../../ng-snapshot/package.json'); export default async function () { const argv = getGlobalVariable('argv'); const veEnabled = argv['ve']; + const tag = (await isPrereleaseCli()) ? 'next' : 'latest'; - // @nguniversal/express-engine currently relies on ^0.1000.0 of @angular-devkit/architect - // which is not present in the local package registry and not semver compatible with 0.1001.0+ - const { stdout: stdout1 } = await silentNpm('pack', '@angular-devkit/architect@0.1001', '--registry=https://registry.npmjs.org'); + // @nguniversal/express-engine currently relies on ^0.1100.0-rc.2 of @angular-devkit/architect + // which is not present in the local package registry and not semver compatible with ^11.0.0-next.7 + const { stdout: stdout1 } = await silentNpm('pack', '@angular-devkit/architect@0.1100.0-rc.2', '--registry=https://registry.npmjs.org'); await silentNpm('publish', stdout1.trim(), '--registry=http://localhost:4873', '--tag=minor'); - // @nguniversal/express-engine currently relies on ^10.0.0 of @angular-devkit/core - // which is not present in the local package registry and not semver compatible prerelease version of 10.1.0 - const { stdout: stdout2 } = await silentNpm('pack', '@angular-devkit/core@10.1', '--registry=https://registry.npmjs.org'); + // @nguniversal/express-engine currently relies on ^11.0.0-rc.2 of @angular-devkit/core + // which is not present in the local package registry and not semver compatible prerelease version of ^11.0.0-next.7 + const { stdout: stdout2 } = await silentNpm('pack', '@angular-devkit/core@11.0.0-rc.2', '--registry=https://registry.npmjs.org'); await silentNpm('publish', stdout2.trim(), '--registry=http://localhost:4873', '--tag=minor'); - const tag = (await isPrereleaseCli()) ? 'next' : 'latest'; await ng('add', `@nguniversal/express-engine@${tag}`); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; From 424af2860260b9e19df9d82940b9f088ea474b95 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 6 Nov 2020 08:35:01 +0100 Subject: [PATCH 164/696] fix(@angular-devkit/build-angular): add validation to fileReplacement values fileReplacement is meant to replace compilation source files (JavaScript or TypeScript) with other compilation source files in the build. With this change we add validation to fail the build when the files have unsupported extensions. Closes #11451 --- packages/angular/cli/lib/config/schema.json | 24 ++++++++++++------- .../build_angular/src/browser/schema.json | 12 ++++++---- .../build_angular/src/server/schema.json | 12 ++++++---- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/packages/angular/cli/lib/config/schema.json b/packages/angular/cli/lib/config/schema.json index 79e84e28fb3f..18d7b4a61775 100644 --- a/packages/angular/cli/lib/config/schema.json +++ b/packages/angular/cli/lib/config/schema.json @@ -1062,10 +1062,12 @@ "type": "object", "properties": { "src": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "replaceWith": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, @@ -1078,10 +1080,12 @@ "type": "object", "properties": { "replace": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "with": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, @@ -1955,10 +1959,12 @@ "type": "object", "properties": { "src": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "replaceWith": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, @@ -1971,10 +1977,12 @@ "type": "object", "properties": { "replace": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "with": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, diff --git a/packages/angular_devkit/build_angular/src/browser/schema.json b/packages/angular_devkit/build_angular/src/browser/schema.json index 7a9d32338a52..2256b9c4e2ca 100644 --- a/packages/angular_devkit/build_angular/src/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/browser/schema.json @@ -433,10 +433,12 @@ "type": "object", "properties": { "src": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "replaceWith": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, @@ -449,10 +451,12 @@ "type": "object", "properties": { "replace": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "with": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, diff --git a/packages/angular_devkit/build_angular/src/server/schema.json b/packages/angular_devkit/build_angular/src/server/schema.json index 289b37810a53..93e216a3cf99 100644 --- a/packages/angular_devkit/build_angular/src/server/schema.json +++ b/packages/angular_devkit/build_angular/src/server/schema.json @@ -259,10 +259,12 @@ "type": "object", "properties": { "src": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "replaceWith": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, @@ -275,10 +277,12 @@ "type": "object", "properties": { "replace": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" }, "with": { - "type": "string" + "type": "string", + "pattern": "\\.([cm]?j|t)sx?$" } }, "additionalProperties": false, From 33028119b86cd1530734402b20f7a0b7878f000b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 Nov 2020 06:12:02 +0000 Subject: [PATCH 165/696] build: update mini-css-extract-plugin to version 1.3.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6c794b49940f..f2169e4dc26d 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.2.1", + "mini-css-extract-plugin": "1.3.0", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e225b822f2a3..80534e26b51e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.0.2", "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.2.1", + "mini-css-extract-plugin": "1.3.0", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 15b90dcf0cbc..87b803aa3e08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7998,10 +7998,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.1.tgz#30ea7dee632b3002b0c77aeed447790408cb247e" - integrity sha512-G3yw7/TQaPfkuiR73MDcyiqhyP8SnbmLhUbpC76H+wtQxA6wfKhMCQOCb6wnPK0dQbjORAeOILQqEesg4/wF7A== +mini-css-extract-plugin@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.0.tgz#bbcba978b68c39f0a9c75822cfb2874f9cf6b018" + integrity sha512-4DKmPwFd0XKlwoqvrkLi2X8Mlosh2ey/E/OVAucnPUdzGqrSWHgSqed/p4Ue2Q39JjIvcdSDgmZDO6mir5Ovmw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" From 8e063a992a1a68e3299cf7819156b470294832a2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 Nov 2020 06:08:06 +0000 Subject: [PATCH 166/696] build: update core-js to version 3.7.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f2169e4dc26d..673508e72757 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "conventional-changelog": "^3.0.0", "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "6.3.0", - "core-js": "3.6.5", + "core-js": "3.7.0", "css-loader": "5.0.1", "cssnano": "4.1.10", "debug": "^4.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 80534e26b51e..dc0c823bc6af 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -27,7 +27,7 @@ "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "6.3.0", - "core-js": "3.6.5", + "core-js": "3.7.0", "css-loader": "5.0.1", "cssnano": "4.1.10", "file-loader": "6.2.0", diff --git a/yarn.lock b/yarn.lock index 87b803aa3e08..4478518fd237 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3912,10 +3912,10 @@ core-js-compat@^3.6.2: browserslist "^4.8.5" semver "7.0.0" -core-js@3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== +core-js@3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.7.0.tgz#b0a761a02488577afbf97179e4681bf49568520f" + integrity sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" From 75ff4b31c156041b1d16347ef686d739b412e9fd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 Nov 2020 01:09:12 +0000 Subject: [PATCH 167/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 673508e72757..84ea8c2eb798 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-rc.2", "@angular/compiler-cli": "11.0.0-rc.2", "@angular/core": "11.0.0-rc.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4", "@angular/forms": "11.0.0-rc.2", "@angular/localize": "11.0.0-rc.2", "@angular/material": "10.2.7", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f9a1a5094858..d0396ef2a001 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#a9637e831512530bbec774a8506ce76c95928b8d", - "@angular/cdk": "github:angular/cdk-builds#e8512c75959649e617370d68b447799e8e631ab2", - "@angular/common": "github:angular/common-builds#5fca4bde9e69837316c39da8961ff5daa22e3c06", - "@angular/compiler": "github:angular/compiler-builds#9c5a83b1ba37871a762e6570d7fde6238d3ef908", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#14fa5b13b4979fa1a5fac405ec9736fbc0f18e8d", - "@angular/core": "github:angular/core-builds#4a1bb7b485b7637d2959cc5d46de6298fde29937", - "@angular/forms": "github:angular/forms-builds#27aa66186b7d907e4bd02d33c1e34e5f47cbd327", - "@angular/language-service": "github:angular/language-service-builds#8bb976412febfe87130aed0c2a6f4d53d2d11310", - "@angular/localize": "github:angular/localize-builds#636f044d4c036a150459da6b21568b5becdc9098", - "@angular/material": "github:angular/material2-builds#8ea729b09f2c2ae3eb9ba6fa7945d4fb48e94b2b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ea6fbff51a10515deb3831b7de59da6463ae1123", - "@angular/platform-browser": "github:angular/platform-browser-builds#d0ad1500d234fc6f5f58593673ccc95cf9d889a3", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c16d7a3154812ba8e7e7f2d6bfa84dc94ff5cae7", - "@angular/platform-server": "github:angular/platform-server-builds#f259ecd86577ef26a6c35a5501e12f26df78a4ea", - "@angular/router": "github:angular/router-builds#0be8f1a3977d2c63a5463c1fdbcc6d9cb5b689a2" + "@angular/animations": "github:angular/animations-builds#173e525d4cfc6ff5199709b5f3ddb788df1398a5", + "@angular/cdk": "github:angular/cdk-builds#7fb5bcae4731332d765189bb21e8efb8ef051018", + "@angular/common": "github:angular/common-builds#3c9c4c027c9f795a176288c6f7cb2c0abcc05bf7", + "@angular/compiler": "github:angular/compiler-builds#276b9b45174c4525260b54f1b33e052e69470bdf", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8cc7dd47f04f431d6d71bdf8c0585efaae46e0e0", + "@angular/core": "github:angular/core-builds#3b712fd0fdb1c80cd265b32a35d394c33f1283e9", + "@angular/forms": "github:angular/forms-builds#d52194b27dd163eb0b84006dbb27a030f28e9f62", + "@angular/language-service": "github:angular/language-service-builds#1b18b0c52d58673c3c408afc133963e1fdec4580", + "@angular/localize": "github:angular/localize-builds#6fd452ff990088ece872fb58fc24129e4c5097f3", + "@angular/material": "github:angular/material2-builds#335cb7fb63e60954b255ecf59fd2720fd91e510c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1d665fb8b620f6a3d185faf090381d228c220ca9", + "@angular/platform-browser": "github:angular/platform-browser-builds#641a504a313523e876146447c9573bd2e4c92651", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d5c18810e49d06eba299b371ca3ad875411a6040", + "@angular/platform-server": "github:angular/platform-server-builds#bbe25fe530b473f26be7ea6f9db05746567fde68", + "@angular/router": "github:angular/router-builds#8497f32059e91e6b2a804f71b40609747c55c5be" } } diff --git a/yarn.lock b/yarn.lock index 4478518fd237..3a11face8724 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#65d6ef76b0f52286d40c95f3069400c5a3abb055" + resolved "https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 1356500d82e3ec4cac3f3d07af7b65c2fde166a6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 Nov 2020 09:10:08 +0000 Subject: [PATCH 168/696] build: update to version --- yarn.lock | 729 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 373 insertions(+), 356 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3a11face8724..807a7f8bc958 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,9 +79,9 @@ integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== "@angular/core@^10.0.0-0 || ^11.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.0.tgz#a5eac8b37ef5268f90e45e06b1a4d48ab55f31dc" - integrity sha512-pj+0cIDHMfeTFFrxbxM1qanSqhnA3ybCYMQm+Fs/WAPlLSvB6s/vVhq6tCdicHzd7/fujGXPcb8Hvtx+km8TqQ== + version "10.2.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.2.tgz#ca0863c59110614241adbbdb902fb9ceb65bd617" + integrity sha512-9IHZF4/zcCKCLGzsbaUeNE8V+R9kcCu0ZNXvqkxd1+vTPdcf00185KzD6CAm+OiskLwvmrudh4vh0CQ+JHSTtQ== dependencies: tslib "^2.0.0" @@ -184,10 +184,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" + integrity sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg== "@babel/core@7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.12.3" @@ -232,7 +232,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.12.1", "@babel/generator@^7.12.1", "@babel/generator@^7.8.3": +"@babel/generator@7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== @@ -241,6 +241,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.1", "@babel/generator@^7.12.5", "@babel/generator@^7.8.3": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== + dependencies: + "@babel/types" "^7.12.5" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -257,13 +266,13 @@ "@babel/types" "^7.10.4" "@babel/helper-compilation-targets@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" - integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== dependencies: - "@babel/compat-data" "^7.12.1" + "@babel/compat-data" "^7.12.5" "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.12.0" + browserslist "^4.14.5" semver "^5.5.0" "@babel/helper-create-class-features-plugin@^7.12.1": @@ -333,11 +342,11 @@ "@babel/types" "^7.12.1" "@babel/helper-module-imports@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" - integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.12.5" "@babel/helper-module-transforms@^7.12.1": version "7.12.1" @@ -383,14 +392,14 @@ "@babel/types" "^7.12.1" "@babel/helper-replace-supers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" - integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== dependencies: "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/helper-simple-access@^7.12.1": version "7.12.1" @@ -434,13 +443,13 @@ "@babel/types" "^7.10.4" "@babel/helpers@^7.12.1", "@babel/helpers@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" - integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/highlight@^7.10.4": version "7.10.4" @@ -451,10 +460,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.8.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" - integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.8.3": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" + integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== "@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.12.1" @@ -514,9 +523,9 @@ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-proposal-numeric-separator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba" + integrity sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" @@ -990,13 +999,20 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.12.1", "@babel/runtime@^7.8.4": +"@babel/runtime@7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.8.4": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.10.4", "@babel/template@^7.10.4", "@babel/template@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -1006,25 +1022,25 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" - integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.8.3": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" + integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" + "@babel/generator" "^7.12.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/parser" "^7.12.5" + "@babel/types" "^7.12.5" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" - integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": + version "7.12.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" + integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" @@ -1219,25 +1235,25 @@ mkdirp "^1.0.4" "@npmcli/promise-spawn@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.2.0.tgz#167d70b926f771c8bd8b9183bfc8b5aec29d7e45" - integrity sha512-nFtqjVETliApiRdjbYwKwhlSHx2ZMagyj5b9YbNt0BWeeOVxJd47ZVE2u16vxDHyTOZvk+YLV7INwfAE9a2uow== + version "1.3.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: infer-owner "^1.0.4" "@octokit/endpoint@^6.0.1": - version "6.0.8" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.8.tgz#91b07e236fdb69929c678c6439f7a560dc6058ac" - integrity sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ== + version "6.0.9" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.9.tgz#c6a772e024202b1bd19ab69f90e0536a2598b13e" + integrity sha512-3VPLbcCuqji4IFTclNUtGdp9v7g+nspWdiCUbK3+iPMjJCZ6LEhn1ts626bWLOn0GiDb6j+uqGvPpqLnY7pBgw== dependencies: "@octokit/types" "^5.0.0" is-plain-object "^5.0.0" universal-user-agent "^6.0.0" "@octokit/graphql@^4.3.1": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.6.tgz#708143ba15cf7c1879ed6188266e7f270be805d4" - integrity sha512-Rry+unqKTa3svswT2ZAuqenpLrzJd+JTv89LTeVa5UM/5OX8o4KTkPL7/1ABq4f/ZkELb0XEK/2IEoYwykcLXg== + version "4.5.7" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.7.tgz#f4562dcd9e80ea94602068e85aefac19a88f8578" + integrity sha512-Gk0AR+DcwIK/lK/GX+OQ99UqtenQhcbrhHHfOYlrCQe17ADnX3EKAOKRsAZ9qZvpi5MuwWm/Nm+9aO2kTDSdyA== dependencies: "@octokit/request" "^5.3.0" "@octokit/types" "^5.0.0" @@ -1253,18 +1269,18 @@ once "^1.4.0" "@octokit/request-error@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" - integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.3.tgz#b51b200052bf483f6fa56c9e7e3aa51ead36ecd8" + integrity sha512-GgD5z8Btm301i2zfvJLk/mkhvGCdjQ7wT8xF9ov5noQY8WbKZDH9cOBqXzoeKd1mLr1xH2FwbtGso135zGBgTA== dependencies: "@octokit/types" "^5.0.1" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.0.0", "@octokit/request@^5.3.0": - version "5.4.9" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" - integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== + version "5.4.10" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.10.tgz#402d2c53768bde12b99348329ba4129746aebb9c" + integrity sha512-egA49HkqEORVGDZGav1mh+VD+7uLgOxtn5oODj6guJk0HCy+YBSYapFkSLFgeYj3Fr18ZULKGURkjyhkAChylw== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" @@ -1361,10 +1377,10 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@rollup/plugin-commonjs@^15.0.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" - integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== +"@rollup/plugin-commonjs@^16.0.0": + version "16.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f" + integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw== dependencies: "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" @@ -1381,10 +1397,10 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== +"@rollup/plugin-node-resolve@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8" + integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -1513,11 +1529,10 @@ "@types/node" "*" "@types/copy-webpack-plugin@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/copy-webpack-plugin/-/copy-webpack-plugin-6.0.0.tgz#ad4a4d7be859ba6a6adcb970aab3256a705cd049" - integrity sha512-Ousy+sNap1j44eG+C9FZvTUybpp9lFmKjBRF7L0NDs/+SDA9OXKo2OpsHJfD/LMWflz+uvfTCBXH1CgdL6AW/g== + version "6.2.0" + resolved "https://registry.yarnpkg.com/@types/copy-webpack-plugin/-/copy-webpack-plugin-6.2.0.tgz#801f99b6e8378cfc8ea086cf7cd09988a29e6fe6" + integrity sha512-b4dGTj36/FiiBI8nzPWBACX85n6pIjlwXgEPvf12C5rOEDFyFxMCbRJ8g1l1ZM5NFH/hafw2/5QM1HmReE4AKA== dependencies: - "@types/node" "*" "@types/webpack" "*" "@types/cssnano@^4.0.0": @@ -1614,9 +1629,9 @@ integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/jasmine@~3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.6.0.tgz#8064fdb6fe9cb92fe79d9d5e9eaff8d2d9a1251a" - integrity sha512-CPT4r0a63e5wpNj5ejMnconM7a+0Hdx6/APsyw8AQOHk0/Mxp3xYrym1ZabWJiYuQkgKB3MonYoN04mxtvAvRA== + version "3.6.1" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.6.1.tgz#f8b95def0016411c58c7adb4791dff29bc62992c" + integrity sha512-eeSCVhBsgwHNS1FmaMu4zrLxfykCTWJMLFZv7lmyrZQjw7foUUXoPu4GukSN9v7JvUw7X+/aDH3kCaymirBSTg== "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" @@ -1624,9 +1639,9 @@ integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== "@types/karma@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/karma/-/karma-5.0.0.tgz#6750ffc633c0fbc63dfb725146f198e8c3afcd08" - integrity sha512-5quuLnxdJWkzJCEwFatOClM6O7EkeDWfXltGySb01LQnBVjtbLzIky9JLW0IKt+JfzurUjwj7b7Sb/Omsx4QYA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/karma/-/karma-5.0.1.tgz#daed1314723c4fa5eeef5275568d78f161733d0a" + integrity sha512-zSaPZ+ABVx/DQ5imAQZUITgLy19H0aAogknHU67JuDi2PvaXGjYBevFakkDtooBvr7dMsq/YD9vtOxMcSHWnxw== dependencies: "@types/node" "*" log4js "^4.0.0" @@ -1682,9 +1697,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>= 8": - version "14.14.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.3.tgz#e1c09064121f894baaad2bd9f12ce4a41bffb274" - integrity sha512-33/L34xS7HVUx23e0wOT2V1qPF1IrHgQccdJVm9uXGTB9vFBrrzBtkQymT8VskeKOxjz55MSqMv0xuLq+u98WQ== + version "14.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" + integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== "@types/node@10.12.30": version "10.12.30" @@ -1692,9 +1707,9 @@ integrity sha512-nsqTN6zUcm9xtdJiM9OvOJ5EF0kOI8f1Zuug27O/rgtxCRJHGqncSWfCMZUP852dCKPsDsYXGvBhxfRjDBkF5Q== "@types/node@^10.1.0": - version "10.17.42" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.42.tgz#90dd71b26fe4f4e2929df6b07e72ef2e9648a173" - integrity sha512-HElxYF7C/MSkuvlaHB2c+82zhXiuO49Cq056Dol8AQuTph7oJtduo2n6J8rFa+YhJyNgQ/Lm20ZaxqD0vxU0+Q== + version "10.17.44" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.44.tgz#3945e6b702cb6403f22b779c8ea9e5c3f44ead40" + integrity sha512-vHPAyBX1ffLcy4fQHmDyIUMUb42gHZjPHU66nhvbMzAWJqHnySGZ6STwN3rwrnSd1FHB0DI/RWgGELgKSYRDmw== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1848,9 +1863,9 @@ integrity sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A== "@types/uglify-js@*": - version "3.11.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.0.tgz#2868d405cc45cd9dc3069179052103032c33afbc" - integrity sha512-I0Yd8TUELTbgRHq2K65j8rnDPAzAP+DiaF/syLem7yXwYLsHZhPd+AM2iXsWmf9P2F2NlFCgl5erZPQx9IbM9Q== + version "3.11.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" + integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== dependencies: source-map "^0.6.1" @@ -1865,9 +1880,9 @@ integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== "@types/webpack-dev-server@^3.1.7": - version "3.11.0" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#bcc3b85e7dc6ac2db25330610513f2228c2fcfb2" - integrity sha512-3+86AgSzl18n5P1iUP9/lz3G3GMztCp+wxdDvVuNhx1sr1jE79GpYfKHL8k+Vht3N74K2n98CuAEw4YPJCYtDA== + version "3.11.1" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#f8f4dac1da226d530bd15a1d5dc34b23ba766ccb" + integrity sha512-rIb+LtUkKnh7+oIJm3WiMJONd71Q0lZuqGLcSqhZ5qjN9gV/CNmZe7Bai+brnBPZ/KVYOsr+4bFLiNZwjBicLw== dependencies: "@types/connect-history-api-fallback" "*" "@types/express" "*" @@ -1894,9 +1909,9 @@ source-map "^0.6.1" "@types/webpack@*", "@types/webpack@^4.41.22": - version "4.41.23" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.23.tgz#1925f42a7325be4ae0fce38329f1cc27768fcda7" - integrity sha512-ojA4CupZg8RCzVJLugWlvqrHpT59GWhqFxbinlsnvk10MjQCWB+ot7XDACctbWhnhtdhYK7+HOH1JxkVLiZhMg== + version "4.41.24" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.24.tgz#75b664abe3d5bcfe54e64313ca3b43e498550422" + integrity sha512-1A0MXPwZiMOD3DPMuOKUKcpkdPo8Lq33UGggZ7xio6wJ/jV1dAu5cXDrOfGDnldUroPIRLsr/DT43/GqOA4RFQ== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -2614,9 +2629,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axobject-query@2.0.2: version "2.0.2" @@ -2935,15 +2950,15 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.7.0, browserslist@^4.8.5, browserslist@^4.9.1: - version "4.14.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" - integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.7.0, browserslist@^4.9.1: + version "4.14.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457" + integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== dependencies: - caniuse-lite "^1.0.30001135" - electron-to-chromium "^1.3.571" - escalade "^3.1.0" - node-releases "^1.1.61" + caniuse-lite "^1.0.30001154" + electron-to-chromium "^1.3.585" + escalade "^3.1.1" + node-releases "^1.1.65" browserstack@^1.5.1: version "1.6.0" @@ -2997,9 +3012,9 @@ buffer@^4.3.0: isarray "^1.0.0" buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: - version "5.6.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.1.tgz#b99419405f4290a7a1f20b51037cee9f1fbd7f6a" - integrity sha512-2z15UUHpS9/3tk9mY/q+Rl3rydOi7yMp5XWNQnRvoz+mJwiv8brqYwp9a+nOCtma6dwuEIxljD8W3ysVBZ05Vg== + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: base64-js "^1.3.1" ieee754 "^1.1.13" @@ -3143,6 +3158,14 @@ cacheable-request@^7.0.1: normalize-url "^4.1.0" responselike "^2.0.0" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -3228,10 +3251,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001151" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz#1ddfde5e6fff02aad7940b4edb7d3ac76b0cb00b" - integrity sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: + version "1.0.30001157" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" + integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== canonical-path@1.0.0: version "1.0.0" @@ -3688,90 +3711,90 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -conventional-changelog-angular@^5.0.11: - version "5.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz#99a3ca16e4a5305e0c2c2fae3ef74fd7631fc3fb" - integrity sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw== +conventional-changelog-angular@^5.0.12: + version "5.0.12" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" + integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== dependencies: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-atom@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.7.tgz#221575253a04f77a2fd273eb2bf29a138f710abf" - integrity sha512-7dOREZwzB+tCEMjRTDfen0OHwd7vPUdmU0llTy1eloZgtOP4iSLVzYIQqfmdRZEty+3w5Jz+AbhfTJKoKw1JeQ== +conventional-changelog-atom@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== dependencies: q "^1.5.1" -conventional-changelog-codemirror@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.7.tgz#d6b6a8ce2707710c5a036e305037547fb9e15bfb" - integrity sha512-Oralk1kiagn3Gb5cR5BffenWjVu59t/viE6UMD/mQa1hISMPkMYhJIqX+CMeA1zXgVBO+YHQhhokEj99GP5xcg== +conventional-changelog-codemirror@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== dependencies: q "^1.5.1" -conventional-changelog-conventionalcommits@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.4.0.tgz#8d96687141c9bbd725a89b95c04966d364194cd4" - integrity sha512-ybvx76jTh08tpaYrYn/yd0uJNLt5yMrb1BphDe4WBredMlvPisvMghfpnJb6RmRNcqXeuhR6LfGZGewbkRm9yA== +conventional-changelog-conventionalcommits@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz#a02e0b06d11d342fdc0f00c91d78265ed0bc0a62" + integrity sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw== dependencies: compare-func "^2.0.0" lodash "^4.17.15" q "^1.5.1" -conventional-changelog-core@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.0.tgz#d8befd1e1f5126bf35a17668276cc8c244650469" - integrity sha512-8+xMvN6JvdDtPbGBqA7oRNyZD4od1h/SIzrWqHcKZjitbVXrFpozEeyn4iI4af1UwdrabQpiZMaV07fPUTGd4w== +conventional-changelog-core@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.1.tgz#f811ad98ab2ff080becafc61407509420c9b447d" + integrity sha512-8cH8/DEoD3e5Q6aeogdR5oaaKs0+mG6+f+Om0ZYt3PNv7Zo0sQhu4bMDRsqAF+UTekTAtP1W/C41jH/fkm8Jtw== dependencies: add-stream "^1.0.0" - conventional-changelog-writer "^4.0.17" - conventional-commits-parser "^3.1.0" + conventional-changelog-writer "^4.0.18" + conventional-commits-parser "^3.2.0" dateformat "^3.0.0" get-pkg-repo "^1.0.0" git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.0" + git-semver-tags "^4.1.1" lodash "^4.17.15" - normalize-package-data "^2.3.5" + normalize-package-data "^3.0.0" q "^1.5.1" read-pkg "^3.0.0" read-pkg-up "^3.0.0" shelljs "^0.8.3" - through2 "^3.0.0" + through2 "^4.0.0" -conventional-changelog-ember@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.8.tgz#f0f04eb7ff3c885af97db100865ab95dcfa9917f" - integrity sha512-JEMEcUAMg4Q9yxD341OgWlESQ4gLqMWMXIWWUqoQU8yvTJlKnrvcui3wk9JvnZQyONwM2g1MKRZuAjKxr8hAXA== +conventional-changelog-ember@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== dependencies: q "^1.5.1" -conventional-changelog-eslint@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.8.tgz#f8b952b7ed7253ea0ac0b30720bb381f4921b46c" - integrity sha512-5rTRltgWG7TpU1PqgKHMA/2ivjhrB+E+S7OCTvj0zM/QGg4vmnVH67Vq/EzvSNYtejhWC+OwzvDrLk3tqPry8A== +conventional-changelog-eslint@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== dependencies: q "^1.5.1" -conventional-changelog-express@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.5.tgz#6e93705acdad374516ca125990012a48e710f8de" - integrity sha512-pW2hsjKG+xNx/Qjof8wYlAX/P61hT5gQ/2rZ2NsTpG+PgV7Rc8RCfITvC/zN9K8fj0QmV6dWmUefCteD9baEAw== +conventional-changelog-express@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== dependencies: q "^1.5.1" -conventional-changelog-jquery@^3.0.10: - version "3.0.10" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.10.tgz#fe8eb6aff322aa980af5eb68497622a5f6257ce7" - integrity sha512-QCW6wF8QgPkq2ruPaxc83jZxoWQxLkt/pNxIDn/oYjMiVgrtqNdd7lWe3vsl0hw5ENHNf/ejXuzDHk6suKsRpg== +conventional-changelog-jquery@^3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== dependencies: q "^1.5.1" -conventional-changelog-jshint@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz#3fff4df8cb46037f77b9dc3f8e354c7f99332f13" - integrity sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw== +conventional-changelog-jshint@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== dependencies: compare-func "^2.0.0" q "^1.5.1" @@ -3781,58 +3804,58 @@ conventional-changelog-preset-loader@^2.3.4: resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== -conventional-changelog-writer@^4.0.17: - version "4.0.17" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz#4753aaa138bf5aa59c0b274cb5937efcd2722e21" - integrity sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw== +conventional-changelog-writer@^4.0.18: + version "4.0.18" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.18.tgz#10b73baa59c7befc69b360562f8b9cd19e63daf8" + integrity sha512-mAQDCKyB9HsE8Ko5cCM1Jn1AWxXPYV0v8dFPabZRkvsiWUul2YyAqbIaoMKF88Zf2ffnOPSvKhboLf3fnjo5/A== dependencies: compare-func "^2.0.0" - conventional-commits-filter "^2.0.6" + conventional-commits-filter "^2.0.7" dateformat "^3.0.0" handlebars "^4.7.6" json-stringify-safe "^5.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" semver "^6.0.0" split "^1.0.0" - through2 "^3.0.0" + through2 "^4.0.0" conventional-changelog@^3.0.0: - version "3.1.23" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.23.tgz#d696408021b579a3814aba79b38729ed86478aea" - integrity sha512-sScUu2NHusjRC1dPc5p8/b3kT78OYr95/Bx7Vl8CPB8tF2mG1xei5iylDTRjONV5hTlzt+Cn/tBWrKdd299b7A== - dependencies: - conventional-changelog-angular "^5.0.11" - conventional-changelog-atom "^2.0.7" - conventional-changelog-codemirror "^2.0.7" - conventional-changelog-conventionalcommits "^4.4.0" - conventional-changelog-core "^4.2.0" - conventional-changelog-ember "^2.0.8" - conventional-changelog-eslint "^3.0.8" - conventional-changelog-express "^2.0.5" - conventional-changelog-jquery "^3.0.10" - conventional-changelog-jshint "^2.0.8" + version "3.1.24" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.24.tgz#ebd180b0fd1b2e1f0095c4b04fd088698348a464" + integrity sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg== + dependencies: + conventional-changelog-angular "^5.0.12" + conventional-changelog-atom "^2.0.8" + conventional-changelog-codemirror "^2.0.8" + conventional-changelog-conventionalcommits "^4.5.0" + conventional-changelog-core "^4.2.1" + conventional-changelog-ember "^2.0.9" + conventional-changelog-eslint "^3.0.9" + conventional-changelog-express "^2.0.6" + conventional-changelog-jquery "^3.0.11" + conventional-changelog-jshint "^2.0.9" conventional-changelog-preset-loader "^2.3.4" -conventional-commits-filter@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" - integrity sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw== +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" - integrity sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA== +conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz#9e261b139ca4b7b29bcebbc54460da36894004ca" + integrity sha512-XmJiXPxsF0JhAKyfA2Nn+rZwYKJ60nanlbSWwwkGwLQFbugsc0gv1rzc7VbbUWAzJfR1qR87/pNgv9NgmxtBMQ== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" split2 "^2.0.0" - through2 "^3.0.0" + through2 "^4.0.0" trim-off-newlines "^1.0.0" convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: @@ -3905,11 +3928,11 @@ copy-webpack-plugin@6.3.0: webpack-sources "^1.4.3" core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + version "3.7.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.7.0.tgz#8479c5d3d672d83f1f5ab94cf353e57113e065ed" + integrity sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg== dependencies: - browserslist "^4.8.5" + browserslist "^4.14.6" semver "7.0.0" core-js@3.7.0: @@ -4088,12 +4111,12 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== +css-tree@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" + integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== dependencies: - mdn-data "2.0.6" + mdn-data "2.0.12" source-map "^0.6.1" css-what@^3.2.1: @@ -4192,11 +4215,11 @@ cssnano@4.1.10: postcss "^7.0.0" csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + version "4.1.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" + integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== dependencies: - css-tree "1.0.0-alpha.39" + css-tree "^1.0.0" cssom@^0.4.1: version "0.4.4" @@ -4694,10 +4717,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.571: - version "1.3.583" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.583.tgz#47a9fde74740b1205dba96db2e433132964ba3ee" - integrity sha512-L9BwLwJohjZW9mQESI79HRzhicPk1DFgM+8hOCfGgGCFEcA3Otpv7QK6SGtYoZvfQfE3wKLh0Hd5ptqUFv3gvQ== +electron-to-chromium@^1.3.585: + version "1.3.591" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017" + integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw== elliptic@^6.5.3: version "6.5.3" @@ -4869,7 +4892,7 @@ es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: +es-abstract@^1.18.0-next.1: version "1.18.0-next.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== @@ -4934,7 +4957,7 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -escalade@^3.1.0: +escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -5234,9 +5257,9 @@ fastparse@^1.1.2: integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== dependencies: reusify "^1.0.4" @@ -5591,9 +5614,9 @@ genfun@^5.0.0: integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^1.0.1: version "1.0.3" @@ -5605,6 +5628,15 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" + integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-pkg-repo@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" @@ -5666,15 +5698,15 @@ git-raw-commits@2.0.0: through2 "^2.0.0" git-raw-commits@^2.0.0: - version "2.0.7" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.7.tgz#02e9357727a9755efa8e14dd5e59b381c29068fb" - integrity sha512-SkwrTqrDxw8y0G1uGJ9Zw13F7qu3LF8V4BifyDeiJCxSnjRGZD9SaoMiMqUvvXMXh6S3sOQ1DsBN7L2fMUZW/g== + version "2.0.8" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.8.tgz#65cef91ae8307281b6ee31ca481fa1164e166156" + integrity sha512-6Gk7tQHGMLEL1bSnrMJTCVt2AQl4EmCcJDtzs/JJacCb2+TNEyHM67Gp7Ri9faF7OcGpjGGRjHLvs/AG7QKZ2Q== dependencies: dargs "^7.0.0" lodash.template "^4.0.2" - meow "^7.0.0" + meow "^8.0.0" split2 "^2.0.0" - through2 "^3.0.0" + through2 "^4.0.0" git-remote-origin-url@^2.0.0: version "2.0.0" @@ -5684,12 +5716,12 @@ git-remote-origin-url@^2.0.0: gitconfiglocal "^1.0.0" pify "^2.3.0" -git-semver-tags@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.0.tgz#0146c9bc24ee96104c99f443071c8c2d7dc848e3" - integrity sha512-TcxAGeo03HdErzKzi4fDD+xEL7gi8r2Y5YSxH6N2XYdVSV5UkBwfrt7Gqo1b+uSHCjy/sa9Y6BBBxxFLxfbhTg== +git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== dependencies: - meow "^7.0.0" + meow "^8.0.0" semver "^6.0.0" gitconfiglocal@^1.0.0: @@ -6197,9 +6229,9 @@ icss-utils@^5.0.0: integrity sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg== ieee754@^1.1.13, ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" @@ -6252,9 +6284,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" + integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -6333,16 +6365,16 @@ ini@1.3.5, ini@^1.3.2, ini@^1.3.4: integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== injection-js@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/injection-js/-/injection-js-2.3.1.tgz#c6b7594ab0bd5da73eb8ea246fe19d98d74508cc" - integrity sha512-t+kpDAOL/DUZ68JncAhsb8C91qhJ6dXRMcOuvJfNA7sp63etdiQe6KQoxE/nZ5b2eTi0TQX6OothOCm89cLAJQ== + version "2.4.0" + resolved "https://registry.yarnpkg.com/injection-js/-/injection-js-2.4.0.tgz#ebe8871b1a349f23294eaa751bbd8209a636e754" + integrity sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA== dependencies: - tslib "^1.9.3" + tslib "^2.0.0" inquirer-autocomplete-prompt@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.2.0.tgz#da13d80cb0758ff5d58703e17afc533b5b61cc6d" - integrity sha512-t8A0gFq0mOKGz8wmGBPh+M/AC8KSMMcn7dnHXzLWyKvLiRYWswQ6rg7d938hoR5tVP1GpHVmHOR6YP8G5dYhhQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.3.0.tgz#fcbba926be2d3cf338e3dd24380ae7c408113b46" + integrity sha512-zvAc+A6SZdcN+earG5SsBu1RnQdtBS4o8wZ/OqJiCfL34cfOx+twVRq7wumYix6Rkdjn1N2nVCcO3wHqKqgdGg== dependencies: ansi-escapes "^4.3.1" chalk "^4.0.0" @@ -6478,9 +6510,9 @@ is-color-stop@^1.0.0: rgba-regex "^1.0.0" is-core-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" - integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" + integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== dependencies: has "^1.0.3" @@ -6879,9 +6911,9 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.6.2.tgz#a8df3fc92f2ef322bcdafb890f744f3ff5751e86" - integrity sha512-Uc0o2MRnC8TS1MjDrB8jE1umKEo2mflzGvdg0Ncs+yuLtOJ+uz/Wz8VmGsNGtuASr8+E0LDgPkOpvdoC76m5WQ== + version "3.6.3" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.6.3.tgz#520cd71f76bd8251e9f566b622e13602e9ddcf26" + integrity sha512-Th91zHsbsALWjDUIiU5d/W5zaYQsZFMPTdeNmi8GivZPmAaUAK8MblSG3yQI4VMGC/abF2us7ex60NH1AAIMTA== dependencies: glob "^7.1.6" jasmine-core "~3.6.0" @@ -6891,7 +6923,7 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.6.2: +jest-worker@26.6.2, jest-worker@^26.5.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -6900,15 +6932,6 @@ jest-worker@26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0: - version "26.6.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.1.tgz#c2ae8cde6802cc14056043f997469ec170d9c32a" - integrity sha512-R5IE3qSGz+QynJx8y+ICEkdI2OJ3RJjRQVEyCcFAd3yVhQSEtquziPO29Mlzgn07LOVE8u8jhJ1FqcwegiXWOw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jquery@^3.3.1: version "3.5.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" @@ -7041,11 +7064,11 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - universalify "^1.0.0" + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" @@ -7794,16 +7817,16 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdn-data@2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" + integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -7865,22 +7888,22 @@ meow@^4.0.0: redent "^2.0.0" trim-newlines "^2.0.0" -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== +meow@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" + integrity sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" - normalize-package-data "^2.5.0" + normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-descriptors@1.0.1: version "1.0.1" @@ -8244,7 +8267,7 @@ nan@^2.12.1, nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.15: +nanoid@^3.1.16: version "3.1.16" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz#b21f0a7d031196faf75314d7c65d36352beeef64" integrity sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w== @@ -8297,13 +8320,13 @@ next-tick@~1.0.0: integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= ng-packagr@~11.0.0-next.0: - version "11.0.0-next.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.2.tgz#a72ba00f716c212f5942a235107318188312c3e0" - integrity sha512-H1qJanpsAkI81qC1EGuiI6S8hh2YYYbFfdNxRj5mdpieZLyx/CUdAWfnjPFH9DjvJZ7nAEAHrv9nbvnJ0GfOFA== + version "11.0.0-next.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.3.tgz#9edfa299228d16c6f4a5cbda095b9d55589278b9" + integrity sha512-zE+3hK/YmQchpcG5C14D1MYfLwBQIP6TkYUJ/OQSk+EZmi1NyfUEGaLjAAHhut3L7PqZkBY0y4scDKqPGxUFGw== dependencies: - "@rollup/plugin-commonjs" "^15.0.0" + "@rollup/plugin-commonjs" "^16.0.0" "@rollup/plugin-json" "^4.0.0" - "@rollup/plugin-node-resolve" "^9.0.0" + "@rollup/plugin-node-resolve" "^10.0.0" ajv "^6.12.3" ansi-colors "^4.1.1" autoprefixer "^9.6.5" @@ -8316,6 +8339,7 @@ ng-packagr@~11.0.0-next.0: injection-js "^2.2.1" less "^3.10.3" node-sass-tilde-importer "^1.0.0" + ora "^5.1.0" postcss "^7.0.29" postcss-url "^8.0.0" read-pkg-up "^5.0.0" @@ -8393,10 +8417,10 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-releases@^1.1.61: - version "1.1.64" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5" - integrity sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg== +node-releases@^1.1.65: + version "1.1.66" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" + integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== node-sass-tilde-importer@^1.0.0: version "1.0.2" @@ -8418,7 +8442,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0, "normalize-package-data@~1.0.1 || ^2.0.0": +normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0, "normalize-package-data@~1.0.1 || ^2.0.0": version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8428,6 +8452,16 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" + integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw== + dependencies: + hosted-git-info "^3.0.6" + resolve "^1.17.0" + semver "^7.3.2" + validate-npm-package-license "^3.0.1" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -8670,12 +8704,12 @@ object-visit@^1.0.0: isobject "^3.0.0" object.assign@^4.1.0, object.assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" - integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.0" has-symbols "^1.0.1" object-keys "^1.1.1" @@ -8772,7 +8806,7 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -ora@5.1.0, ora@^5.0.0: +ora@5.1.0, ora@^5.0.0, ora@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ora/-/ora-5.1.0.tgz#b188cf8cd2d4d9b13fd25383bc3e5cba352c94f8" integrity sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w== @@ -9703,13 +9737,13 @@ postcss@7.0.32: supports-color "^6.1.0" postcss@^8.1.4: - version "8.1.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.4.tgz#356dfef367a70f3d04347f74560c85846e20e4c1" - integrity sha512-LfqcwgMq9LOd8pX7K2+r2HPitlIGC5p6PoZhVELlqhh2YGDVcXKpkCseqan73Hrdik6nBd2OvoDPUaP/oMj9hQ== + version "8.1.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.6.tgz#b022ba2cfb8701da234d073ed3128c5a384c35ff" + integrity sha512-JuifSl4h8dJ70SiMXKjzCxhalE6p2TnMHuq9G8ftyXj2jg6SXzqCsEuxMj9RkmJoO5D+Z9YrWunNkxqpRT02qg== dependencies: colorette "^1.2.1" line-column "^1.0.2" - nanoid "^3.1.15" + nanoid "^3.1.16" source-map "^0.6.1" prelude-ls@~1.1.2: @@ -10144,15 +10178,6 @@ read-pkg@^5.0.0, read-pkg@^5.2.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readable-stream@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.0.tgz#640f5dcda88c91a8dc60787145629170813a1ed2" @@ -10166,6 +10191,15 @@ readable-stream@2.3.0: string_decoder "~1.0.0" util-deprecate "~1.0.1" +readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" @@ -10236,9 +10270,9 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@0.13.7, regenerator-runtime@^0.13.4: version "0.13.7" @@ -10560,29 +10594,22 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.33.1: +rollup@2.33.1, rollup@^2.8.0: version "2.33.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== optionalDependencies: fsevents "~2.1.2" -rollup@^2.8.0: - version "2.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" - integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== - optionalDependencies: - fsevents "~2.1.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -10636,20 +10663,13 @@ sass-loader@10.0.5: schema-utils "^3.0.0" semver "^7.3.2" -sass@1.29.0: +sass@1.29.0, sass@^1.23.0: version "1.29.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.29.0.tgz#ec4e1842c146d8ea9258c28c141b8c2b7c6ab7f1" integrity sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA== dependencies: chokidar ">=2.0.0 <4.0.0" -sass@^1.23.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.27.0.tgz#0657ff674206b95ec20dc638a93e179c78f6ada2" - integrity sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig== - dependencies: - chokidar ">=2.0.0 <4.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz": version "0.0.0" resolved "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz#7b7f35433af9c3380758e048894d7b9aecf3754e" @@ -11707,16 +11727,16 @@ tapable@^2.0.0: integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== tar-fs@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5" - integrity sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== dependencies: chownr "^1.1.1" mkdirp-classic "^0.5.2" pump "^3.0.0" - tar-stream "^2.0.0" + tar-stream "^2.1.4" -tar-stream@^2.0.0: +tar-stream@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== @@ -11835,14 +11855,6 @@ through2@^2.0.0, through2@^2.0.2, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -11861,9 +11873,9 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -12061,7 +12073,7 @@ tslib@2.0.3, tslib@^2.0.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -12150,10 +12162,10 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.0.tgz#2edfa6382d48653707344f7fccdb0443d460e8d6" + integrity sha512-fbDukFPnJBdn2eZ3RR+5mK2slHLFd6gYHY7jna1KWWy4Yr4XysHuCdXRzy+RiG/HwG4WJat00vdC2UHky5eKiQ== type-fest@^0.6.0: version "0.6.0" @@ -12200,25 +12212,20 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.0.5: +typescript@4.0.5, typescript@~4.0.2: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== -typescript@~4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" - integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== - ua-parser-js@0.7.22: version "0.7.22" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.22.tgz#960df60a5f911ea8f1c818f3747b99c6e177eae3" integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q== uglify-js@^3.1.4: - version "3.11.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf" - integrity sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw== + version "3.11.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" + integrity sha512-btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w== unbzip2-stream@^1.3.3: version "1.4.3" @@ -12324,6 +12331,11 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unix-crypt-td-js@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" @@ -12792,9 +12804,9 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: iconv-lite "0.4.24" whatwg-fetch@>=0.10.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz#e5f871572d6879663fa5674c8f833f15a8425ab3" - integrity sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ== + version "3.5.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz#605a2cd0a7146e5db141e29d1c62ab84c0c4c868" + integrity sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A== whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" @@ -12916,9 +12928,9 @@ ws@^6.2.1: async-limiter "~1.0.0" ws@^7.0.0, ws@^7.1.2, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== ws@~6.1.0: version "6.1.4" @@ -13013,7 +13025,7 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.0.0, yargs-parser@^18.1.0, yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@^18.0.0, yargs-parser@^18.1.0, yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -13021,6 +13033,11 @@ yargs-parser@^18.0.0, yargs-parser@^18.1.0, yargs-parser@^18.1.2, yargs-parser@^ camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.3: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs@15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.0.tgz#403af6edc75b3ae04bf66c94202228ba119f0976" From 2f2ca78f0981a8598a9abdb49881d412bf3ea900 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 Nov 2020 11:34:22 +0000 Subject: [PATCH 169/696] build: update to version --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 807a7f8bc958..9a1cfe8f5e99 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11722,9 +11722,9 @@ tapable@^1.0.0, tapable@^1.1.3: integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tapable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" - integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.1.1.tgz#b01cc1902d42a7bb30514e320ce21c456f72fd3f" + integrity sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ== tar-fs@^2.0.0: version "2.1.1" From b5218d4a790743568d0ffa04a1a1d6cd8690edd3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 9 Nov 2020 14:23:31 +0100 Subject: [PATCH 170/696] test(@angular-devkit/build-angular): refactor platform server test to use universal schematic Using `@nguniversal/express-engine` requires a lot of maintenance and manual updates to set the correct versions of `@angular-devkit/architect` and `'@angular-devkit/core`. This is because `@nguniversal/express-engine` can rely on different versions of this packages from the local built versions which would cause package installations failure. --- .../e2e/tests/build/platform-server.ts | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index 64e7d5db53fd..91ab3b233414 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -1,28 +1,17 @@ import { normalize } from 'path'; import { getGlobalVariable } from '../../utils/env'; -import { appendToFile, expectFileToMatch, writeFile } from '../../utils/fs'; +import { appendToFile, expectFileToMatch, replaceInFile, writeFile } from '../../utils/fs'; import { installPackage } from '../../utils/packages'; -import { exec, ng, silentNpm } from '../../utils/process'; -import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; +import { exec, ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { const argv = getGlobalVariable('argv'); const veEnabled = argv['ve']; - const tag = (await isPrereleaseCli()) ? 'next' : 'latest'; - // @nguniversal/express-engine currently relies on ^0.1100.0-rc.2 of @angular-devkit/architect - // which is not present in the local package registry and not semver compatible with ^11.0.0-next.7 - const { stdout: stdout1 } = await silentNpm('pack', '@angular-devkit/architect@0.1100.0-rc.2', '--registry=https://registry.npmjs.org'); - await silentNpm('publish', stdout1.trim(), '--registry=http://localhost:4873', '--tag=minor'); - - // @nguniversal/express-engine currently relies on ^11.0.0-rc.2 of @angular-devkit/core - // which is not present in the local package registry and not semver compatible prerelease version of ^11.0.0-next.7 - const { stdout: stdout2 } = await silentNpm('pack', '@angular-devkit/core@11.0.0-rc.2', '--registry=https://registry.npmjs.org'); - await silentNpm('publish', stdout2.trim(), '--registry=http://localhost:4873', '--tag=minor'); - - await ng('add', `@nguniversal/express-engine@${tag}`); + await ng('generate', 'universal', '--client-project', 'test-project'); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; if (isSnapshotBuild) { @@ -82,6 +71,8 @@ export default async function () { ); } + await replaceInFile('tsconfig.server.json', 'src/main.server.ts', 'server.ts'); + await replaceInFile('angular.json', 'src/main.server.ts', 'server.ts'); await ng('run', 'test-project:server:production', '--optimization', 'false'); From c1d68c46932d5be7eb59407eb24c36a167a33ca1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 Nov 2020 16:56:16 +0000 Subject: [PATCH 171/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 84ea8c2eb798..3904ef641f5c 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0-rc.2", "@angular/compiler-cli": "11.0.0-rc.2", "@angular/core": "11.0.0-rc.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414", "@angular/forms": "11.0.0-rc.2", "@angular/localize": "11.0.0-rc.2", "@angular/material": "10.2.7", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d0396ef2a001..055b5e3cce0d 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#173e525d4cfc6ff5199709b5f3ddb788df1398a5", - "@angular/cdk": "github:angular/cdk-builds#7fb5bcae4731332d765189bb21e8efb8ef051018", - "@angular/common": "github:angular/common-builds#3c9c4c027c9f795a176288c6f7cb2c0abcc05bf7", - "@angular/compiler": "github:angular/compiler-builds#276b9b45174c4525260b54f1b33e052e69470bdf", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8cc7dd47f04f431d6d71bdf8c0585efaae46e0e0", - "@angular/core": "github:angular/core-builds#3b712fd0fdb1c80cd265b32a35d394c33f1283e9", - "@angular/forms": "github:angular/forms-builds#d52194b27dd163eb0b84006dbb27a030f28e9f62", - "@angular/language-service": "github:angular/language-service-builds#1b18b0c52d58673c3c408afc133963e1fdec4580", - "@angular/localize": "github:angular/localize-builds#6fd452ff990088ece872fb58fc24129e4c5097f3", - "@angular/material": "github:angular/material2-builds#335cb7fb63e60954b255ecf59fd2720fd91e510c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1d665fb8b620f6a3d185faf090381d228c220ca9", - "@angular/platform-browser": "github:angular/platform-browser-builds#641a504a313523e876146447c9573bd2e4c92651", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d5c18810e49d06eba299b371ca3ad875411a6040", - "@angular/platform-server": "github:angular/platform-server-builds#bbe25fe530b473f26be7ea6f9db05746567fde68", - "@angular/router": "github:angular/router-builds#8497f32059e91e6b2a804f71b40609747c55c5be" + "@angular/animations": "github:angular/animations-builds#7e7c65fb1c9c223987f7b22efa672e16fc073d80", + "@angular/cdk": "github:angular/cdk-builds#484829947b77523816b5bbc7727063377ea6e0f4", + "@angular/common": "github:angular/common-builds#d950eda8e12b488e3ac11f997fd8e9aab08e75f9", + "@angular/compiler": "github:angular/compiler-builds#d475bcca3beb7b9282079eeae8a20f890f39fda5", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2d9f38dc3c7563fff6fa9b3f052433c9f445682f", + "@angular/core": "github:angular/core-builds#7d142e62a3b1e211740687af4d8491147c4dab1a", + "@angular/forms": "github:angular/forms-builds#12134a930fa0fc1a1f34b11ce2ed7e571acf3475", + "@angular/language-service": "github:angular/language-service-builds#c4b10e710c6d2f21dbdfa7afb03680d076fe3be9", + "@angular/localize": "github:angular/localize-builds#776ba6ef8e72a09577cde3f7edcf9d4581689f0c", + "@angular/material": "github:angular/material2-builds#3bdf098e7d178ab42e00630c1bed165f0653bf5e", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#554d0823a303ccd978b0ec7c8cd45ef4e3ae9280", + "@angular/platform-browser": "github:angular/platform-browser-builds#01bd18f270652195dfa3c9c14ee1f95868fa3e9d", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7306cd01e919ea058811751b5119935301b5085c", + "@angular/platform-server": "github:angular/platform-server-builds#8bde272c01696be90ce245edefe77f974599fcf3", + "@angular/router": "github:angular/router-builds#a605427323927f3621d55f1e54bf5742e31875e0" } } diff --git a/yarn.lock b/yarn.lock index 9a1cfe8f5e99..fe8bed2b29b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#3898a42fee3e71d382c5b08a7f547e8bea0b25e4" + resolved "https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From d26d944e3c4ed75f276618ea8297b772efb45be9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 11:08:26 +0000 Subject: [PATCH 172/696] build: update webpack-merge to version 5.4.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3904ef641f5c..46e4c92c7931 100644 --- a/package.json +++ b/package.json @@ -231,7 +231,7 @@ "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", - "webpack-merge": "5.3.0", + "webpack-merge": "5.4.0", "webpack-sources": "2.0.1", "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index dc0c823bc6af..c698c5c2a905 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -72,7 +72,7 @@ "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", - "webpack-merge": "5.3.0", + "webpack-merge": "5.4.0", "webpack-sources": "2.0.1", "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0" diff --git a/yarn.lock b/yarn.lock index fe8bed2b29b4..09779b7ae081 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12715,10 +12715,10 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.3.0.tgz#a80df44d35fabace680bf430a19fda9ec49ed8eb" - integrity sha512-4PtsBAWnmJULIJYviiPq4BxwAykbAgGMheyEVaemj2bJI54h+p/gnlbXZEH2EM0IYC3blOE1Qm6kzKlc06N1UQ== +webpack-merge@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.4.0.tgz#81bef0a7d23fc1e6c24b06ad8bf22ddeb533a3a3" + integrity sha512-/scBgu8LVPlHDgqH95Aw1xS+L+PHrpHKOwYVGFaNOQl4Q4wwwWDarwB1WdZAbLQ24SKhY3Awe7VZGYAdp+N+gQ== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" From c41471d57ca390c244900b726c00be554f1f0791 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 07:11:58 +0000 Subject: [PATCH 173/696] build: update stylus-loader to version 4.3.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 46e4c92c7931..9662f9cf2861 100644 --- a/package.json +++ b/package.json @@ -210,7 +210,7 @@ "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", "stylus": "0.54.7", - "stylus-loader": "4.2.0", + "stylus-loader": "4.3.0", "symbol-observable": "3.0.0", "tar": "^6.0.0", "temp": "^0.9.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c698c5c2a905..e4619698cb75 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -64,7 +64,7 @@ "speed-measure-webpack-plugin": "1.3.3", "style-loader": "2.0.0", "stylus": "0.54.8", - "stylus-loader": "4.2.0", + "stylus-loader": "4.3.0", "terser": "5.3.8", "terser-webpack-plugin": "4.2.3", "text-table": "0.2.0", diff --git a/yarn.lock b/yarn.lock index 09779b7ae081..bbaf0b39d2d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11622,10 +11622,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylus-loader@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.2.0.tgz#ec4cf3408a52d07e6d3c15ffe1a0e5c2484bacc7" - integrity sha512-n2zrq+rwUcK3DMX396XoxUYoQE+2DatqMId9RId79hOEYI7DVzsMKlQHcH7jkezvAD22SIks3YxgDhPUoRZ8ZQ== +stylus-loader@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.0.tgz#d4bab5a4d957f4b1f567be108185ff23be216ad4" + integrity sha512-S6j5Onp4AJJIXZomHYknFEnV6/4zhPoEKxMPu0iExPgJLlGO7CeBGu+xpYCup1hiZmDBnC3BKRswADKN9goLfw== dependencies: fast-glob "^3.2.4" klona "^2.0.4" From 78e127c795bbe2ff59fbc2251c6a84224badef91 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 07:08:20 +0000 Subject: [PATCH 174/696] build: update sass-loader to version 10.1.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 9662f9cf2861..8db5fd8c7460 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,7 @@ "rollup": "2.33.1", "rxjs": "6.6.3", "sass": "1.29.0", - "sass-loader": "10.0.5", + "sass-loader": "10.1.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz", "semver": "7.3.2", "source-map": "0.7.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e4619698cb75..779ad857fb2b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -56,7 +56,7 @@ "rollup": "2.33.1", "rxjs": "6.6.3", "sass": "1.29.0", - "sass-loader": "10.0.5", + "sass-loader": "10.1.0", "semver": "7.3.2", "source-map": "0.7.3", "source-map-loader": "1.1.2", diff --git a/yarn.lock b/yarn.lock index bbaf0b39d2d3..ddfbf97fab24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10652,10 +10652,10 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@10.0.5: - version "10.0.5" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.5.tgz#f53505b5ddbedf43797470ceb34066ded82bb769" - integrity sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w== +sass-loader@10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.0.tgz#1727fcc0c32ab3eb197cda61d78adf4e9174a4b3" + integrity sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg== dependencies: klona "^2.0.4" loader-utils "^2.0.0" From cdc5776f53b4ae3569c728277d64df4a71bc415f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 06:07:32 +0000 Subject: [PATCH 175/696] build: update less-loader to version 7.1.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8db5fd8c7460..267331dfbab2 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "karma-jasmine-html-reporter": "^1.5.0", "karma-source-map-support": "1.4.0", "less": "3.12.2", - "less-loader": "7.0.2", + "less-loader": "7.1.0", "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.5", "loader-utils": "2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 779ad857fb2b..7b8dde9e7b30 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -37,7 +37,7 @@ "jest-worker": "26.6.2", "karma-source-map-support": "1.4.0", "less": "3.12.2", - "less-loader": "7.0.2", + "less-loader": "7.1.0", "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", "mini-css-extract-plugin": "1.3.0", diff --git a/yarn.lock b/yarn.lock index ddfbf97fab24..d87107e20468 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7257,10 +7257,10 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -less-loader@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.0.2.tgz#0d73a49ec32a9d3ff12614598e6e2b47fb2a35c4" - integrity sha512-7MKlgjnkCf63E3Lv6w2FvAEgLMx3d/tNBExITcanAq7ys5U8VPWT3F6xcRjYmdNfkoQ9udoVFb1r2azSiTnD6w== +less-loader@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.1.0.tgz#958d41e86d7de0bcb490711ee0f235aa9dc596aa" + integrity sha512-EHbnRaTzHgsxnd3RK6OXSiygcCJs72+2ezXVLg+Hgl/ijUTtthKZXZh4MvQkWJr3h/SSKvxGZr7IIHzuS2KbVQ== dependencies: klona "^2.0.4" loader-utils "^2.0.0" From 020381391fd8e21c8105cc7ffd58c045e9467eca Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 11 Nov 2020 15:34:18 -0500 Subject: [PATCH 176/696] test(@angular-devkit/build-angular): add E2E test for i18n locale data augmentation This adds an E2E test that demonstrates the usage of a direct import of locale data to augment existing locale data. --- .../i18n/ivy-localize-locale-data-augment.ts | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts new file mode 100644 index 000000000000..debc670b12da --- /dev/null +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts @@ -0,0 +1,52 @@ +import { expectFileToMatch, prependToFile, readFile, replaceInFile, writeFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { externalServer, langTranslations, setupI18nConfig } from './legacy'; + +export default async function() { + // Setup i18n tests and config. + await setupI18nConfig(); + + // Update angular.json to only localize one locale + await updateJsonFile('angular.json', workspaceJson => { + const appProject = workspaceJson.projects['test-project']; + appProject.architect['build'].options.localize = ['fr']; + }); + + // Update E2E test to look for augmented locale data + await replaceInFile('./e2e/src/app.fr.e2e-spec.ts', 'janvier', 'changed-janvier'); + + // Augment the locale data and import into the main application file + const localeData = await readFile('node_modules/@angular/common/locales/global/fr.js'); + await writeFile('src/fr-changed.js', localeData.replace('janvier', 'changed-janvier')); + await prependToFile('src/main.ts', 'import \'./fr-changed.js\';\n'); + + // Run a build and test + await ng('build'); + for (const { lang, outputPath } of langTranslations) { + // Only the fr locale was built for this test + if (lang !== 'fr') { + continue; + } + + // Ensure locale is inlined (@angular/localize plugin inlines `$localize.locale` references) + // The only reference in a new application is in @angular/core + await expectFileToMatch(`${outputPath}/vendor.js`, lang); + + // Execute Application E2E tests with dev server + await ng('e2e', `--configuration=${lang}`, '--port=0'); + + // Execute Application E2E tests for a production build without dev server + const server = externalServer(outputPath, `/${lang}/`); + try { + await ng( + 'e2e', + `--configuration=${lang}`, + '--devServerTarget=', + `--baseUrl=http://localhost:4200/${lang}/`, + ); + } finally { + server.close(); + } + } +} From be4b1a472b8e0dd88a0796efcbeffabf8658a515 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 Nov 2020 21:34:38 +0000 Subject: [PATCH 177/696] build: update babel-loader to version 8.2.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 267331dfbab2..c81ea8907307 100644 --- a/package.json +++ b/package.json @@ -129,7 +129,7 @@ "ajv": "6.12.6", "ansi-colors": "4.1.1", "autoprefixer": "9.8.6", - "babel-loader": "8.1.0", + "babel-loader": "8.2.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", "cacache": "15.0.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 7b8dde9e7b30..aeee15f70d2f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -21,7 +21,7 @@ "@ngtools/webpack": "0.0.0", "ansi-colors": "4.1.1", "autoprefixer": "9.8.6", - "babel-loader": "8.1.0", + "babel-loader": "8.2.1", "browserslist": "^4.9.1", "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", diff --git a/yarn.lock b/yarn.lock index d87107e20468..48e768806c2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2640,14 +2640,14 @@ axobject-query@2.0.2: dependencies: ast-types-flow "0.0.7" -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== +babel-loader@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.1.tgz#e53313254677e86f27536f5071d807e01d24ec00" + integrity sha512-dMF8sb2KQ8kJl21GUjkW1HWmcsL39GOV5vnzjqrCzEPNY0S0UfMLnumidiwIajDSBmKhYf5iRW+HXaM4cvCKBw== dependencies: find-cache-dir "^2.1.0" loader-utils "^1.4.0" - mkdirp "^0.5.3" + make-dir "^2.1.0" pify "^4.0.1" schema-utils "^2.6.5" From 313c3f2340491ecbe7d0085b39b7d752f711ec78 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 11 Nov 2020 06:27:40 +0000 Subject: [PATCH 178/696] build: update resolve to version 1.19.0 --- packages/angular/cli/package.json | 2 +- yarn.lock | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 76b8cf642e4a..0fbe9b966a1d 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -40,7 +40,7 @@ "npm-pick-manifest": "6.1.0", "open": "7.3.0", "pacote": "9.5.12", - "resolve": "1.18.1", + "resolve": "1.19.0", "rimraf": "3.0.2", "semver": "7.3.2", "symbol-observable": "3.0.0", diff --git a/yarn.lock b/yarn.lock index 48e768806c2c..ee84b1855ad0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6509,7 +6509,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0: +is-core-module@^2.0.0, is-core-module@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== @@ -10479,7 +10479,15 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.18.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== From 1237ddaceac7c111d730f4005f96d04fce416836 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Nov 2020 09:55:54 +0100 Subject: [PATCH 179/696] fix(@angular-devkit/build-angular): properly handle comment removal during font inlining Closes #19350 --- .../src/utils/index-file/inline-fonts.ts | 4 ++-- .../src/utils/index-file/inline-fonts_spec.ts | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index 0d2f20921c0e..6d0cc8e4ef56 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -159,10 +159,10 @@ export class InlineFontsProcessor { if (this.options.minifyInlinedCSS) { cssContent = cssContent + // Comments. + .replace(/\/\*([\s\S]*?)\*\//g, '') // New lines. .replace(/\n/g, '') - // Comments and new lines. - .replace(/\/\*\s.+\s\*\//g, '') // Safe spaces. .replace(/\s?[\{\:\;]\s+/g, s => s.trim()); } diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts index dbf04237ed35..10c91fc6bd62 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts @@ -39,6 +39,27 @@ describe('InlineFontsProcessor', () => { expect(html).toContain(`font-family: 'Material Icons'`); }); + it('should inline multiple fonts from a single request with minification enabled', async () => { + const inlineFontsProcessor = new InlineFontsProcessor({ + minifyInlinedCSS: true, + WOFFSupportNeeded: false, + }); + + const html = await inlineFontsProcessor.process(` + + + + + + + `); + + expect(html).toContain(`'Google Sans'`); + expect(html).toContain(`'Roboto'`); + expect(html).toContain(`'Roboto Mono'`); + expect(html).toContain(`'Material Icons'`); + }); + it('works with http protocol', async () => { const inlineFontsProcessor = new InlineFontsProcessor({ WOFFSupportNeeded: false, From 2a1b6b1dc77b0e9819c95b87d5bef804385aa8c6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 10 Nov 2020 09:49:39 +0100 Subject: [PATCH 180/696] fix(@angular-devkit/build-angular): separate initial total size in build output ``` Initial Chunk Files | Names | Size main-es5.6f60fbc22c7e19b5d179.js | main | 154.89 kB main-es2015.6f60fbc22c7e19b5d179.js | main | 135.87 kB polyfills-es5.0351d1276e488726c8dc.js | polyfills-es5 | 129.34 kB polyfills-es2015.904e51532a46df6b991c.js | polyfills | 36.12 kB scripts.b7f93721b30caf483f97.js | scripts | 3.45 kB runtime-es2015.76bfea807ccb0a24e182.js | runtime | 1.45 kB runtime-es5.76bfea807ccb0a24e182.js | runtime | 1.45 kB styles.3ff695c00d717f2d2a11.css | styles | 0 bytes | Initial ES5 Total | 289.13 kB | Initial ES2015 Total | 176.88 kB ``` Closes #19330 --- .../build_angular/src/browser/index.ts | 10 +++-- .../build_angular/src/webpack/utils/stats.ts | 42 +++++++++++++++---- tests/legacy-cli/e2e/tests/basic/build.ts | 10 ++++- 3 files changed, 50 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index 4d8f73059355..873f4e1ff296 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -69,6 +69,7 @@ import { NgBuildAnalyticsPlugin } from '../webpack/plugins/analytics'; import { markAsyncChunksNonInitial } from '../webpack/utils/async-chunks'; import { BundleStats, + ChunkType, generateBundleStats, statsErrorsToString, statsHasErrors, @@ -592,11 +593,11 @@ export function buildWebpackBrowser( const chunk = webpackStats.chunks?.find((chunk) => chunk.id.toString() === result.name); if (result.original) { - bundleInfoStats.push(generateBundleInfoStats(result.original, chunk)); + bundleInfoStats.push(generateBundleInfoStats(result.original, chunk, 'modern')); } if (result.downlevel) { - bundleInfoStats.push(generateBundleInfoStats(result.downlevel, chunk)); + bundleInfoStats.push(generateBundleInfoStats(result.downlevel, chunk, 'legacy')); } } @@ -605,7 +606,7 @@ export function buildWebpackBrowser( ) || []; for (const chunk of unprocessedChunks) { const asset = webpackStats.assets?.find(a => a.name === chunk.files[0]); - bundleInfoStats.push(generateBundleStats({ ...chunk, size: asset?.size }, true)); + bundleInfoStats.push(generateBundleStats({ ...chunk, size: asset?.size })); } // Check for budget errors and display them to the user. @@ -773,6 +774,7 @@ type ArrayElement
= A extends ReadonlyArray ? T : never; function generateBundleInfoStats( bundle: ProcessBundleFile, chunk: ArrayElement | undefined, + chunkType: ChunkType, ): BundleStats { return generateBundleStats( { @@ -782,8 +784,8 @@ function generateBundleInfoStats( entry: !!chunk?.names.includes('runtime'), initial: !!chunk?.initial, rendered: true, + chunkType, }, - true, ); } export default createBuilder(buildWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 51de97cf2851..93901d887033 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -29,9 +29,12 @@ export function formatSize(size: number): string { export type BundleStatsData = [files: string, names: string, size: number | string]; +export type ChunkType = 'modern' | 'legacy' | 'unknown'; + export interface BundleStats { initial: boolean; stats: BundleStatsData; + chunkType: ChunkType; }; export function generateBundleStats( @@ -42,15 +45,17 @@ export function generateBundleStats( entry: boolean; initial: boolean; rendered?: boolean; + chunkType?: ChunkType, }, - colors: boolean, ): BundleStats { const size = typeof info.size === 'number' ? info.size : '-'; const files = info.files.filter(f => !f.endsWith('.map')).map(f => path.basename(f)).join(', '); const names = info.names?.length ? info.names.join(', ') : '-'; const initial = !!(info.entry || info.initial); + const chunkType = info.chunkType || 'unknown'; return { + chunkType, initial, stats: [files, names, size], } @@ -65,9 +70,11 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean, showTotal const changedEntryChunksStats: BundleStatsData[] = []; const changedLazyChunksStats: BundleStatsData[] = []; - let initialTotalSize = 0; + let initialModernTotalSize = 0; + let initialLegacyTotalSize = 0; + let modernFileSuffix: string | undefined; - for (const { initial, stats } of data) { + for (const { initial, stats, chunkType } of data) { const [files, names, size] = stats; const data: BundleStatsData = [ @@ -80,9 +87,23 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean, showTotal changedEntryChunksStats.push(data); if (typeof size === 'number') { - initialTotalSize += size; + switch (chunkType) { + case 'modern': + initialModernTotalSize += size; + if (!modernFileSuffix) { + const match = files.match(/-(es20\d{2}|esnext)/); + modernFileSuffix = match?.[1].toString().toUpperCase(); + } + break; + case 'legacy': + initialLegacyTotalSize += size; + break; + default: + initialModernTotalSize += size; + initialLegacyTotalSize += size; + break; + } } - } else { changedLazyChunksStats.push(data); } @@ -99,7 +120,14 @@ function generateBuildStatsTable(data: BundleStats[], colors: boolean, showTotal if (showTotalSize) { bundleInfo.push([]); - bundleInfo.push([' ', 'Initial Total', formatSize(initialTotalSize)].map(bold)); + if (initialModernTotalSize === initialLegacyTotalSize) { + bundleInfo.push([' ', 'Initial Total', formatSize(initialModernTotalSize)].map(bold)); + } else { + bundleInfo.push( + [' ', 'Initial ES5 Total', formatSize(initialLegacyTotalSize)].map(bold), + [' ', `Initial ${modernFileSuffix} Total`, formatSize(initialModernTotalSize)].map(bold), + ); + } } } @@ -142,7 +170,7 @@ function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]) const assets = json.assets.filter((asset: any) => chunk.files.includes(asset.name)); const summedSize = assets.filter((asset: any) => !asset.name.endsWith(".map")).reduce((total: number, asset: any) => { return total + asset.size }, 0); - changedChunksStats.push(generateBundleStats({ ...chunk, size: summedSize }, colors)); + changedChunksStats.push(generateBundleStats({ ...chunk, size: summedSize })); } unchangedChunkNumber = json.chunks.length - changedChunksStats.length; } diff --git a/tests/legacy-cli/e2e/tests/basic/build.ts b/tests/legacy-cli/e2e/tests/basic/build.ts index 94bb74df0fb6..fee2be7abcf5 100644 --- a/tests/legacy-cli/e2e/tests/basic/build.ts +++ b/tests/legacy-cli/e2e/tests/basic/build.ts @@ -19,10 +19,18 @@ export default async function() { 'IE 11', ); // Production build - const { stderr: stderrProgress } = await ng('build', '--prod', '--progress'); + const { stderr: stderrProgress, stdout } = await ng('build', '--prod', '--progress'); await expectFileToMatch('dist/test-project/index.html', /main-es5\.[a-zA-Z0-9]{20}\.js/); await expectFileToMatch('dist/test-project/index.html', /main-es2015\.[a-zA-Z0-9]{20}\.js/); + if (!stdout.includes('Initial ES5 Total')) { + throw new Error(`Expected stdout not to contain 'Initial ES5 Total' but it did.\n${stdout}`); + } + + if (!stdout.includes('Initial ES2015 Total')) { + throw new Error(`Expected stdout not to contain 'Initial ES2015 Total' but it did.\n${stdout}`); + } + const logs: string[] = [ 'Browser application bundle generation complete', 'ES5 bundle generation complete', From 8e8a51c3fa95631448caeeca1842c5320d1743b0 Mon Sep 17 00:00:00 2001 From: cexbrayat Date: Thu, 12 Nov 2020 15:05:33 +0100 Subject: [PATCH 181/696] fix(@schematics/angular): remove trailing comma in karma conf We usually don't have trailing commas in the generated code of the CLI (and this one makes the linter/formatter angry). --- .../schematics/angular/application/files/karma.conf.js.template | 2 +- .../schematics/angular/library/files/karma.conf.js.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schematics/angular/application/files/karma.conf.js.template b/packages/schematics/angular/application/files/karma.conf.js.template index d9c1c9a1c255..9d541c810afa 100644 --- a/packages/schematics/angular/application/files/karma.conf.js.template +++ b/packages/schematics/angular/application/files/karma.conf.js.template @@ -21,7 +21,7 @@ module.exports = function (config) { reporters: [ { type: 'html' }, { type: 'text-summary' } - ], + ] }, reporters: ['progress', 'kjhtml'], port: 9876, diff --git a/packages/schematics/angular/library/files/karma.conf.js.template b/packages/schematics/angular/library/files/karma.conf.js.template index dc007689baf4..5b7c002e406d 100644 --- a/packages/schematics/angular/library/files/karma.conf.js.template +++ b/packages/schematics/angular/library/files/karma.conf.js.template @@ -21,7 +21,7 @@ module.exports = function (config) { reporters: [ { type: 'html' }, { type: 'text-summary' } - ], + ] }, reporters: ['progress', 'kjhtml'], port: 9876, From 73542ada4517547053e5863d165bafec463f6965 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 06:11:03 +0000 Subject: [PATCH 182/696] build: update license-checker-webpack-plugin to version 0.1.6 --- package.json | 2 +- yarn.lock | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c81ea8907307..779bc8660a8d 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "less": "3.12.2", "less-loader": "7.1.0", "license-checker": "^25.0.0", - "license-checker-webpack-plugin": "0.1.5", + "license-checker-webpack-plugin": "0.1.6", "loader-utils": "2.0.0", "mini-css-extract-plugin": "1.3.0", "minimatch": "3.0.4", diff --git a/yarn.lock b/yarn.lock index ee84b1855ad0..ace6b788608a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7373,12 +7373,13 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-checker-webpack-plugin@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/license-checker-webpack-plugin/-/license-checker-webpack-plugin-0.1.5.tgz#5f09b91098b53f986c74f02d81258aa691b2956e" - integrity sha512-UkQiBPva59iJqWJ1eF0CuOpvIHUehOyojjVkI2Q1a9Bv4tR1g0BpBRamqjKoCPDNoE53Y5f1znhQ6k81LGEBwQ== +license-checker-webpack-plugin@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/license-checker-webpack-plugin/-/license-checker-webpack-plugin-0.1.6.tgz#deae7457a4804a71eb60b82ec31d2aca150665ff" + integrity sha512-pB1lBaQONqMzuNdc9BqB/s3h0K/fF2agPEagwoDxEa7me3kS98RVvCAZiAX9xXasZ6sSeMStz+zfUuzF/huW4w== dependencies: "@hapi/joi" "^16.1.7" + glob "^7.1.6" lodash.template "^4.5.0" minimatch "^3.0.4" semver "^6.3.0" From 88a379452460ed81a262a952d8a1735ff10f04ec Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Nov 2020 18:34:08 +0100 Subject: [PATCH 183/696] fix(@angular-devkit/build-angular): show missing karma-coverage error when it's not configured This fixes an issue where previously `karma-coverage must be installed in order to run code coverage` error was shown incorrectly. Closes: #19359 --- .../build_angular/src/webpack/plugins/karma.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts index ae7876f027ac..898d1363d512 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma.ts @@ -99,14 +99,13 @@ const init: any = (config: any, emitter: any, customFileHandlers: any) => { const hasIstanbulReporter = reporters.includes('coverage-istanbul'); if (hasCoveragePlugin && !hasCoverageReporter) { reporters.push('coverage'); - } - else if (hasIstanbulPlugin && !hasIstanbulReporter) { + } else if (hasIstanbulPlugin && !hasIstanbulReporter) { // coverage-istanbul is deprecated in favor of karma-coverage reporters.push('coverage-istanbul'); + } else if (!hasCoveragePlugin && !hasIstanbulPlugin) { + throw new Error('karma-coverage must be installed in order to run code coverage.'); } - else { - throw new Error('karma-coverage must be installed in order to run code coverage'); - } + if (hasIstanbulPlugin) { logger.warn(`'karma-coverage-istanbul-reporter' usage has been deprecated since version 11.\n` + `Please install 'karma-coverage' and update 'karma.conf.js.' ` + From 644c2d738d8b62b63f5e0dfd72daf834a31b55d5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 Nov 2020 12:09:20 -0500 Subject: [PATCH 184/696] fix(@schematics/angular): migrate project dependencies to new project versions This change reuses the v10 migration with update package versions to ensure that an updated project matches the development dependency versions of a newly generated project. --- .../migrations/migration-collection.json | 5 ++ .../update-11/update-dependencies.ts | 51 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 packages/schematics/angular/migrations/update-11/update-dependencies.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 3c07751fc1c0..0710dc776f88 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -119,6 +119,11 @@ "version": "11.0.0-next.8", "factory": "./update-11/update-angular-config", "description": "Remove deprecated options from 'angular.json' that are no longer present in v11." + }, + "update-workspace-dependencies-v11": { + "version": "11.0.0", + "factory": "./update-11/update-dependencies", + "description": "Update workspace dependencies to match a new v11 project." } } } diff --git a/packages/schematics/angular/migrations/update-11/update-dependencies.ts b/packages/schematics/angular/migrations/update-11/update-dependencies.ts new file mode 100644 index 000000000000..1ad1d5c6b9e4 --- /dev/null +++ b/packages/schematics/angular/migrations/update-11/update-dependencies.ts @@ -0,0 +1,51 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import { Rule } from '@angular-devkit/schematics'; +import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; +import { + addPackageJsonDependency, + getPackageJsonDependency, +} from '../../utility/dependencies'; +import { latestVersions } from '../../utility/latest-versions'; + +export default function (): Rule { + return (host, context) => { + const dependenciesToUpdate: Record = { + '@types/jasmine': '~3.6.0', + 'codelyzer': '^6.0.0', + 'jasmine-core': '~3.6.0', + 'jasmine-spec-reporter': '~5.0.0', + 'karma-chrome-launcher': '~3.1.0', + 'karma-coverage': '~2.0.3', + 'karma-jasmine': '~4.0.0', + 'karma-jasmine-html-reporter': '^1.5.0', + 'tslib': '^2.0.0', + }; + + let hasChanges = false; + for (const [name, version] of Object.entries(dependenciesToUpdate)) { + const current = getPackageJsonDependency(host, name); + if (!current || current.version === version) { + continue; + } + + addPackageJsonDependency(host, { + type: current.type, + name, + version, + overwrite: true, + }); + + hasChanges = true; + } + + if (hasChanges) { + context.addTask(new NodePackageInstallTask()); + } + }; +} From 91bb4b8606d058173b7745953231bff80d88749d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 Nov 2020 12:14:07 -0500 Subject: [PATCH 185/696] fix(@angular-devkit/build-angular): add update package group for codelyzer This change ensures that codelyzer will be updated (if present) to a compatible version when build-angular is updated. This should help reduce the frequency of update errors related to peer dependency mismatches. --- packages/angular_devkit/build_angular/package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index aeee15f70d2f..9da3cc113f0c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -102,5 +102,10 @@ "tslint": { "optional": true } + }, + "ng-update": { + "packageGroup": { + "codelyzer": "^6.0.0" + } } } From d024cea6552c2bceb422d72115cabef52c3e0271 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 17:25:31 +0000 Subject: [PATCH 186/696] build: update webpack-sources to version 2.2.0 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- .../build_optimizer/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 20 ++++++------------- 5 files changed, 10 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 779bc8660a8d..99917efb50ab 100644 --- a/package.json +++ b/package.json @@ -232,7 +232,7 @@ "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", "webpack-merge": "5.4.0", - "webpack-sources": "2.0.1", + "webpack-sources": "2.2.0", "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0", "zone.js": "^0.10.2" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9da3cc113f0c..c63ad20f38c9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -73,7 +73,7 @@ "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", "webpack-merge": "5.4.0", - "webpack-sources": "2.0.1", + "webpack-sources": "2.2.0", "webpack-subresource-integrity": "1.5.2", "worker-plugin": "5.0.0" }, diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json index 1e0fa11b7f15..60dfd2500f1b 100644 --- a/packages/angular_devkit/build_optimizer/package.json +++ b/packages/angular_devkit/build_optimizer/package.json @@ -13,6 +13,6 @@ "source-map": "0.7.3", "tslib": "2.0.3", "typescript": "4.0.5", - "webpack-sources": "2.0.1" + "webpack-sources": "2.2.0" } } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 535a787fc152..24af61247091 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -23,7 +23,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0", "enhanced-resolve": "5.3.1", - "webpack-sources": "2.0.1" + "webpack-sources": "2.2.0" }, "peerDependencies": { "@angular/compiler-cli": "^11.0.0 || ^11.0.0-next", diff --git a/yarn.lock b/yarn.lock index ace6b788608a..45e4f1199250 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6509,7 +6509,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.1.0: +is-core-module@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== @@ -10480,15 +10480,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@1.18.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -12732,10 +12724,10 @@ webpack-merge@5.4.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.0.1.tgz#1467f6e692ddce91e88b8044c44347b1087bbd4f" - integrity sha512-A9oYz7ANQBK5EN19rUXbvNgfdfZf5U2gP0769OXsj9CvYkCR6OHOsd6OKyEy4H38GGxpsQPKIL83NC64QY6Xmw== +webpack-sources@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== dependencies: source-list-map "^2.0.1" source-map "^0.6.1" From 5222a2e9b3c1c1e5e9af7353a4803ded0905c660 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 10 Nov 2020 11:11:07 +0100 Subject: [PATCH 187/696] test(@angular-devkit/build-angular): add css file so that a sourcemap can be generated when optimization is enabled --- .../build_angular/src/browser/specs/output-hashing_spec.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/browser/specs/output-hashing_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/output-hashing_spec.ts index a557117f7614..e13ed05fbabe 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/output-hashing_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/output-hashing_spec.ts @@ -177,6 +177,8 @@ describe('Browser Builder output hashing', () => { }); it('does not hash non injected styles when optimization is enabled', async () => { + host.writeMultipleFiles({ 'src/styles.css': 'body { background: blue; }' }); + const overrides = { outputHashing: 'all', extractCss: true, From 251b53672e500f483ff5669e6f36b995e09c02c5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 Nov 2020 20:09:12 +0000 Subject: [PATCH 188/696] build: update angular packages --- package.json | 30 ++--- .../hello-world-lib/projects/lib/package.json | 4 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 ++--- yarn.lock | 116 +++++++++--------- 5 files changed, 92 insertions(+), 92 deletions(-) diff --git a/package.json b/package.json index 99917efb50ab..85cc86809669 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ ] }, "devDependencies": { - "@angular/animations": "11.0.0-rc.2", - "@angular/cdk": "10.2.7", - "@angular/common": "11.0.0-rc.2", - "@angular/compiler": "11.0.0-rc.2", - "@angular/compiler-cli": "11.0.0-rc.2", - "@angular/core": "11.0.0-rc.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414", - "@angular/forms": "11.0.0-rc.2", - "@angular/localize": "11.0.0-rc.2", - "@angular/material": "10.2.7", - "@angular/platform-browser": "11.0.0-rc.2", - "@angular/platform-browser-dynamic": "11.0.0-rc.2", - "@angular/platform-server": "11.0.0-rc.2", - "@angular/router": "11.0.0-rc.2", - "@angular/service-worker": "11.0.0-rc.2", + "@angular/animations": "11.0.0", + "@angular/cdk": "11.0.0", + "@angular/common": "11.0.0", + "@angular/compiler": "11.0.0", + "@angular/compiler-cli": "11.0.0", + "@angular/core": "11.0.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82", + "@angular/forms": "11.0.0", + "@angular/localize": "11.0.0", + "@angular/material": "11.0.0", + "@angular/platform-browser": "11.0.0", + "@angular/platform-browser-dynamic": "11.0.0", + "@angular/platform-server": "11.0.0", + "@angular/router": "11.0.0", + "@angular/service-worker": "11.0.0", "@babel/core": "7.12.3", "@babel/generator": "7.12.1", "@babel/plugin-transform-runtime": "7.12.1", diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json index c6c6efd446f6..5917d86fecca 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json @@ -2,7 +2,7 @@ "name": "lib", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^10.0.0", - "@angular/core": "^10.0.0" + "@angular/common": "^11.0.0", + "@angular/core": "^11.0.0" } } \ No newline at end of file diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 24af61247091..00055ab481ea 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,8 +31,8 @@ "webpack": "^4.0.0" }, "devDependencies": { - "@angular/compiler": "11.0.0-rc.2", - "@angular/compiler-cli": "11.0.0-rc.2", + "@angular/compiler": "11.0.0", + "@angular/compiler-cli": "11.0.0", "typescript": "4.0.5", "webpack": "4.44.2" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 055b5e3cce0d..0e0e7630b870 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7e7c65fb1c9c223987f7b22efa672e16fc073d80", - "@angular/cdk": "github:angular/cdk-builds#484829947b77523816b5bbc7727063377ea6e0f4", - "@angular/common": "github:angular/common-builds#d950eda8e12b488e3ac11f997fd8e9aab08e75f9", - "@angular/compiler": "github:angular/compiler-builds#d475bcca3beb7b9282079eeae8a20f890f39fda5", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2d9f38dc3c7563fff6fa9b3f052433c9f445682f", - "@angular/core": "github:angular/core-builds#7d142e62a3b1e211740687af4d8491147c4dab1a", - "@angular/forms": "github:angular/forms-builds#12134a930fa0fc1a1f34b11ce2ed7e571acf3475", - "@angular/language-service": "github:angular/language-service-builds#c4b10e710c6d2f21dbdfa7afb03680d076fe3be9", - "@angular/localize": "github:angular/localize-builds#776ba6ef8e72a09577cde3f7edcf9d4581689f0c", - "@angular/material": "github:angular/material2-builds#3bdf098e7d178ab42e00630c1bed165f0653bf5e", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#554d0823a303ccd978b0ec7c8cd45ef4e3ae9280", - "@angular/platform-browser": "github:angular/platform-browser-builds#01bd18f270652195dfa3c9c14ee1f95868fa3e9d", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7306cd01e919ea058811751b5119935301b5085c", - "@angular/platform-server": "github:angular/platform-server-builds#8bde272c01696be90ce245edefe77f974599fcf3", - "@angular/router": "github:angular/router-builds#a605427323927f3621d55f1e54bf5742e31875e0" + "@angular/animations": "github:angular/animations-builds#43dba186fc0818516d4af98e40c994ac11eaadbf", + "@angular/cdk": "github:angular/cdk-builds#bf6c95a73be74c2c74d5e2af08384065f8e897d7", + "@angular/common": "github:angular/common-builds#a389ba6fd87dab9cb27e937cc4fbce83cc2adea7", + "@angular/compiler": "github:angular/compiler-builds#41b4955147522ad4c6a70ac8015e5b0bb4f9c6b2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#bbe25bb7e916fd7a8a27d44d99081485ab11bc9e", + "@angular/core": "github:angular/core-builds#0b34bb97fadbf5a015befc7507f38ef784d80fb0", + "@angular/forms": "github:angular/forms-builds#f60c704558c2761c8f7ca1c5eb7ceb14a164bfb9", + "@angular/language-service": "github:angular/language-service-builds#6b4607a38577b65f6c27e931da5e73b0c5a3f9b0", + "@angular/localize": "github:angular/localize-builds#63b8b57d64379b203b3018f6d277b00f34904e43", + "@angular/material": "github:angular/material2-builds#0727c30b08f6c8f35bc8b9cd8c1fa973734b3ab4", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c637670ad15542fe0c9e4e0340213da853c2ff79", + "@angular/platform-browser": "github:angular/platform-browser-builds#04453730b8f5b4307ca734ea796082d662d14c14", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7b80c574214f36e8ac1012d4164489ffd38b75c1", + "@angular/platform-server": "github:angular/platform-server-builds#ee8ed0d8bf0a84952387bf85e1ee6b3abd50d9d5", + "@angular/router": "github:angular/router-builds#ed35c1c59aa2995fee0260bc195cd396b6c58246" } } diff --git a/yarn.lock b/yarn.lock index 45e4f1199250..63b4c559864f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@angular/animations@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0-rc.2.tgz#c32bd2c84d76e05ff056af3adf8158a223da2537" - integrity sha512-eu4oJ9zj1WnMWnP4bFg26Za+DbNkN2WWPGNHcKuYqVfukY/vw2MjAvS6A203SU1Db3DPwW3I73uJLcXXiI99pw== +"@angular/animations@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.0.tgz#6f567930dca8eb8ab1320f1f48feb981493b86c6" + integrity sha512-RGaAnZOI73bPnNWrJq/p8sc+hpUBhScq139M6r4qQjQPsPahazL6v6hHAgRhZNemqw164d1oE4K/22O/i0E3Tw== dependencies: tslib "^2.0.0" @@ -17,26 +17,26 @@ "@angular/core" "^10.0.0-0 || ^11.0.0" reflect-metadata "^0.1.13" -"@angular/cdk@10.2.7": - version "10.2.7" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.7.tgz#0ff82eb91b2653ea26909c57a460d4593b44f186" - integrity sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ== +"@angular/cdk@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-11.0.0.tgz#7ec0fc8b5051c54f4a3910e61f1ee7d30796c2d2" + integrity sha512-kfgEE/LDYMZB4NICChzWn/nTEeoZ3wxrYsDDcy2Qj+57zUmJcxBLL1h+tawYCy3a1g7ypDLYX7yrbPEBE7/EXQ== dependencies: tslib "^2.0.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0-rc.2.tgz#960d00c1df246b73b0f93bc44738094fec47dda2" - integrity sha512-oMPXaIGJ+nrX7sxEoTEEtpd5K6jUmL0LO+m63s+WdrLu04VNpMt49IsrlFe2qHO8yxJHsXqIPt7nMEVBnMNRCA== +"@angular/common@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.0.tgz#cc2a14b36c56f6c4d93427c2f8c17f55e4b464c9" + integrity sha512-chlbtxR7jpPs3Rc1ymdp3UfUzqEr57OFIxVMG6hROODclPQQk/7oOHdQB4hpUObaF9y4ZTLeKHKWiR/twi21Pg== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0-rc.2.tgz#df952a52b9c7b1bad7237ab9328478c83ee0f00a" - integrity sha512-Z8fw7z6wCvFu5zagSTT0blx0RvNmxUU1TZRYN2NERq94w7pNWDf2dpfkG59/dLufxvO3lSCHv7+a4BrxvqgQ9g== +"@angular/compiler-cli@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0.tgz#ff4c2c16284a31a4f8ff1d224f593f64a1458234" + integrity sha512-zrd/cU9syZ8XuQ3ItfIGaKDn1ZBCWyiqdLVRH9VDmyNqQFiCc/VWQ9Th9z8qpLptgdpzE9+lKFgeZJTDtbcveQ== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -54,10 +54,10 @@ tslib "^2.0.0" yargs "15.3.0" -"@angular/compiler@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0-rc.2.tgz#9633840cbc437386aeb2e72f0257d95d4ebd981d" - integrity sha512-je/wBg6jDmoN64mYv+d45Cvb+X2g74+hOQUwPQB3CXKKFGBwjjtGIowghIvRHGhbf1JR0bJx3jQUravE1VriNQ== +"@angular/compiler@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0.tgz#b49997d0130e7c8cfe84fa73e5610892f4a772af" + integrity sha512-I7wVhdqvhtBTQTtW61z0lwPb1LiQQ0NOwjsbfN5sAc7/uwxw7em+Kyb/XJgBwgaTKtAL8bZEzdoQGLdsSKQF2g== dependencies: tslib "^2.0.0" @@ -66,10 +66,10 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0-rc.2.tgz#754f8d3a3360772e30880ea45917242880309d63" - integrity sha512-10ndk2663dFa59eVXuQZJ2lY95t9nvQh3D0O/oObbjYa6fYvkzOxlNA+THX3NjkZY+pGXmWUFxpShYrGJhdqWg== +"@angular/core@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0.tgz#cdb89f3877f6e5487a0e5f18d234447ec41e8184" + integrity sha512-FNewyMwYy+kGdw1xWfrtaPD2cSQs3kDVFbl8mNMSzp933W5yMsHDvjXb0+nPFqEb8ywEIdm3MsBMK0y3iBWZQw== dependencies: tslib "^2.0.0" @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#fe3b24a9a98efd7214dfac12f4d820d1de0ec414" + resolved "https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" @@ -117,63 +117,63 @@ yaml "^1.10.0" yargs "^15.4.1" -"@angular/forms@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0-rc.2.tgz#54a93cc9e360af6c1339a9f31a4376241b408939" - integrity sha512-ft+Lo6LahvlJmfO3GEgQPxl7voHxdvcpy/JGdSSch61cO1s+UJTpQfTA4Rz4OS98ZFM/bmvutkKi/6J3Z0espg== +"@angular/forms@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.0.tgz#fd9e167024e92df17ff98714ccae322ac4fbc1ab" + integrity sha512-hP6GF1ZkxKQp7Y+EVbEe9PPDQPrUQNdfVxphCWQYwu3tm8+tn1r91KVXkp2MA3M4Fh6Xo2HQEU2d+VXv4w0iNQ== dependencies: tslib "^2.0.0" -"@angular/localize@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0-rc.2.tgz#be0cf92f9602b4e59863ef7f54e58b30c5b82c4b" - integrity sha512-MrAA/JvoE2pmb2VkCqDheCqyaBUixv8XEU2Q4cS0CY1A58zQPD176yxchQRSy5Czd3iD7qYFz5y2W0rVXWQfuA== +"@angular/localize@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.0.tgz#8fcb2a322d030cb2ffd4a35befaabe730f7e5fd8" + integrity sha512-jd23nuy1//DLUoaLRh/dj7C3Mb1z9i4hrirOOFDvErWDvydJJf4gM5GvEM72Mle4nVjMsRdEZJYN8Of8EWJXSQ== dependencies: "@babel/core" "7.8.3" glob "7.1.2" yargs "15.3.0" -"@angular/material@10.2.7": - version "10.2.7" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.7.tgz#b84aeeca997dc64fbcc7969540e22434315bab68" - integrity sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA== +"@angular/material@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-11.0.0.tgz#6ef7048763e7415dabda54d32847b2821bf6413d" + integrity sha512-pTwYmBrRXbEzF5J/oayZF0ApA0tLN+CUl/2MaYFNLzvE/Kn6hIdDb7TonWAEBgeSHIzqzyTV8IUQuXwGaPds9A== dependencies: tslib "^2.0.0" -"@angular/platform-browser-dynamic@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0-rc.2.tgz#ae073f1ee715b60e992ad3d38d5ede23df829fe7" - integrity sha512-cbmQ5bL9+f6lWEAHTHVw43dmcgZQe8oz9s58vLlI+dAA29KHowmKECP4STj7//KDUC0T5Ay7pd4N5OsgdeRFew== +"@angular/platform-browser-dynamic@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0.tgz#630d77a0c853bcc2c80c30dfe6c101d6c7fe4ac1" + integrity sha512-NAmKGhHK+tl7dr/Hcqxvr/813Opec3Mv0IRwIgmKdlpZd7qAwT/mw4RnO4YPSEoDOM6hqGt7GdlWrSDX802duQ== dependencies: tslib "^2.0.0" -"@angular/platform-browser@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0-rc.2.tgz#4f898bbabfefa9f0f7649ea1eff6d22c7e461dcd" - integrity sha512-VvMvGXZo9NubQiHs2E45Vlx4juHfSCIZ+RyMigz/XJmPUaF2nyjXThQHMI0TQ18tNWwQ0VNL0n9P62ry7NCsbw== +"@angular/platform-browser@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.0.tgz#314a0362e63ac7eef80adebfc5fbe4e7f2aa2a73" + integrity sha512-p8sF6JfaBI+YyLpp5OSg6UcCqjtLKRR+Otq1P/tro5SuxrsrBNRVU8j0tl/crkScsMwAvgmJ1joRyUKdI2mUGQ== dependencies: tslib "^2.0.0" -"@angular/platform-server@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0-rc.2.tgz#09518a3058eb266784fe5215b96c568658750c63" - integrity sha512-3XPJBaX3mrXwVh9GkvAvVuDgLTY7kNxl9/IpBnwa6kOfukrtRof5ELAvgXnlwwWoLFSH+7rLwVmCcBsWshgHAw== +"@angular/platform-server@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-11.0.0.tgz#aca53c70e1e7010a5dd1e730c1cabd317e57b2af" + integrity sha512-0LsA4u5kCDKMOxcWf4HFH3PNYIhFcnzP/TYqYfIkY/GpQeC5agxWzddJofNi7g/Lh1UoK5hzf+3Ewn3o/aBxjA== dependencies: domino "^2.1.2" tslib "^2.0.0" xhr2 "^0.2.0" -"@angular/router@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0-rc.2.tgz#ede92e114955f0eb78c7d4d0cd76e0e644d5fcd4" - integrity sha512-oJX/e3IL3kFWR5YwIEtgXzcmSp9X6JIyoLWR7f5RyfzqC+p9o1CyPGdYPvhja9u2QkUlCx+Hobbfxs5arCfUKw== +"@angular/router@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.0.tgz#59e855b0d34c4578e0556e181f2f28048fb0d5a8" + integrity sha512-10ZeobfK3HqVeWS6zjdKU16ccxFtdCHkxT11bnFg3Jwq9vKt+LI5KitAkCI5rYTY3DRfVzasRkqBzZfZMkbftw== dependencies: tslib "^2.0.0" -"@angular/service-worker@11.0.0-rc.2": - version "11.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0-rc.2.tgz#a9f34190ce86fe8de2fd53fa4b4549541674c06c" - integrity sha512-rWh9EtXfFjl8riov4q+ET94mXJGxGb5KH4LwOfKN/4TKCYyfx03QVyChDH9GxRnolq6sjSeKhI9c0ni3n7dvjA== +"@angular/service-worker@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-11.0.0.tgz#16818850529856f5a6812634b10294e99b54585e" + integrity sha512-elGlO2CxYZs0/p9I/gj4c7IPh+P4bpvMiF1BVMXU1Mj09Obvn0hHk9thhekdfKcYOQbvdZhn0wmrbYyxDifAqw== dependencies: tslib "^2.0.0" From 6b5024bae52b044d3f88697dab960c5e84aca6a8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 13 Nov 2020 07:08:37 +0000 Subject: [PATCH 189/696] build: update mini-css-extract-plugin to version 1.3.1 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 20 +++++++++++++------ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 85cc86809669..f64c2ca015a3 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "license-checker": "^25.0.0", "license-checker-webpack-plugin": "0.1.6", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.3.0", + "mini-css-extract-plugin": "1.3.1", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "~11.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c63ad20f38c9..ca00844550ea 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,7 +40,7 @@ "less-loader": "7.1.0", "license-webpack-plugin": "2.3.1", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.3.0", + "mini-css-extract-plugin": "1.3.1", "minimatch": "3.0.4", "open": "7.3.0", "ora": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 63b4c559864f..7afc200b5e81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6509,7 +6509,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0: +is-core-module@^2.0.0, is-core-module@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== @@ -8022,10 +8022,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.0.tgz#bbcba978b68c39f0a9c75822cfb2874f9cf6b018" - integrity sha512-4DKmPwFd0XKlwoqvrkLi2X8Mlosh2ey/E/OVAucnPUdzGqrSWHgSqed/p4Ue2Q39JjIvcdSDgmZDO6mir5Ovmw== +mini-css-extract-plugin@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.1.tgz#1375c88b2bc2a9d197670a55761edcd1b5d72f21" + integrity sha512-jIOheqh9EU98rqj6ZaFTYNNDSFqdakNqaUZfkYwaXPjI9batmXVXX+K71NrqRAgtoGefELBMld1EQ7dqSAD5SQ== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -10480,7 +10480,15 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.18.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== From a8b264569f017013b081d71624e76b8c058eb949 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 13 Nov 2020 06:11:17 +0000 Subject: [PATCH 190/696] build: update @types/babel__template to version 7.4.0 --- package.json | 2 +- yarn.lock | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f64c2ca015a3..1c981e656cc2 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@bazel/typescript": "2.2.2", "@jsdevtools/coverage-istanbul-loader": "3.0.3", "@types/babel__core": "7.1.12", - "@types/babel__template": "7.0.3", + "@types/babel__template": "7.4.0", "@types/browserslist": "^4.4.0", "@types/cacache": "^12.0.1", "@types/caniuse-lite": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 7afc200b5e81..4e13b6ddb4e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1458,7 +1458,7 @@ dependencies: "@babel/types" "^7.0.0" -"@types/babel__template@*", "@types/babel__template@7.0.3": +"@types/babel__template@*": version "7.0.3" resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" integrity sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q== @@ -1466,6 +1466,14 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" +"@types/babel__template@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__traverse@*": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" From 53193eaf77aeb1ab1813f8953de74c736c004bb9 Mon Sep 17 00:00:00 2001 From: cexbrayat Date: Thu, 12 Nov 2020 14:12:09 +0100 Subject: [PATCH 191/696] fix(@schematics/angular): remove duplicated Karma traces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, Karma is reporting a failed test and the total twice in a bare CLI project: ``` 12 11 2020 13:59:46.666:INFO [launcher]: Starting browser Chrome ✔ Browser application bundle generation complete. 12 11 2020 13:59:50.457:INFO [Chrome 86.0.4240.198 (Mac OS 10.15.7)]: Connected on socket F0ehOBWL6BYFqXfbAAAA with id 69358036 Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED Error: Expected 'ponyracer app is running!' to contain 'other'. at at UserContext. (src/app/app.component.spec.ts:29:65) at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1) at ProxyZoneSpec.push.QpwO.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/zone-testing.js:292:1) Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 2 of 3 (1 FAILED) (0 secs / 0.231 secs) Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED Error: Expected 'ponyracer app is running!' to contain 'other'. at at UserContext. (src/app/app.component.spec.ts:29:65) at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1) Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 3 of 3 (1 FAILED) (0.309 secs / 0.242 secs) TOTAL: 1 FAILED, 2 SUCCESS TOTAL: 1 FAILED, 2 SUCCESS ``` This is a bit annoying when you have several tests failing, and tend to confuse beginners. This commit configures the Karma HTML reporter to suppress the duplicates (both error and success), which results in only one reporter showing the failed test and total: ``` 12 11 2020 14:01:43.002:INFO [launcher]: Starting browser Chrome ✔ Browser application bundle generation complete. 12 11 2020 14:01:58.728:INFO [Chrome 86.0.4240.198 (Mac OS 10.15.7)]: Connected on socket Pc0xPggxJPdC8E_LAAAA with id 54797430 Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED Error: Expected 'ponyracer app is running!' to contain 'other'. at at UserContext. (src/app/app.component.spec.ts:29:65) at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1) at ProxyZoneSpec.push.QpwO.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/zone-testing.js:292:1) Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 3 of 3 (1 FAILED) (0.331 secs / 0.252 secs) TOTAL: 1 FAILED, 2 SUCCESS ``` --- integration/angular_cli/karma.conf.js | 3 +++ .../build_angular/test/hello-world-app/karma.conf.js | 3 +++ .../test/hello-world-lib/projects/lib/karma.conf.js | 3 +++ .../angular/application/files/karma.conf.js.template | 3 +++ .../schematics/angular/library/files/karma.conf.js.template | 3 +++ 5 files changed, 15 insertions(+) diff --git a/integration/angular_cli/karma.conf.js b/integration/angular_cli/karma.conf.js index a9c5297de149..646bfde5c8a6 100644 --- a/integration/angular_cli/karma.conf.js +++ b/integration/angular_cli/karma.conf.js @@ -18,6 +18,9 @@ module.exports = function (config) { client: { clearContext: false, // leave Jasmine Spec Runner output visible in browser }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, coverageReporter: { dir: path.join(__dirname, 'coverage'), subdir: '.', diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js index 9e73f21d849a..1b6b10b70e7c 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js @@ -25,6 +25,9 @@ module.exports = function(config) { client: { clearContext: false, // leave Jasmine Spec Runner output visible in browser }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, coverageReporter: { dir: path.join(__dirname, './coverage'), subdir: '.', diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js index 2f49ecb6df61..80b89d8439ac 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js @@ -22,6 +22,9 @@ module.exports = function (config) { client: { clearContext: false // leave Jasmine Spec Runner output visible in browser }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, coverageIstanbulReporter: { dir: require('path').join(__dirname, 'coverage'), reports: ['html', 'lcovonly'], diff --git a/packages/schematics/angular/application/files/karma.conf.js.template b/packages/schematics/angular/application/files/karma.conf.js.template index 9d541c810afa..8c012eef5745 100644 --- a/packages/schematics/angular/application/files/karma.conf.js.template +++ b/packages/schematics/angular/application/files/karma.conf.js.template @@ -15,6 +15,9 @@ module.exports = function (config) { client: { clearContext: false // leave Jasmine Spec Runner output visible in browser }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, coverageReporter: { dir: require('path').join(__dirname, '<%= relativePathToWorkspaceRoot %>/coverage/<%= appName%>'), subdir: '.', diff --git a/packages/schematics/angular/library/files/karma.conf.js.template b/packages/schematics/angular/library/files/karma.conf.js.template index 5b7c002e406d..7d8d58d39315 100644 --- a/packages/schematics/angular/library/files/karma.conf.js.template +++ b/packages/schematics/angular/library/files/karma.conf.js.template @@ -15,6 +15,9 @@ module.exports = function (config) { client: { clearContext: false // leave Jasmine Spec Runner output visible in browser }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, coverageReporter: { dir: require('path').join(__dirname, '<%= relativePathToWorkspaceRoot %>/coverage/<%= folderName %>'), subdir: '.', From 715a7a5570d56bc8e76b9d25edf0e48a098e9ca0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 13 Nov 2020 14:15:14 +0100 Subject: [PATCH 192/696] fix(@angular-devkit/build-angular): allow json files in fileReplacement JSON files a can also be valid fileReplacement when using the `resolveJsonModule` TypeScript feature. This causes JSON files to be resolved as JS modules and hence be part of the TypeScript program. Closes #19378 --- packages/angular/cli/lib/config/schema.json | 16 ++++++++-------- .../build_angular/src/browser/schema.json | 8 ++++---- .../build_angular/src/server/schema.json | 8 ++++---- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/angular/cli/lib/config/schema.json b/packages/angular/cli/lib/config/schema.json index 18d7b4a61775..3adcd6420694 100644 --- a/packages/angular/cli/lib/config/schema.json +++ b/packages/angular/cli/lib/config/schema.json @@ -1063,11 +1063,11 @@ "properties": { "src": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "replaceWith": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, @@ -1081,11 +1081,11 @@ "properties": { "replace": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "with": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, @@ -1960,11 +1960,11 @@ "properties": { "src": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "replaceWith": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, @@ -1978,11 +1978,11 @@ "properties": { "replace": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "with": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, diff --git a/packages/angular_devkit/build_angular/src/browser/schema.json b/packages/angular_devkit/build_angular/src/browser/schema.json index 2256b9c4e2ca..58605af68b24 100644 --- a/packages/angular_devkit/build_angular/src/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/browser/schema.json @@ -434,11 +434,11 @@ "properties": { "src": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "replaceWith": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, @@ -452,11 +452,11 @@ "properties": { "replace": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "with": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, diff --git a/packages/angular_devkit/build_angular/src/server/schema.json b/packages/angular_devkit/build_angular/src/server/schema.json index 93e216a3cf99..37156ab41d92 100644 --- a/packages/angular_devkit/build_angular/src/server/schema.json +++ b/packages/angular_devkit/build_angular/src/server/schema.json @@ -260,11 +260,11 @@ "properties": { "src": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "replaceWith": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, @@ -278,11 +278,11 @@ "properties": { "replace": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, "with": { "type": "string", - "pattern": "\\.([cm]?j|t)sx?$" + "pattern": "\\.(([cm]?j|t)sx?|json)$" } }, "additionalProperties": false, From 23928c6b9dfd7489bfe266e88da448895280b7a8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 13 Nov 2020 22:08:04 +0000 Subject: [PATCH 193/696] build: update angular packages --- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 30 +++++++++---------- yarn.lock | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 1c981e656cc2..639565448433 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "11.0.0", "@angular/compiler-cli": "11.0.0", "@angular/core": "11.0.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bcb47601677af33e95dcee1dda84f612b1bffae8", "@angular/forms": "11.0.0", "@angular/localize": "11.0.0", "@angular/material": "11.0.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 0e0e7630b870..6c4f1dd9711e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,20 +2,20 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#43dba186fc0818516d4af98e40c994ac11eaadbf", - "@angular/cdk": "github:angular/cdk-builds#bf6c95a73be74c2c74d5e2af08384065f8e897d7", - "@angular/common": "github:angular/common-builds#a389ba6fd87dab9cb27e937cc4fbce83cc2adea7", - "@angular/compiler": "github:angular/compiler-builds#41b4955147522ad4c6a70ac8015e5b0bb4f9c6b2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#bbe25bb7e916fd7a8a27d44d99081485ab11bc9e", - "@angular/core": "github:angular/core-builds#0b34bb97fadbf5a015befc7507f38ef784d80fb0", - "@angular/forms": "github:angular/forms-builds#f60c704558c2761c8f7ca1c5eb7ceb14a164bfb9", - "@angular/language-service": "github:angular/language-service-builds#6b4607a38577b65f6c27e931da5e73b0c5a3f9b0", - "@angular/localize": "github:angular/localize-builds#63b8b57d64379b203b3018f6d277b00f34904e43", - "@angular/material": "github:angular/material2-builds#0727c30b08f6c8f35bc8b9cd8c1fa973734b3ab4", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c637670ad15542fe0c9e4e0340213da853c2ff79", - "@angular/platform-browser": "github:angular/platform-browser-builds#04453730b8f5b4307ca734ea796082d662d14c14", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7b80c574214f36e8ac1012d4164489ffd38b75c1", - "@angular/platform-server": "github:angular/platform-server-builds#ee8ed0d8bf0a84952387bf85e1ee6b3abd50d9d5", - "@angular/router": "github:angular/router-builds#ed35c1c59aa2995fee0260bc195cd396b6c58246" + "@angular/animations": "github:angular/animations-builds#c113544b4713458df5c55bfc1d69c1af970833e1", + "@angular/cdk": "github:angular/cdk-builds#38d4ab23fbb847e0d6e31a75cfe5143709aed914", + "@angular/common": "github:angular/common-builds#b66e271d82e66ee3b9c2cff5647fed740d69e9ec", + "@angular/compiler": "github:angular/compiler-builds#986d60aa9c32a454fa22c1ac779fa7944d530ef2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8b0ed49496c2af24dc6cf7e9c6f1732b13c0195e", + "@angular/core": "github:angular/core-builds#5ae518b589de516338ee43c4bef67ee74c5a27d5", + "@angular/forms": "github:angular/forms-builds#03352545da5be50c5cfbb033c2055a8a478cf197", + "@angular/language-service": "github:angular/language-service-builds#c5f8ddc7bb9b3dce20dc74a315c8298294f6c1eb", + "@angular/localize": "github:angular/localize-builds#ae98e5035e3bd6807e41e74ecea7ccdbd870ae71", + "@angular/material": "github:angular/material2-builds#ed65ccf66797c3c5f7438d16937d0bdf29756b7d", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2e4d03b278ca9f36f61874a5c2e191c2c527f263", + "@angular/platform-browser": "github:angular/platform-browser-builds#1e9dbea4a956283cde2a96450a365ed1b28e9c4a", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c83b1eb26f4945bfb60c3e4aaed3c095da09c68d", + "@angular/platform-server": "github:angular/platform-server-builds#221fa5d9a46396ab520463d6820dbb9240700e8c", + "@angular/router": "github:angular/router-builds#d6d1ba162b0718a767c67f976bee73557e8f2fb4" } } diff --git a/yarn.lock b/yarn.lock index 4e13b6ddb4e6..7767aa08e425 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,9 +85,9 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82": +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bcb47601677af33e95dcee1dda84f612b1bffae8": version "0.0.0" - resolved "https://github.com/angular/dev-infra-private-builds.git#2e52b552f1252af1fec785f1f64714e61157ee82" + resolved "https://github.com/angular/dev-infra-private-builds.git#bcb47601677af33e95dcee1dda84f612b1bffae8" dependencies: "@angular/benchpress" "0.2.1" "@bazel/buildifier" "^0.29.0" From 9140f6089b7975f7dd4a5569e21d50bcf8f9f384 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 14 Nov 2020 06:07:23 +0000 Subject: [PATCH 194/696] build: update copy-webpack-plugin to version 6.3.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 639565448433..7af46765fb93 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "common-tags": "^1.8.0", "conventional-changelog": "^3.0.0", "conventional-commits-parser": "^3.0.0", - "copy-webpack-plugin": "6.3.0", + "copy-webpack-plugin": "6.3.1", "core-js": "3.7.0", "css-loader": "5.0.1", "cssnano": "4.1.10", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ca00844550ea..e9bd8cf100aa 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,7 +26,7 @@ "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "6.3.0", + "copy-webpack-plugin": "6.3.1", "core-js": "3.7.0", "css-loader": "5.0.1", "cssnano": "4.1.10", diff --git a/yarn.lock b/yarn.lock index 7767aa08e425..fe5f26f83e7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3918,10 +3918,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.0.tgz#91820b63bbde7d73609accb86dab7e7386863f6f" - integrity sha512-kQ2cGGQLO6Ov2fe7rEGVxObI17dPeFkv8bRGnUAGZehOcrrObyAR9yWYlFGlJsyWM4EeuC/ytQNQkXxjYotMzg== +copy-webpack-plugin@6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.1.tgz#ceb6e9c3e4910e63a774fd4a27451156775f6e2a" + integrity sha512-SyIMdP6H3v+zPU+VIhKRsK0ZEF82KZ93JBlKOoIW8SkkuI84FSrHxG+aMTE1u4csbi9PLRqqWTIK+bfJ2xsFuQ== dependencies: cacache "^15.0.5" fast-glob "^3.2.4" From 87a43e20dd4a17750467a5e2696abe1578dd2b94 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 14 Nov 2020 15:07:31 +0000 Subject: [PATCH 195/696] build: update rollup to version 2.33.2 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 7af46765fb93..dab72acbba61 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.33.1", + "rollup": "2.33.2", "rxjs": "6.6.3", "sass": "1.29.0", "sass-loader": "10.1.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e9bd8cf100aa..b0d8eecbe6ea 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.7", "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.33.1", + "rollup": "2.33.2", "rxjs": "6.6.3", "sass": "1.29.0", "sass-loader": "10.1.0", diff --git a/yarn.lock b/yarn.lock index fe5f26f83e7a..361f86212119 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10611,7 +10611,14 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.33.1, rollup@^2.8.0: +rollup@2.33.2: + version "2.33.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.2.tgz#c4c76cd405a7605e6ebe90976398c46d4c2ea166" + integrity sha512-QPQ6/fWCrzHtSXkI269rhKaC7qXGghYBwXU04b1JsDZ6ibZa3DJ9D1SFAYRMgx1inDg0DaTbb3N4Z1NK/r3fhw== + optionalDependencies: + fsevents "~2.1.2" + +rollup@^2.8.0: version "2.33.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== From e84e517b59e4e8c8674a5fc2eb411c85f75001cc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sat, 14 Nov 2020 21:03:34 +0100 Subject: [PATCH 196/696] fix(@angular/cli): remove @angular-devkit/build-ng-packagr from packageGroup This package is no longer released. --- packages/angular/cli/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 0fbe9b966a1d..27bca3a8e5f0 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -52,7 +52,6 @@ "packageGroup": { "@angular/cli": "0.0.0", "@angular-devkit/build-angular": "0.0.0", - "@angular-devkit/build-ng-packagr": "0.0.0", "@angular-devkit/build-webpack": "0.0.0", "@angular-devkit/core": "0.0.0", "@angular-devkit/schematics": "0.0.0" From 3acd694db3f6dcd2f6d9027b7959ebdede80153a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Sun, 15 Nov 2020 17:50:09 -0500 Subject: [PATCH 197/696] fix(@angular-devkit/build-angular): remove workaround for Webpack 5 sourcemaps The `webpack-sources` library no longer throws an error when used to process sourcemaps during differential loading. --- .../angular_devkit/build_angular/src/utils/process-bundle.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index a31e904e325c..92bcd42bef14 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -32,7 +32,6 @@ import { } from 'webpack-sources'; import { allowMangle, allowMinify, shouldBeautify } from './environment-options'; import { I18nOptions } from './i18n-options'; -import { isWebpackFiveOrHigher } from './webpack-version'; type LocalizeUtilities = typeof import('@angular/localize/src/tools/src/source_file_utils'); @@ -220,8 +219,7 @@ async function mergeSourceMaps( fast = false, ): Promise { // Webpack 5 terser sourcemaps currently fail merging with the high-quality method - // TODO_WEBPACK_5: Investigate high-quality sourcemap merge failures - if (fast || isWebpackFiveOrHigher()) { + if (fast) { return mergeSourceMapsFast(inputSourceMap, resultSourceMap); } From 48c7a85f0ae8ad760c9783ec87f9746741d24828 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 13 Nov 2020 15:15:59 -0500 Subject: [PATCH 198/696] refactor(@angular-devkit/build-angular): support postcss 8 This change updates the internal postcss plugins to use the postcss 8 API as well as updates the versions of all external plugins to postcss 8 supported versions. --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 6 +- .../webpack/plugins/postcss-cli-resources.ts | 34 +++++------ yarn.lock | 60 ++++++++++++++----- 4 files changed, 65 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index dab72acbba61..09fc18ff836d 100644 --- a/package.json +++ b/package.json @@ -186,8 +186,8 @@ "pidusage": "^2.0.17", "pnp-webpack-plugin": "1.6.4", "popper.js": "^1.14.1", - "postcss": "7.0.32", - "postcss-import": "12.0.1", + "postcss": "8.1.7", + "postcss-import": "13.0.0", "postcss-loader": "4.0.4", "prettier": "^2.0.0", "protractor": "~7.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b0d8eecbe6ea..3a13978d0587 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -20,7 +20,7 @@ "@jsdevtools/coverage-istanbul-loader": "3.0.5", "@ngtools/webpack": "0.0.0", "ansi-colors": "4.1.1", - "autoprefixer": "9.8.6", + "autoprefixer": "10.0.2", "babel-loader": "8.2.1", "browserslist": "^4.9.1", "cacache": "15.0.5", @@ -46,8 +46,8 @@ "ora": "5.1.0", "parse5-html-rewriting-stream": "6.0.1", "pnp-webpack-plugin": "1.6.4", - "postcss": "7.0.32", - "postcss-import": "12.0.1", + "postcss": "8.1.7", + "postcss-import": "13.0.0", "postcss-loader": "4.0.4", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index db6af3669628..ff8242b9ceb3 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -7,7 +7,7 @@ */ import { interpolateName } from 'loader-utils'; import * as path from 'path'; -import * as postcss from 'postcss'; +import { Declaration, Plugin } from 'postcss'; import * as url from 'url'; import * as webpack from 'webpack'; @@ -48,14 +48,15 @@ async function resolve( } } -export default postcss.plugin('postcss-cli-resources', (options: PostcssCliResourcesOptions | undefined) => { +export const postcss = true; + +export default function(options?: PostcssCliResourcesOptions): Plugin { if (!options) { throw new Error('No options were specified to "postcss-cli-resources".'); } const { deployUrl = '', - baseHref = '', resourcesOutputPath = '', filename, loader, @@ -141,21 +142,16 @@ export default postcss.plugin('postcss-cli-resources', (options: PostcssCliResou }); }; - return (root) => { - const urlDeclarations: Array = []; - root.walkDecls(decl => { - if (decl.value && decl.value.includes('url')) { - urlDeclarations.push(decl); - } - }); - - if (urlDeclarations.length === 0) { - return; - } + const resourceCache = new Map(); + const processed = Symbol('postcss-cli-resources'); - const resourceCache = new Map(); + return { + postcssPlugin: 'postcss-cli-resources', + async Declaration(decl) { + if (!decl.value.includes('url') || processed in decl) { + return; + } - return Promise.all(urlDeclarations.map(async decl => { const value = decl.value; const urlRegex = /url\(\s*(?:"([^"]+)"|'([^']+)'|(.+?))\s*\)/g; const segments: string[] = []; @@ -200,6 +196,8 @@ export default postcss.plugin('postcss-cli-resources', (options: PostcssCliResou if (modified) { decl.value = segments.join(''); } - })); + + (decl as Declaration & { [processed]: boolean })[processed] = true; + }, }; -}); +} diff --git a/yarn.lock b/yarn.lock index 361f86212119..8c7d1e808a5e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2618,6 +2618,18 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +autoprefixer@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.2.tgz#a79f9a02bfb95c621998776ac0d85f8f855b367e" + integrity sha512-okBmu9OMdt6DNEcZmnl0IYVv8Xl/xYWRSnc2OJ9UJEOt1u30opG1B8aLsViqKryBaYv1SKB4f85fOGZs5zYxHQ== + dependencies: + browserslist "^4.14.7" + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss-value-parser "^4.1.0" + autoprefixer@9.8.6, autoprefixer@^9.6.5: version "9.8.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" @@ -2968,6 +2980,17 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4 escalade "^3.1.1" node-releases "^1.1.65" +browserslist@^4.14.7: + version "4.14.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" + integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== + dependencies: + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + electron-to-chromium "^1.3.591" + escalade "^3.1.1" + node-releases "^1.1.66" + browserstack@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.0.tgz#5a56ab90987605d9c138d7a8b88128370297f9bf" @@ -3259,7 +3282,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001157: version "1.0.30001157" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== @@ -4730,6 +4753,11 @@ electron-to-chromium@^1.3.585: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017" integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw== +electron-to-chromium@^1.3.591: + version "1.3.595" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.595.tgz#e8a9e7c6919963419f892ea981d7b3438ccb834d" + integrity sha512-JpaBIhdBkF9FLG7x06ONfe0f5bxPrxRcq0X+Sc8vsCt+OPWIzxOD+qM71NEHLGbDfN9Q6hbtHRv4/dnvcOxo6g== + elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -8426,7 +8454,7 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-releases@^1.1.65: +node-releases@^1.1.65, node-releases@^1.1.66: version "1.1.66" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== @@ -9438,13 +9466,12 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" -postcss-import@12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" - integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== +postcss-import@13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-13.0.0.tgz#d6960cd9e3de5464743b04dd8cd9d870662f8b8c" + integrity sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg== dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" + postcss-value-parser "^4.0.0" read-cache "^1.0.0" resolve "^1.1.7" @@ -9708,12 +9735,12 @@ postcss-url@^8.0.0: postcss "^7.0.2" xxhashjs "^0.2.1" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3: +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -9736,14 +9763,15 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@8.1.7: + version "8.1.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.7.tgz#ff6a82691bd861f3354fd9b17b2332f88171233f" + integrity sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ== dependencies: - chalk "^2.4.2" + colorette "^1.2.1" + line-column "^1.0.2" + nanoid "^3.1.16" source-map "^0.6.1" - supports-color "^6.1.0" postcss@^8.1.4: version "8.1.6" From 244ced062923651072565e0805e1da6337863440 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 15 Nov 2020 23:01:49 +0000 Subject: [PATCH 199/696] build: update license-checker-webpack-plugin to version 0.2.0 --- package.json | 2 +- yarn.lock | 53 ++++++++++------------------------------------------ 2 files changed, 11 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index 09fc18ff836d..283601edecd8 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "less": "3.12.2", "less-loader": "7.1.0", "license-checker": "^25.0.0", - "license-checker-webpack-plugin": "0.1.6", + "license-checker-webpack-plugin": "0.2.0", "loader-utils": "2.0.0", "mini-css-extract-plugin": "1.3.1", "minimatch": "3.0.4", diff --git a/yarn.lock b/yarn.lock index 8c7d1e808a5e..a7e216a0eb8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1103,44 +1103,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@hapi/address@^2.1.2": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== - -"@hapi/formula@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-1.2.0.tgz#994649c7fea1a90b91a0a1e6d983523f680e10cd" - integrity sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA== - -"@hapi/hoek@^8.2.4", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== - -"@hapi/joi@^16.1.7": - version "16.1.8" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-16.1.8.tgz#84c1f126269489871ad4e2decc786e0adef06839" - integrity sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg== - dependencies: - "@hapi/address" "^2.1.2" - "@hapi/formula" "^1.2.0" - "@hapi/hoek" "^8.2.4" - "@hapi/pinpoint" "^1.0.2" - "@hapi/topo" "^3.1.3" - -"@hapi/pinpoint@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-1.0.2.tgz#025b7a36dbbf4d35bf1acd071c26b20ef41e0d13" - integrity sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ== - -"@hapi/topo@^3.1.3": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== - dependencies: - "@hapi/hoek" "^8.3.0" - "@istanbuljs/schema@^0.1.2": version "0.1.2" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" @@ -7409,18 +7371,18 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-checker-webpack-plugin@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/license-checker-webpack-plugin/-/license-checker-webpack-plugin-0.1.6.tgz#deae7457a4804a71eb60b82ec31d2aca150665ff" - integrity sha512-pB1lBaQONqMzuNdc9BqB/s3h0K/fF2agPEagwoDxEa7me3kS98RVvCAZiAX9xXasZ6sSeMStz+zfUuzF/huW4w== +license-checker-webpack-plugin@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/license-checker-webpack-plugin/-/license-checker-webpack-plugin-0.2.0.tgz#b65c2066b62ed07279271290db6cb19dcbebbd62" + integrity sha512-unuoDo8INdybT723eCD65lr827klOgyzcEarNIyTBWjxsI9U9ujCmUlJvQdqDebv/TsLPw3txeWm+11IUhV9TQ== dependencies: - "@hapi/joi" "^16.1.7" glob "^7.1.6" lodash.template "^4.5.0" minimatch "^3.0.4" semver "^6.3.0" spdx-expression-validate "^2.0.0" spdx-satisfies "^5.0.0" + superstruct "^0.10.12" webpack-sources "^1.4.3" wrap-ansi "^6.1.0" @@ -11713,6 +11675,11 @@ stylus@0.54.8, stylus@^0.54.7: semver "^6.3.0" source-map "^0.7.3" +superstruct@^0.10.12: + version "0.10.12" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.10.12.tgz#7b2c8adaf61b75257265eac3b588f30017f996f0" + integrity sha512-FiNhfegyytDI0QxrrEoeGknFM28SnoHqCBpkWewUm8jRNj74NVxLpiiePvkOo41Ze/aKMSHa/twWjNF81mKaQQ== + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" From 24b0a49a737c62b44f779cd6e5a6673eaeeba4e7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 11 Nov 2020 11:11:24 -0500 Subject: [PATCH 200/696] refactor(@angular-devkit/architect): abstract workspace access from architect This change allows architect runtime implementations to have more control over how builder information and options for targets are found. A workspace file (and accompanying definition class) is not necessarily needed now. This also has benefits for unit testing by reducing the amount of potential setup needed per test. --- .../node/node-modules-architect-host.ts | 131 ++++++++++++------ 1 file changed, 85 insertions(+), 46 deletions(-) diff --git a/packages/angular_devkit/architect/node/node-modules-architect-host.ts b/packages/angular_devkit/architect/node/node-modules-architect-host.ts index 8562b8e07ea6..aab20e56175d 100644 --- a/packages/angular_devkit/architect/node/node-modules-architect-host.ts +++ b/packages/angular_devkit/architect/node/node-modules-architect-host.ts @@ -28,17 +28,86 @@ function clone(obj: unknown): unknown { } } -// TODO: create a base class for all workspace related hosts. -export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { - constructor(protected _workspace: workspaces.WorkspaceDefinition, protected _root: string) {} +export interface WorkspaceHost { + getBuilderName(project: string, target: string): Promise; + getMetadata(project: string): Promise; + getOptions(project: string, target: string, configuration?: string): Promise; + hasTarget(project: string, target: string): Promise; +} - async getBuilderNameForTarget(target: Target) { - const targetDefinition = this.findProjectTarget(target); - if (!targetDefinition) { - throw new Error('Project target does not exist.'); +function findProjectTarget( + workspace: workspaces.WorkspaceDefinition, + project: string, + target: string, +): workspaces.TargetDefinition { + const projectDefinition = workspace.projects.get(project); + if (!projectDefinition) { + throw new Error(`Project "${project}" does not exist.`); + } + + const targetDefinition = projectDefinition.targets.get(target); + if (!targetDefinition) { + throw new Error('Project target does not exist.'); + } + + return targetDefinition; +} + +export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { + private workspaceHost: WorkspaceHost; + + constructor(workspaceHost: WorkspaceHost, _root: string); + + constructor(workspace: workspaces.WorkspaceDefinition, _root: string); + + constructor( + workspaceOrHost: workspaces.WorkspaceDefinition | WorkspaceHost, + protected _root: string, + ) { + if ('getBuilderName' in workspaceOrHost) { + this.workspaceHost = workspaceOrHost; + } else { + this.workspaceHost = { + async getBuilderName(project, target) { + const targetDefinition = findProjectTarget(workspaceOrHost, project, target); + + return targetDefinition.builder; + }, + async getOptions(project, target, configuration) { + const targetDefinition = findProjectTarget(workspaceOrHost, project, target); + + if (configuration === undefined) { + return (targetDefinition.options ?? {}) as json.JsonObject; + } + + if (!targetDefinition.configurations?.[configuration]) { + throw new Error(`Configuration '${configuration}' is not set in the workspace.`); + } + + return (targetDefinition.configurations?.[configuration] ?? {}) as json.JsonObject; + }, + async getMetadata(project) { + const projectDefinition = workspaceOrHost.projects.get(project); + if (!projectDefinition) { + throw new Error(`Project "${project}" does not exist.`); + } + + return ({ + root: projectDefinition.root, + sourceRoot: projectDefinition.sourceRoot, + prefix: projectDefinition.prefix, + ...(clone(projectDefinition.extensions) as {}), + } as unknown) as json.JsonObject; + }, + async hasTarget(project, target) { + return !!workspaceOrHost.projects.get(project)?.targets.has(target); + }, + }; } + } - return targetDefinition.builder; + async getBuilderNameForTarget(target: Target) { + return this.workspaceHost.getBuilderName(target.project, target.target); } /** @@ -95,49 +164,28 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { - const targetSpec = this.findProjectTarget(target); - if (targetSpec === undefined) { + if (!(await this.workspaceHost.hasTarget(target.project, target.target))) { return null; } - let additionalOptions = {}; + let options = await this.workspaceHost.getOptions(target.project, target.target); if (target.configuration) { - const configurations = target.configuration.split(',').map(c => c.trim()); + const configurations = target.configuration.split(',').map((c) => c.trim()); for (const configuration of configurations) { - if (!(targetSpec['configurations'] && targetSpec['configurations'][configuration])) { - throw new Error(`Configuration '${configuration}' is not set in the workspace.`); - } else { - additionalOptions = { - ...additionalOptions, - ...targetSpec['configurations'][configuration], - }; - } + options = { + ...options, + ...await this.workspaceHost.getOptions(target.project, target.target, configuration), + }; } } - const options = { - ...targetSpec['options'], - ...additionalOptions, - }; - return clone(options) as json.JsonObject; } async getProjectMetadata(target: Target | string): Promise { const projectName = typeof target === 'string' ? target : target.project; - - const projectDefinition = this._workspace.projects.get(projectName); - if (!projectDefinition) { - throw new Error(`Project "${projectName}" does not exist.`); - } - - const metadata = ({ - root: projectDefinition.root, - sourceRoot: projectDefinition.sourceRoot, - prefix: projectDefinition.prefix, - ...clone(projectDefinition.extensions) as {}, - } as unknown) as json.JsonObject; + const metadata = this.workspaceHost.getMetadata(projectName); return metadata; } @@ -150,13 +198,4 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost Date: Mon, 16 Nov 2020 13:57:33 +0000 Subject: [PATCH 201/696] build: update to version --- yarn.lock | 193 +++++++++++++++++++----------------------------------- 1 file changed, 69 insertions(+), 124 deletions(-) diff --git a/yarn.lock b/yarn.lock index a7e216a0eb8c..19dcb00666a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -66,7 +66,7 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@11.0.0": +"@angular/core@11.0.0", "@angular/core@^10.0.0-0 || ^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.0.tgz#cdb89f3877f6e5487a0e5f18d234447ec41e8184" integrity sha512-FNewyMwYy+kGdw1xWfrtaPD2cSQs3kDVFbl8mNMSzp933W5yMsHDvjXb0+nPFqEb8ywEIdm3MsBMK0y3iBWZQw== @@ -78,13 +78,6 @@ resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@^10.0.0-0 || ^11.0.0": - version "10.2.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.2.tgz#ca0863c59110614241adbbdb902fb9ceb65bd617" - integrity sha512-9IHZF4/zcCKCLGzsbaUeNE8V+R9kcCu0ZNXvqkxd1+vTPdcf00185KzD6CAm+OiskLwvmrudh4vh0CQ+JHSTtQ== - dependencies: - tslib "^2.0.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bcb47601677af33e95dcee1dda84f612b1bffae8": version "0.0.0" resolved "https://github.com/angular/dev-infra-private-builds.git#bcb47601677af33e95dcee1dda84f612b1bffae8" @@ -1339,10 +1332,10 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@rollup/plugin-commonjs@^16.0.0": - version "16.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f" - integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw== +"@rollup/plugin-commonjs@^15.0.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" + integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== dependencies: "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" @@ -1420,15 +1413,7 @@ dependencies: "@babel/types" "^7.0.0" -"@types/babel__template@*": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" - integrity sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__template@7.4.0": +"@types/babel__template@*", "@types/babel__template@7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== @@ -1537,9 +1522,9 @@ "@types/range-parser" "*" "@types/express@*", "@types/express@^4.16.0": - version "4.17.8" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.8.tgz#3df4293293317e61c60137d273a2e96cd8d5f27a" - integrity sha512-wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ== + version "4.17.9" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" + integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "*" @@ -1654,9 +1639,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== "@types/node-fetch@^2.1.6": version "2.5.7" @@ -1667,9 +1652,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>= 8": - version "14.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" - integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== + version "14.14.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" + integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== "@types/node@10.12.30": version "10.12.30" @@ -1791,9 +1776,9 @@ integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== "@types/serve-static@*": - version "1.13.6" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.6.tgz#866b1b8dec41c36e28c7be40ac725b88be43c5c1" - integrity sha512-nuRJmv7jW7VmCVTn+IgYDkkbbDGyIINOeu/G0d74X3lm6E5KfMeQPJhxIt1ayQeQB3cSxvYs1RA/wipYoFB4EA== + version "1.13.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.7.tgz#e51b51a0becda910f9fd04c718044da69d6c492e" + integrity sha512-3diZWucbR+xTmbDlU+FRRxBf+31OhFew7cJXML/zh9NmvSPTNoFecAwHB66BUqFgENJtqMiyl7JAwUE/siqdLw== dependencies: "@types/mime" "*" "@types/node" "*" @@ -1879,9 +1864,9 @@ source-map "^0.6.1" "@types/webpack@*", "@types/webpack@^4.41.22": - version "4.41.24" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.24.tgz#75b664abe3d5bcfe54e64313ca3b43e498550422" - integrity sha512-1A0MXPwZiMOD3DPMuOKUKcpkdPo8Lq33UGggZ7xio6wJ/jV1dAu5cXDrOfGDnldUroPIRLsr/DT43/GqOA4RFQ== + version "4.41.25" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" + integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -2661,9 +2646,9 @@ base64-arraybuffer@0.1.5: integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base64id@2.0.0: version "2.0.0" @@ -2765,7 +2750,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: +bn.js@^5.0.0, bn.js@^5.1.1: version "5.1.3" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== @@ -2903,11 +2888,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -2932,17 +2917,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.7.0, browserslist@^4.9.1: - version "4.14.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457" - integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== - dependencies: - caniuse-lite "^1.0.30001154" - electron-to-chromium "^1.3.585" - escalade "^3.1.1" - node-releases "^1.1.65" - -browserslist@^4.14.7: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.14.7, browserslist@^4.7.0, browserslist@^4.9.1: version "4.14.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== @@ -3244,10 +3219,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001157: - version "1.0.30001157" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" - integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: + version "1.0.30001158" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001158.tgz#fce86d321369603c2bc855ee0e901a7f49f8310b" + integrity sha512-s5loVYY+yKpuVA3HyW8BarzrtJvwHReuzugQXlv1iR3LKSReoFXRm86mT6hT7PEF5RxW+XQZg+6nYjlywYzQ+g== canonical-path@1.0.0: version "1.0.0" @@ -4105,9 +4080,9 @@ css-tree@1.0.0-alpha.37: source-map "^0.6.1" css-tree@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" - integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.1.tgz#7726678dfe2a57993a018d9dce519bf1760e3b6d" + integrity sha512-WroX+2MvsYcRGP8QA0p+rxzOniT/zpAoQ/DTKDSJzh5T3IQKUkFHeIIfgIapm2uaP178GWY3Mime1qbk8GO/tA== dependencies: mdn-data "2.0.12" source-map "^0.6.1" @@ -4208,9 +4183,9 @@ cssnano@4.1.10: postcss "^7.0.0" csso@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" - integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== + version "4.1.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.1.tgz#e0cb02d6eb3af1df719222048e4359efd662af13" + integrity sha512-Rvq+e1e0TFB8E8X+8MQjHSY6vtol45s5gxtLI/018UsAn2IBMmwNEZRM/h+HVnAJRHjasLIKKUO3uvoMM28LvA== dependencies: css-tree "^1.0.0" @@ -4710,15 +4685,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.585: - version "1.3.591" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017" - integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw== - electron-to-chromium@^1.3.591: - version "1.3.595" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.595.tgz#e8a9e7c6919963419f892ea981d7b3438ccb834d" - integrity sha512-JpaBIhdBkF9FLG7x06ONfe0f5bxPrxRcq0X+Sc8vsCt+OPWIzxOD+qM71NEHLGbDfN9Q6hbtHRv4/dnvcOxo6g== + version "1.3.596" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.596.tgz#c7ed98512c7ff36ddcbfed9e54e6355335c35257" + integrity sha512-nLO2Wd2yU42eSoNJVQKNf89CcEGqeFZd++QsnN2XIgje1s/19AgctfjLIbPORlvcCO8sYjLwX4iUgDdusOY8Sg== elliptic@^6.5.3: version "6.5.3" @@ -6507,7 +6477,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.1.0: +is-core-module@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== @@ -8319,11 +8289,11 @@ next-tick@~1.0.0: integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= ng-packagr@~11.0.0-next.0: - version "11.0.0-next.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.0-next.3.tgz#9edfa299228d16c6f4a5cbda095b9d55589278b9" - integrity sha512-zE+3hK/YmQchpcG5C14D1MYfLwBQIP6TkYUJ/OQSk+EZmi1NyfUEGaLjAAHhut3L7PqZkBY0y4scDKqPGxUFGw== + version "11.0.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.0.2.tgz#2987cd8b74eb26404c3e4b62cc2ce273d0be53b0" + integrity sha512-gcYR729iBeUoE33VjXNQrKHkLkPCprpB8ZpSC9yMGmJWvKMJkmCGxXIkJpFYnCvB57yfXro8vW+oHjUPqBURaQ== dependencies: - "@rollup/plugin-commonjs" "^16.0.0" + "@rollup/plugin-commonjs" "^15.0.0" "@rollup/plugin-json" "^4.0.0" "@rollup/plugin-node-resolve" "^10.0.0" ajv "^6.12.3" @@ -8416,7 +8386,7 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-releases@^1.1.65, node-releases@^1.1.66: +node-releases@^1.1.66: version "1.1.66" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== @@ -9725,7 +9695,7 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@8.1.7: +postcss@8.1.7, postcss@^8.1.4: version "8.1.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.7.tgz#ff6a82691bd861f3354fd9b17b2332f88171233f" integrity sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ== @@ -9735,16 +9705,6 @@ postcss@8.1.7: nanoid "^3.1.16" source-map "^0.6.1" -postcss@^8.1.4: - version "8.1.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.6.tgz#b022ba2cfb8701da234d073ed3128c5a384c35ff" - integrity sha512-JuifSl4h8dJ70SiMXKjzCxhalE6p2TnMHuq9G8ftyXj2jg6SXzqCsEuxMj9RkmJoO5D+Z9YrWunNkxqpRT02qg== - dependencies: - colorette "^1.2.1" - line-column "^1.0.2" - nanoid "^3.1.16" - source-map "^0.6.1" - prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -10478,7 +10438,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.19.0: +resolve@1.19.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -10486,14 +10446,6 @@ resolve@1.19.0: is-core-module "^2.1.0" path-parse "^1.0.6" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== - dependencies: - is-core-module "^2.0.0" - path-parse "^1.0.6" - responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" @@ -10601,20 +10553,13 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.33.2: +rollup@2.33.2, rollup@^2.8.0: version "2.33.2" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.2.tgz#c4c76cd405a7605e6ebe90976398c46d4c2ea166" integrity sha512-QPQ6/fWCrzHtSXkI269rhKaC7qXGghYBwXU04b1JsDZ6ibZa3DJ9D1SFAYRMgx1inDg0DaTbb3N4Z1NK/r3fhw== optionalDependencies: fsevents "~2.1.2" -rollup@^2.8.0: - version "2.33.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" - integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== - optionalDependencies: - fsevents "~2.1.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -11792,9 +11737,9 @@ tar@^6.0.0, tar@^6.0.1, tar@^6.0.2: yallist "^4.0.0" temp@^0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.2.tgz#06728e6e4b847e3ea5579c69c44bcc3ee6a47100" - integrity sha512-KLVd6CXeUYsqmI/LBWDLg3bFkdZPg0Xr/Gn79GUuPNiISzp6v/EKUaCOrxqeH1w/wVNmrljyDRgKxhZV9JzyJA== + version "0.9.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" + integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== dependencies: mkdirp "^0.5.1" rimraf "~2.6.2" @@ -12182,9 +12127,9 @@ type-fest@^0.11.0: integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== type-fest@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.0.tgz#2edfa6382d48653707344f7fccdb0443d460e8d6" - integrity sha512-fbDukFPnJBdn2eZ3RR+5mK2slHLFd6gYHY7jna1KWWy4Yr4XysHuCdXRzy+RiG/HwG4WJat00vdC2UHky5eKiQ== + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.6.0: version "0.6.0" @@ -12242,9 +12187,9 @@ ua-parser-js@0.7.22: integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q== uglify-js@^3.1.4: - version "3.11.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" - integrity sha512-btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w== + version "3.11.6" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" + integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== unbzip2-stream@^1.3.3: version "1.4.3" @@ -12614,23 +12559,23 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" From c62cc8b8625e0b5bc0781a1336d65f442c8f63fc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 14 Nov 2020 06:11:14 +0000 Subject: [PATCH 202/696] build: update jsonc-parser to version 3.0.0 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- packages/schematics/angular/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 283601edecd8..fc8b4dc093a2 100644 --- a/package.json +++ b/package.json @@ -160,7 +160,7 @@ "jasmine-spec-reporter": "~6.0.0", "jest-worker": "26.6.2", "jquery": "^3.3.1", - "jsonc-parser": "2.3.1", + "jsonc-parser": "3.0.0", "karma": "~5.2.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 27bca3a8e5f0..df34ac3c20b3 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "debug": "4.2.0", "ini": "1.3.5", "inquirer": "7.3.3", - "jsonc-parser": "2.3.1", + "jsonc-parser": "3.0.0", "npm-package-arg": "8.1.0", "npm-pick-manifest": "6.1.0", "open": "7.3.0", diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index eb9f17e65e14..fa634e3887b0 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -11,6 +11,6 @@ "dependencies": { "@angular-devkit/core": "0.0.0", "@angular-devkit/schematics": "0.0.0", - "jsonc-parser": "2.3.1" + "jsonc-parser": "3.0.0" } } diff --git a/yarn.lock b/yarn.lock index 19dcb00666a0..137d60da03d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7019,10 +7019,10 @@ json5@^2.1.0, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonc-parser@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342" - integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg== +jsonc-parser@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== jsonfile@^4.0.0: version "4.0.0" From 3529fb48224665c6b5f1ddf10fef96c6f6df0032 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 Nov 2020 11:58:17 +0100 Subject: [PATCH 203/696] refactor(@angular/cli): handle undefined JSON AST Node --- packages/angular/cli/utilities/json-file.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/utilities/json-file.ts b/packages/angular/cli/utilities/json-file.ts index 21a711387e1b..35091d8017ee 100644 --- a/packages/angular/cli/utilities/json-file.ts +++ b/packages/angular/cli/utilities/json-file.ts @@ -32,7 +32,7 @@ export class JSONFile { } private _jsonAst: Node | undefined; - private get JsonAst(): Node { + private get JsonAst(): Node | undefined { if (this._jsonAst) { return this._jsonAst; } @@ -47,11 +47,16 @@ export class JSONFile { } get(jsonPath: JSONPath): unknown { + const jsonAstNode = this.JsonAst; + if (!jsonAstNode) { + return undefined; + } + if (jsonPath.length === 0) { - return getNodeValue(this.JsonAst); + return getNodeValue(jsonAstNode); } - const node = findNodeAtLocation(this.JsonAst, jsonPath); + const node = findNodeAtLocation(jsonAstNode, jsonPath); return node === undefined ? undefined : getNodeValue(node); } From 5ce88ef7be2fb0ebb4159499fdb3dcc7cb0ebc01 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 Nov 2020 11:58:30 +0100 Subject: [PATCH 204/696] refactor(@schematics/angular): handle undefined JSON AST Node --- packages/schematics/angular/utility/json-file.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/utility/json-file.ts b/packages/schematics/angular/utility/json-file.ts index e82d6899f096..e150648c766e 100644 --- a/packages/schematics/angular/utility/json-file.ts +++ b/packages/schematics/angular/utility/json-file.ts @@ -30,7 +30,7 @@ export class JSONFile { } private _jsonAst: Node | undefined; - private get JsonAst(): Node { + private get JsonAst(): Node | undefined { if (this._jsonAst) { return this._jsonAst; } @@ -46,11 +46,16 @@ export class JSONFile { } get(jsonPath: JSONPath): unknown { + const jsonAstNode = this.JsonAst; + if (!jsonAstNode) { + return undefined; + } + if (jsonPath.length === 0) { - return getNodeValue(this.JsonAst); + return getNodeValue(jsonAstNode); } - const node = findNodeAtLocation(this.JsonAst, jsonPath); + const node = findNodeAtLocation(jsonAstNode, jsonPath); return node === undefined ? undefined : getNodeValue(node); } From 9d82269441614a07c1e1592d07fcfbaef0aa728f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 Nov 2020 11:49:19 +0100 Subject: [PATCH 205/696] refactor(@angular-devkit/build-angular): clean up index generation part 3 With this change we cleanup the index generation. The `IndexHtmlWebpackPlugin` now extends the base `IndexHtmlGenerator` class which makes it easier to override methods to retrieve compilation assets. This is important for the critical css extraction implementation because Critters needs to access the `assets` from the either the compilation when running in memory or the file-system. --- .../build_angular/src/browser/index.ts | 81 +++++++----- .../build_angular/src/dev-server/index.ts | 19 ++- .../utils/index-file/augment-index-html.ts | 10 +- .../index-file/augment-index-html_spec.ts | 5 +- .../utils/index-file/index-html-generator.ts | 120 ++++++++++++++++++ .../src/utils/index-file/transforms.ts | 38 ------ .../src/utils/index-file/write-index-html.ts | 91 ------------- .../plugins/index-html-webpack-plugin.ts | 119 +++++++---------- 8 files changed, 232 insertions(+), 251 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts delete mode 100644 packages/angular_devkit/build_angular/src/utils/index-file/transforms.ts delete mode 100644 packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index 873f4e1ff296..34fbda36402a 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -31,14 +31,13 @@ import { findCachePath } from '../utils/cache-path'; import { colors } from '../utils/color'; import { copyAssets } from '../utils/copy-assets'; import { cachingDisabled } from '../utils/environment-options'; +import { mkdir, writeFile } from '../utils/fs'; import { i18nInlineEmittedFiles } from '../utils/i18n-inlining'; import { I18nOptions } from '../utils/i18n-options'; -import { getHtmlTransforms } from '../utils/index-file/transforms'; -import { - IndexHtmlTransform, - writeIndexHtml, -} from '../utils/index-file/write-index-html'; +import { FileInfo } from '../utils/index-file/augment-index-html'; +import { IndexHtmlGenerator, IndexHtmlTransform } from '../utils/index-file/index-html-generator'; import { ensureOutputPaths } from '../utils/output-paths'; +import { generateEntryPoints } from '../utils/package-chunk-sort'; import { InlineOptions, ProcessBundleFile, @@ -54,7 +53,6 @@ import { getIndexInputFile, getIndexOutputFile, } from '../utils/webpack-browser-config'; -import { isWebpackFiveOrHigher } from '../utils/webpack-version'; import { getAotConfig, getBrowserConfig, @@ -220,7 +218,7 @@ export function buildWebpackBrowser( switchMap(async projectMetadata => { const sysProjectRoot = getSystemPath( resolve(normalize(context.workspaceRoot), - normalize((projectMetadata.root as string) ?? '')), + normalize((projectMetadata.root as string) ?? '')), ); const { options: compilerOptions } = readTsconfig(options.tsConfig, context.workspaceRoot); @@ -244,9 +242,9 @@ export function buildWebpackBrowser( (hasIE9 ? 'IE 9' + (hasIE10 ? ' & ' : '') : '') + (hasIE10 ? 'IE 10' : ''); context.logger.warn( `Warning: Support was requested for ${browsers} in the project's browserslist configuration. ` + - (hasIE9 && hasIE10 ? 'These browsers are' : 'This browser is') + - ' no longer officially supported with Angular v11 and higher.' + - '\nFor additional information: https://v10.angular.io/guide/deprecations#ie-9-10-and-mobile', + (hasIE9 && hasIE10 ? 'These browsers are' : 'This browser is') + + ' no longer officially supported with Angular v11 and higher.' + + '\nFor additional information: https://v10.angular.io/guide/deprecations#ie-9-10-and-mobile', ); } @@ -260,11 +258,6 @@ export function buildWebpackBrowser( // tslint:disable-next-line: no-big-function switchMap(({ config, projectRoot, projectSourceRoot, i18n, buildBrowserFeatures, isDifferentialLoadingNeeded, target }) => { const normalizedOptimization = normalizeOptimization(options.optimization); - const indexTransforms = getHtmlTransforms( - normalizedOptimization, - buildBrowserFeatures, - transforms.indexHtml, - ); return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, @@ -672,24 +665,39 @@ export function buildWebpackBrowser( if (success) { if (options.index) { spinner.start('Generating index html...'); + + const WOFFSupportNeeded = !buildBrowserFeatures.isFeatureSupported('woff2'); + const entrypoints = generateEntryPoints({ + scripts: options.scripts ?? [], + styles: options.styles ?? [], + }); + + const indexHtmlGenerator = new IndexHtmlGenerator({ + indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), + entrypoints, + deployUrl: options.deployUrl, + sri: options.subresourceIntegrity, + WOFFSupportNeeded, + optimization: normalizedOptimization, + crossOrigin: options.crossOrigin, + postTransform: transforms.indexHtml, + }); + for (const [locale, outputPath] of outputPaths.entries()) { try { - await writeIndexHtml({ - outputPath: path.join(outputPath, getIndexOutputFile(options.index)), - indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), - files, - noModuleFiles, - moduleFiles, + const content = await indexHtmlGenerator.process({ baseHref: getLocaleBaseHref(i18n, locale) || options.baseHref, - deployUrl: options.deployUrl, - sri: options.subresourceIntegrity, - scripts: options.scripts, - styles: options.styles, - postTransforms: indexTransforms, - crossOrigin: options.crossOrigin, // i18nLocale is used when Ivy is disabled lang: locale || options.i18nLocale, + outputPath, + files: mapEmittedFilesToFileInfo(files), + noModuleFiles: mapEmittedFilesToFileInfo(noModuleFiles), + moduleFiles: mapEmittedFilesToFileInfo(moduleFiles), }); + + const indexOutput = path.join(outputPath, getIndexOutputFile(options.index)); + await mkdir(path.dirname(indexOutput), { recursive: true }); + await writeFile(indexOutput, content); } catch (error) { spinner.fail('Index html generation failed.'); @@ -738,8 +746,8 @@ export function buildWebpackBrowser( } as BrowserBuilderOutput), ), ); - }), - ); + }), + ); function getLocaleBaseHref(i18n: I18nOptions, locale: string): string | undefined { if (i18n.locales[locale] && i18n.locales[locale]?.baseHref !== '') { @@ -766,8 +774,7 @@ function mapErrorToMessage(error: unknown): string | undefined { } function assertNever(input: never): never { - throw new Error(`Unexpected call to assertNever() with input: ${ - JSON.stringify(input, null /* replacer */, 4 /* tabSize */)}`); + throw new Error(`Unexpected call to assertNever() with input: ${JSON.stringify(input, null /* replacer */, 4 /* tabSize */)}`); } type ArrayElement = A extends ReadonlyArray ? T : never; @@ -788,4 +795,16 @@ function generateBundleInfoStats( }, ); } + +function mapEmittedFilesToFileInfo(files: EmittedFiles[] = []): FileInfo[] { + const filteredFiles: FileInfo[] = []; + for (const { file, name, extension, initial } of files) { + if (name && initial) { + filteredFiles.push({ file, extension, name }); + } + } + + return filteredFiles; +} + export default createBuilder(buildWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 04dc39984d18..ca8aadbaca3b 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -29,8 +29,7 @@ import { findCachePath } from '../utils/cache-path'; import { checkPort } from '../utils/check-port'; import { colors } from '../utils/color'; import { I18nOptions } from '../utils/i18n-options'; -import { getHtmlTransforms } from '../utils/index-file/transforms'; -import { IndexHtmlTransform } from '../utils/index-file/write-index-html'; +import { IndexHtmlTransform } from '../utils/index-file/index-html-generator'; import { generateEntryPoints } from '../utils/package-chunk-sort'; import { readTsconfig } from '../utils/read-tsconfig'; import { assertCompatibleAngularVersion } from '../utils/version'; @@ -265,19 +264,17 @@ export function serveWebpackBrowser( webpackConfig.plugins = [...(webpackConfig.plugins || [])]; webpackConfig.plugins.push( new IndexHtmlWebpackPlugin({ - input: path.resolve(workspaceRoot, getIndexInputFile(browserOptions.index)), - output: getIndexOutputFile(browserOptions.index), + indexPath: path.resolve(workspaceRoot, getIndexInputFile(browserOptions.index)), + outputPath: getIndexOutputFile(browserOptions.index), baseHref, - moduleEntrypoints, entrypoints, + moduleEntrypoints, + noModuleEntrypoints: ['polyfills-es5'], deployUrl: browserOptions.deployUrl, sri: browserOptions.subresourceIntegrity, - noModuleEntrypoints: ['polyfills-es5'], - postTransforms: getHtmlTransforms( - normalizedOptimization, - buildBrowserFeatures, - transforms.indexHtml, - ), + postTransform: transforms.indexHtml, + optimization: normalizedOptimization, + WOFFSupportNeeded: !buildBrowserFeatures.isFeatureSupported('woff2'), crossOrigin: browserOptions.crossOrigin, lang: locale, }), diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts index 26b3ca7b42c1..1ee34cdc4a06 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts @@ -14,10 +14,8 @@ export type LoadOutputFileFunctionType = (file: string) => Promise; export type CrossOriginValue = 'none' | 'anonymous' | 'use-credentials'; export interface AugmentIndexHtmlOptions { - /* Input file name (e. g. index.html) */ - input: string; /* Input contents */ - inputContent: string; + html: string; baseHref?: string; deployUrl?: string; sri: boolean; @@ -59,7 +57,7 @@ export interface FileInfo { export async function augmentIndexHtml(params: AugmentIndexHtmlOptions): Promise { const { loadOutputFile, files, noModuleFiles = [], moduleFiles = [], entrypoints, - sri, deployUrl = '', lang, baseHref, inputContent, + sri, deployUrl = '', lang, baseHref, html, } = params; let { crossOrigin = 'none' } = params; @@ -145,8 +143,8 @@ export async function augmentIndexHtml(params: AugmentIndexHtmlOptions): Promise linkTags.push(``); } - const { rewriter, transformedContent } = await htmlRewritingStream(inputContent); - const baseTagExists = inputContent.includes(' { diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts index f210c74ae951..90eb93673670 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts @@ -10,8 +10,7 @@ import { AugmentIndexHtmlOptions, FileInfo, augmentIndexHtml } from './augment-i describe('augment-index-html', () => { const indexGeneratorOptions: AugmentIndexHtmlOptions = { - input: 'index.html', - inputContent: '', + html: '', baseHref: '/', sri: false, files: [], @@ -52,7 +51,7 @@ describe('augment-index-html', () => { it('should replace base href value', async () => { const source = augmentIndexHtml({ ...indexGeneratorOptions, - inputContent: '', + html: '', baseHref: '/Apps/', }); diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts b/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts new file mode 100644 index 000000000000..20c60ff92a85 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts @@ -0,0 +1,120 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { readFile } from '../fs'; +import { NormalizeOptimizationOptions } from '../normalize-optimization'; +import { stripBom } from '../strip-bom'; +import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-html'; +import { InlineFontsProcessor } from './inline-fonts'; + +type IndexHtmlGeneratorPlugin = (html: string, options: IndexHtmlGeneratorProcessOptions) => Promise; + +export interface IndexHtmlGeneratorProcessOptions { + lang: string | undefined; + baseHref: string | undefined; + outputPath: string; + files: FileInfo[]; + noModuleFiles: FileInfo[]; + moduleFiles: FileInfo[]; +} + +export interface IndexHtmlGeneratorOptions { + indexPath: string; + deployUrl?: string; + sri?: boolean; + entrypoints: string[]; + postTransform?: IndexHtmlTransform; + crossOrigin?: CrossOriginValue; + optimization?: NormalizeOptimizationOptions; + WOFFSupportNeeded: boolean; +} + +export type IndexHtmlTransform = (content: string) => Promise; + +export class IndexHtmlGenerator { + private readonly plugins: IndexHtmlGeneratorPlugin[]; + + constructor(readonly options: IndexHtmlGeneratorOptions) { + const extraPlugins: IndexHtmlGeneratorPlugin[] = []; + if (this.options.optimization?.fonts.inline) { + extraPlugins.push(inlineFontsPlugin(this)); + } + + this.plugins = [ + augmentIndexHtmlPlugin(this), + ...extraPlugins, + postTransformPlugin(this), + ]; + } + + async process(options: IndexHtmlGeneratorProcessOptions): Promise { + let html = stripBom(await this.readIndex(this.options.indexPath)); + + for (const plugin of this.plugins) { + html = await plugin(html, options); + } + + return html; + } + + async readAsset(path: string): Promise { + return readFile(path, 'utf-8'); + } + + protected async readIndex(path: string): Promise { + return readFile(path, 'utf-8'); + } +} + +function augmentIndexHtmlPlugin(generator: IndexHtmlGenerator): IndexHtmlGeneratorPlugin { + const { + deployUrl, + crossOrigin, + sri = false, + entrypoints, + } = generator.options; + + return async (html, options) => { + const { + lang, + baseHref, + outputPath = '', + noModuleFiles, + files, + moduleFiles, + } = options; + + return augmentIndexHtml({ + html, + baseHref, + deployUrl, + crossOrigin, + sri, + lang, + entrypoints, + loadOutputFile: filePath => generator.readAsset(join(outputPath, filePath)), + noModuleFiles, + moduleFiles, + files, + }); + }; +} + +function inlineFontsPlugin({ options }: IndexHtmlGenerator): IndexHtmlGeneratorPlugin { + const inlineFontsProcessor = new InlineFontsProcessor({ + minifyInlinedCSS: !!options.optimization?.styles, + WOFFSupportNeeded: options.WOFFSupportNeeded, + }); + + return async html => inlineFontsProcessor.process(html); +} + +function postTransformPlugin({ options }: IndexHtmlGenerator): IndexHtmlGeneratorPlugin { + return async html => options.postTransform ? options.postTransform(html) : html; +} diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/transforms.ts b/packages/angular_devkit/build_angular/src/utils/index-file/transforms.ts deleted file mode 100644 index 27c7e4f431af..000000000000 --- a/packages/angular_devkit/build_angular/src/utils/index-file/transforms.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { BuildBrowserFeatures } from '../build-browser-features'; -import { NormalizeOptimizationOptions } from '../normalize-optimization'; -import { InlineFontsProcessor } from './inline-fonts'; -import { IndexHtmlTransform } from './write-index-html'; - -export function getHtmlTransforms( - optimization: NormalizeOptimizationOptions, - buildBrowserFeatures: BuildBrowserFeatures, - extraHtmlTransform?: IndexHtmlTransform, -): IndexHtmlTransform[] { - const indexTransforms: IndexHtmlTransform[] = []; - const { fonts, styles } = optimization; - - // Inline fonts - if (fonts.inline) { - const inlineFontsProcessor = new InlineFontsProcessor({ - minifyInlinedCSS: styles, - WOFFSupportNeeded: !buildBrowserFeatures.isFeatureSupported('woff2'), - }); - - indexTransforms.push(content => inlineFontsProcessor.process(content)); - } - - if (extraHtmlTransform) { - indexTransforms.push(extraHtmlTransform); - } - - return indexTransforms; -} - diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts b/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts deleted file mode 100644 index 9412bf9b96e9..000000000000 --- a/packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmittedFiles } from '@angular-devkit/build-webpack'; -import { dirname, join } from 'path'; -import { ExtraEntryPoint } from '../../browser/schema'; -import { mkdir, readFile, writeFile } from '../fs'; -import { generateEntryPoints } from '../package-chunk-sort'; -import { stripBom } from '../strip-bom'; -import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-html'; - -type ExtensionFilter = '.js' | '.css'; - -export interface WriteIndexHtmlOptions { - outputPath: string; - indexPath: string; - files?: EmittedFiles[]; - noModuleFiles?: EmittedFiles[]; - moduleFiles?: EmittedFiles[]; - baseHref?: string; - deployUrl?: string; - sri?: boolean; - scripts?: ExtraEntryPoint[]; - styles?: ExtraEntryPoint[]; - postTransforms: IndexHtmlTransform[]; - crossOrigin?: CrossOriginValue; - lang?: string; -} - -export type IndexHtmlTransform = (content: string) => Promise; - -export async function writeIndexHtml({ - outputPath, - indexPath, - files = [], - noModuleFiles = [], - moduleFiles = [], - baseHref, - deployUrl, - sri = false, - scripts = [], - styles = [], - postTransforms, - crossOrigin, - lang, -}: WriteIndexHtmlOptions): Promise { - let content = await augmentIndexHtml({ - input: outputPath, - inputContent: stripBom(await readFile(indexPath, 'utf-8')), - baseHref, - deployUrl, - crossOrigin, - sri, - lang, - entrypoints: generateEntryPoints({ scripts, styles }), - files: filterAndMapBuildFiles(files, ['.js', '.css']), - noModuleFiles: filterAndMapBuildFiles(noModuleFiles, '.js'), - moduleFiles: filterAndMapBuildFiles(moduleFiles, '.js'), - loadOutputFile: filePath => readFile(join(dirname(outputPath), filePath), 'utf-8'), - }); - - for (const transform of postTransforms) { - content = await transform(content); - } - - await mkdir(dirname(outputPath), { recursive: true }); - await writeFile(outputPath, content); -} - -function filterAndMapBuildFiles( - files: EmittedFiles[], - extensionFilter: ExtensionFilter | ExtensionFilter[], -): FileInfo[] { - const filteredFiles: FileInfo[] = []; - const validExtensions: string[] = Array.isArray(extensionFilter) - ? extensionFilter - : [extensionFilter]; - - for (const { file, name, extension, initial } of files) { - if (name && initial && validExtensions.includes(extension)) { - filteredFiles.push({ file, extension, name }); - } - } - - return filteredFiles; -} diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts index 18a309831f4d..9fe6fdc9a3e2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts @@ -8,63 +8,32 @@ import * as path from 'path'; import { Compiler, compilation } from 'webpack'; import { RawSource } from 'webpack-sources'; -import { - CrossOriginValue, - FileInfo, - augmentIndexHtml, -} from '../../utils/index-file/augment-index-html'; -import { IndexHtmlTransform } from '../../utils/index-file/write-index-html'; -import { stripBom } from '../../utils/strip-bom'; - -export interface IndexHtmlWebpackPluginOptions { - input: string; - output: string; - baseHref?: string; - entrypoints: string[]; - deployUrl?: string; - sri: boolean; +import { FileInfo } from '../../utils/index-file/augment-index-html'; +import { IndexHtmlGenerator, IndexHtmlGeneratorOptions, IndexHtmlGeneratorProcessOptions } from '../../utils/index-file/index-html-generator'; + +export interface IndexHtmlWebpackPluginOptions extends IndexHtmlGeneratorOptions, + Omit { noModuleEntrypoints: string[]; moduleEntrypoints: string[]; - postTransforms: IndexHtmlTransform[]; - crossOrigin?: CrossOriginValue; - lang?: string; } -function readFile(filename: string, compilation: compilation.Compilation): Promise { - return new Promise((resolve, reject) => { - compilation.inputFileSystem.readFile(filename, (err: Error, data: Buffer) => { - if (err) { - reject(err); - - return; - } +export class IndexHtmlWebpackPlugin extends IndexHtmlGenerator { + private _compilation: compilation.Compilation | undefined; + get compilation(): compilation.Compilation { + if (this._compilation) { + return this._compilation; + } - resolve(stripBom(data.toString())); - }); - }); -} + throw new Error('compilation is undefined.'); + } -export class IndexHtmlWebpackPlugin { - private _options: IndexHtmlWebpackPluginOptions; - - constructor(options?: Partial) { - this._options = { - input: 'index.html', - output: 'index.html', - entrypoints: ['polyfills', 'main'], - noModuleEntrypoints: [], - moduleEntrypoints: [], - sri: false, - postTransforms: [], - ...options, - }; + constructor(readonly options: IndexHtmlWebpackPluginOptions) { + super(options); } apply(compiler: Compiler) { compiler.hooks.emit.tapPromise('index-html-webpack-plugin', async compilation => { - // Get input html file - const inputContent = await readFile(this._options.input, compilation); - compilation.fileDependencies.add(this._options.input); + this._compilation = compilation; // Get all files for selected entrypoints const files: FileInfo[] = []; @@ -72,7 +41,7 @@ export class IndexHtmlWebpackPlugin { const moduleFiles: FileInfo[] = []; for (const [entryName, entrypoint] of compilation.entrypoints) { - const entryFiles: FileInfo[] = ((entrypoint && entrypoint.getFiles()) || []).map( + const entryFiles: FileInfo[] = entrypoint?.getFiles()?.map( (f: string): FileInfo => ({ name: entryName, file: f, @@ -80,42 +49,50 @@ export class IndexHtmlWebpackPlugin { }), ); - if (this._options.noModuleEntrypoints.includes(entryName)) { + if (!entryFiles) { + continue; + } + + if (this.options.noModuleEntrypoints.includes(entryName)) { noModuleFiles.push(...entryFiles); - } else if (this._options.moduleEntrypoints.includes(entryName)) { + } else if (this.options.moduleEntrypoints.includes(entryName)) { moduleFiles.push(...entryFiles); } else { files.push(...entryFiles); } } - const loadOutputFile = async (name: string) => { - const data = compilation.assets[name].source(); - - return typeof data === 'string' ? data : data.toString(); - }; - - let indexSource = await augmentIndexHtml({ - input: this._options.input, - inputContent, - baseHref: this._options.baseHref, - deployUrl: this._options.deployUrl, - sri: this._options.sri, - crossOrigin: this._options.crossOrigin, + const content = await this.process({ files, noModuleFiles, - loadOutputFile, moduleFiles, - entrypoints: this._options.entrypoints, - lang: this._options.lang, + outputPath: this.options.outputPath, + baseHref: this.options.baseHref, + lang: this.options.lang, }); - for (const transform of this._options.postTransforms) { - indexSource = await transform(indexSource); - } + compilation.assets[this.options.outputPath] = new RawSource(content); + }); + } + + async readAsset(path: string): Promise { + const data = this.compilation.assets[path].source(); + + return typeof data === 'string' ? data : data.toString(); + } + + protected async readIndex(path: string): Promise { + return new Promise((resolve, reject) => { + this.compilation.inputFileSystem.readFile(path, (err: Error, data: Buffer) => { + if (err) { + reject(err); - // Add to compilation assets - compilation.assets[this._options.output] = new RawSource(indexSource); + return; + } + + this.compilation.fileDependencies.add(path); + resolve(data.toString()); + }); }); } } From 0f72ca45c3339fdd066c472fa2c6a9b5c1666f9d Mon Sep 17 00:00:00 2001 From: Mike Hartington Date: Fri, 13 Nov 2020 17:48:11 -0500 Subject: [PATCH 206/696] fix(@angular-devkit/build-angular): ignore hidden inputs with hmr Closes #19385 Don't query for hidden inputs when using HMR --- .../build_angular/src/dev-server/hmr_spec.ts | 8 ++++---- .../build_angular/src/webpack/plugins/hmr/hmr-accept.ts | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts index dde03b3d962e..90fdb568f476 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts @@ -56,8 +56,8 @@ describe('Dev Server Builder HMR', () => { 'src/app/app.component.html': `

{{title}}

- - + + -
- - - - -
-
- - -
-
-
-
-
-
-
-
-
-
- npm install -g @angular/cli - ng new my-dream-app - cd my-dream-app - ng serve -
-
-
-
-

Angular CLI

-
A command line interface for Angular
- - Get Started - -
-
-
- - -
- - -
- -
-

ng new

-

The Angular CLI makes it easy to create an application that already works, right out of the box. It already follows our best practices!

-
- -
-

ng generate

-

Generate components, routes, services and pipes with a simple command. The CLI will also create simple test shells for all of these.

-
- -
-

ng serve

-

Easily test your app locally while developing.

-
- -
-

Test, Lint

-

Make your code really shine. Run your unit tests, your end-to-end tests, or execute the official Angular linter with the breeze of a command.

-
- - - -
- - - - -
- - - - - diff --git a/etc/cli.angular.io/license.html b/etc/cli.angular.io/license.html deleted file mode 100644 index 0131cc303c40..000000000000 --- a/etc/cli.angular.io/license.html +++ /dev/null @@ -1,23 +0,0 @@ -
The MIT License
-
-Copyright (c) Google, Inc. All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
- diff --git a/etc/cli.angular.io/main.css b/etc/cli.angular.io/main.css deleted file mode 100644 index 61b0cb066543..000000000000 --- a/etc/cli.angular.io/main.css +++ /dev/null @@ -1 +0,0 @@ -body{font-family:"Roboto",Helvetica,sans-serif}h4,h5{font-size:30px;font-weight:400;line-height:40px;margin-bottom:15px;margin-top:15px}h5{font-size:16px;font-weight:300;line-height:28px;margin-bottom:25px;max-width:300px}.mdl-demo section.section--center{max-width:920px}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__header{background-color:#f44336;box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.mdl-layout__header a{color:#fff;text-decoration:none}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:0;width:100%}.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:25px;padding-right:0}.mdl-layout__drawer-button,.top-nav-wrapper label{display:none}@media (max-width:1024px){.mdl-layout__drawer-button{display:inline-block}}.mdl-layout__drawer{margin-top:65px;height:calc(100% - 65px)}@media (max-width:1024px){.mdl-layout__drawer{margin-top:0;height:100%}}.mdl-layout-title,.mdl-layout__title{font-size:16px;line-height:28px;letter-spacing:.02em}.microsite-name{display:inline-block;font-size:20px;margin-left:8px;margin-right:30px;text-transform:uppercase;-webkit-transform:translateY(3px);transform:translateY(3px)}.mdl-navigation__link{font-size:16px;text-transform:uppercase;text-decoration:none}.mdl-navigation__link:hover,.top-nav-wrapper label:hover{background-color:#d32f2f}.top-nav-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}@media (max-width:800px){.top-nav-wrapper{display:block;position:absolute;right:0;top:0;width:100%}.top-nav-wrapper label{cursor:pointer;display:block;float:right;line-height:56px;padding:0 16px}.top-nav-wrapper nav{background:#d32f2f;clear:both;display:none;height:auto!important}.top-nav-wrapper nav a{display:block}.top-nav-wrapper .mdl-layout-spacer{display:none}input:checked+.top-nav-wrapper label{background:#d32f2f}input:checked+.top-nav-wrapper nav{display:block}}.hero-background{background:-webkit-linear-gradient(#d32f2f ,#f44336);background:linear-gradient(#d32f2f ,#f44336);color:#fff;margin-bottom:60px}.mdl-grid,.mdl-mega-footer--bottom-section .mdl-cell--9-col{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hero-container{padding:56px 0!important}@media (max-width:830px){.hero-container{text-align:center}}.logo-container{overflow:hidden;text-align:center}@media (max-width:840px){.tagline{max-width:100%}}.mdl-button{height:45px;line-height:45px;min-width:140px;padding:0 30px}.mdl-button--primary.mdl-button--primary.mdl-button--fab,.mdl-button--primary.mdl-button--primary.mdl-button--raised{background-color:#fff;color:#b71c1c}.features-list{width:920px;margin:0 0 23px;padding:15px 200px 15px 15px}@media (max-width:840px){.features-list{padding-right:15px}}.features-list h4{color:#37474f;font-size:28px;font-weight:500;line-height:32px;margin:0 0 16px;opacity:.87}.features-list p,footer ul a{font-size:16px;line-height:30px;opacity:.87}.button-container{margin-bottom:24px!important;text-align:center}.mdl-button--accent.mdl-button--accent.mdl-button--fab,.mdl-button--accent.mdl-button--accent.mdl-button--raised{background-color:#f44336;color:#fff}.mdl-mega-footer--bottom-section .mdl-cell--9-col{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;display:-webkit-box;display:-ms-flexbox;display:flex}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{background-color:#263238;bottom:0;color:#fff;padding-top:0;right:0}footer ul{font-size:14px;font-weight:400;letter-spacing:0;line-height:24px;list-style:none;padding:0}footer ul a{color:#fff;line-height:28px;padding:0;text-decoration:none}footer ul a:hover{text-decoration:underline}@media (max-width:830px){footer ul{background-color:rgba(0,0,0,.12);padding:8px;text-align:center}}.mdl-mega-footer--bottom-section{margin-bottom:0}.mdl-mega-footer--bottom-section p{font-size:12px;margin:0;opacity:.54}.mdl-mega-footer--bottom-section a{color:#fff;font-weight:400;padding:0;text-decoration:none}.power-text{text-align:right}@media (max-width:830px){.power-text{text-align:center;width:calc(100% - 16px)}}.mdl-base{height:100vh} diff --git a/etc/cli.angular.io/material.min.css b/etc/cli.angular.io/material.min.css deleted file mode 100644 index e750f8137205..000000000000 --- a/etc/cli.angular.io/material.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/** - * material-design-lite - Material Design Components in CSS, JS and HTML - * @version v1.1.3 - * @license Apache-2.0 - * @copyright 2015 Google, Inc. - * @link https://github.com/google/material-design-lite - */ -@charset "UTF-8";html{color:rgba(0,0,0,.87)}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.hidden{display:none!important}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}@media print{*,*:before,*:after,*:first-letter{background:transparent!important;color:#000!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}a,.mdl-accordion,.mdl-button,.mdl-card,.mdl-checkbox,.mdl-dropdown-menu,.mdl-icon-toggle,.mdl-item,.mdl-radio,.mdl-slider,.mdl-switch,.mdl-tabs__tab{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(255,255,255,0)}html{width:100%;height:100%;-ms-touch-action:manipulation;touch-action:manipulation}body{width:100%;min-height:100%;margin:0}main{display:block}*[hidden]{display:none!important}html,body{font-family:"Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:20px}h1,h2,h3,h4,h5,h6,p{padding:0}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400;line-height:1.35;letter-spacing:-.02em;opacity:.54;font-size:.6em}h1{font-size:56px;line-height:1.35;letter-spacing:-.02em;margin:24px 0}h1,h2{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h2{font-size:45px;line-height:48px}h2,h3{margin:24px 0}h3{font-size:34px;line-height:40px}h3,h4{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h4{font-size:24px;line-height:32px;-moz-osx-font-smoothing:grayscale;margin:24px 0 16px}h5{font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}h5,h6{font-family:"Roboto","Helvetica","Arial",sans-serif;margin:24px 0 16px}h6{font-size:16px;letter-spacing:.04em}h6,p{font-weight:400;line-height:24px}p{font-size:14px;letter-spacing:0;margin:0 0 16px}a{color:#ff4081;font-weight:500}blockquote{font-family:"Roboto","Helvetica","Arial",sans-serif;position:relative;font-size:24px;font-weight:300;font-style:italic;line-height:1.35;letter-spacing:.08em}blockquote:before{position:absolute;left:-.5em;content:'“'}blockquote:after{content:'”';margin-left:-.05em}mark{background-color:#f4ff81}dt{font-weight:700}address{font-size:12px;line-height:1;font-style:normal}address,ul,ol{font-weight:400;letter-spacing:0}ul,ol{font-size:14px;line-height:24px}.mdl-typography--display-4,.mdl-typography--display-4-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:112px;font-weight:300;line-height:1;letter-spacing:-.04em}.mdl-typography--display-4-color-contrast{opacity:.54}.mdl-typography--display-3,.mdl-typography--display-3-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.02em}.mdl-typography--display-3-color-contrast{opacity:.54}.mdl-typography--display-2,.mdl-typography--display-2-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:45px;font-weight:400;line-height:48px}.mdl-typography--display-2-color-contrast{opacity:.54}.mdl-typography--display-1,.mdl-typography--display-1-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:34px;font-weight:400;line-height:40px}.mdl-typography--display-1-color-contrast{opacity:.54}.mdl-typography--headline,.mdl-typography--headline-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}.mdl-typography--headline-color-contrast{opacity:.87}.mdl-typography--title,.mdl-typography--title-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}.mdl-typography--title-color-contrast{opacity:.87}.mdl-typography--subhead,.mdl-typography--subhead-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:.04em}.mdl-typography--subhead-color-contrast{opacity:.87}.mdl-typography--body-2,.mdl-typography--body-2-color-contrast{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0}.mdl-typography--body-2-color-contrast{opacity:.87}.mdl-typography--body-1,.mdl-typography--body-1-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-color-contrast{opacity:.87}.mdl-typography--body-2-force-preferred-font,.mdl-typography--body-2-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:24px;letter-spacing:0}.mdl-typography--body-2-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--body-1-force-preferred-font,.mdl-typography--body-1-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--caption,.mdl-typography--caption-force-preferred-font{font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--caption-color-contrast,.mdl-typography--caption-force-preferred-font-color-contrast{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.54}.mdl-typography--caption-force-preferred-font-color-contrast,.mdl-typography--menu{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--menu{font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--menu-color-contrast{opacity:.87}.mdl-typography--menu-color-contrast,.mdl-typography--button,.mdl-typography--button-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--button,.mdl-typography--button-color-contrast{text-transform:uppercase}.mdl-typography--button-color-contrast{opacity:.87}.mdl-typography--text-left{text-align:left}.mdl-typography--text-right{text-align:right}.mdl-typography--text-center{text-align:center}.mdl-typography--text-justify{text-align:justify}.mdl-typography--text-nowrap{white-space:nowrap}.mdl-typography--text-lowercase{text-transform:lowercase}.mdl-typography--text-uppercase{text-transform:uppercase}.mdl-typography--text-capitalize{text-transform:capitalize}.mdl-typography--font-thin{font-weight:200!important}.mdl-typography--font-light{font-weight:300!important}.mdl-typography--font-regular{font-weight:400!important}.mdl-typography--font-medium{font-weight:500!important}.mdl-typography--font-bold{font-weight:700!important}.mdl-typography--font-black{font-weight:900!important}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.mdl-color-text--red{color:#f44336 !important}.mdl-color--red{background-color:#f44336 !important}.mdl-color-text--red-50{color:#ffebee !important}.mdl-color--red-50{background-color:#ffebee !important}.mdl-color-text--red-100{color:#ffcdd2 !important}.mdl-color--red-100{background-color:#ffcdd2 !important}.mdl-color-text--red-200{color:#ef9a9a !important}.mdl-color--red-200{background-color:#ef9a9a !important}.mdl-color-text--red-300{color:#e57373 !important}.mdl-color--red-300{background-color:#e57373 !important}.mdl-color-text--red-400{color:#ef5350 !important}.mdl-color--red-400{background-color:#ef5350 !important}.mdl-color-text--red-500{color:#f44336 !important}.mdl-color--red-500{background-color:#f44336 !important}.mdl-color-text--red-600{color:#e53935 !important}.mdl-color--red-600{background-color:#e53935 !important}.mdl-color-text--red-700{color:#d32f2f !important}.mdl-color--red-700{background-color:#d32f2f !important}.mdl-color-text--red-800{color:#c62828 !important}.mdl-color--red-800{background-color:#c62828 !important}.mdl-color-text--red-900{color:#b71c1c !important}.mdl-color--red-900{background-color:#b71c1c !important}.mdl-color-text--red-A100{color:#ff8a80 !important}.mdl-color--red-A100{background-color:#ff8a80 !important}.mdl-color-text--red-A200{color:#ff5252 !important}.mdl-color--red-A200{background-color:#ff5252 !important}.mdl-color-text--red-A400{color:#ff1744 !important}.mdl-color--red-A400{background-color:#ff1744 !important}.mdl-color-text--red-A700{color:#d50000 !important}.mdl-color--red-A700{background-color:#d50000 !important}.mdl-color-text--pink{color:#e91e63 !important}.mdl-color--pink{background-color:#e91e63 !important}.mdl-color-text--pink-50{color:#fce4ec !important}.mdl-color--pink-50{background-color:#fce4ec !important}.mdl-color-text--pink-100{color:#f8bbd0 !important}.mdl-color--pink-100{background-color:#f8bbd0 !important}.mdl-color-text--pink-200{color:#f48fb1 !important}.mdl-color--pink-200{background-color:#f48fb1 !important}.mdl-color-text--pink-300{color:#f06292 !important}.mdl-color--pink-300{background-color:#f06292 !important}.mdl-color-text--pink-400{color:#ec407a !important}.mdl-color--pink-400{background-color:#ec407a !important}.mdl-color-text--pink-500{color:#e91e63 !important}.mdl-color--pink-500{background-color:#e91e63 !important}.mdl-color-text--pink-600{color:#d81b60 !important}.mdl-color--pink-600{background-color:#d81b60 !important}.mdl-color-text--pink-700{color:#c2185b !important}.mdl-color--pink-700{background-color:#c2185b !important}.mdl-color-text--pink-800{color:#ad1457 !important}.mdl-color--pink-800{background-color:#ad1457 !important}.mdl-color-text--pink-900{color:#880e4f !important}.mdl-color--pink-900{background-color:#880e4f !important}.mdl-color-text--pink-A100{color:#ff80ab !important}.mdl-color--pink-A100{background-color:#ff80ab !important}.mdl-color-text--pink-A200{color:#ff4081 !important}.mdl-color--pink-A200{background-color:#ff4081 !important}.mdl-color-text--pink-A400{color:#f50057 !important}.mdl-color--pink-A400{background-color:#f50057 !important}.mdl-color-text--pink-A700{color:#c51162 !important}.mdl-color--pink-A700{background-color:#c51162 !important}.mdl-color-text--purple{color:#9c27b0 !important}.mdl-color--purple{background-color:#9c27b0 !important}.mdl-color-text--purple-50{color:#f3e5f5 !important}.mdl-color--purple-50{background-color:#f3e5f5 !important}.mdl-color-text--purple-100{color:#e1bee7 !important}.mdl-color--purple-100{background-color:#e1bee7 !important}.mdl-color-text--purple-200{color:#ce93d8 !important}.mdl-color--purple-200{background-color:#ce93d8 !important}.mdl-color-text--purple-300{color:#ba68c8 !important}.mdl-color--purple-300{background-color:#ba68c8 !important}.mdl-color-text--purple-400{color:#ab47bc !important}.mdl-color--purple-400{background-color:#ab47bc !important}.mdl-color-text--purple-500{color:#9c27b0 !important}.mdl-color--purple-500{background-color:#9c27b0 !important}.mdl-color-text--purple-600{color:#8e24aa !important}.mdl-color--purple-600{background-color:#8e24aa !important}.mdl-color-text--purple-700{color:#7b1fa2 !important}.mdl-color--purple-700{background-color:#7b1fa2 !important}.mdl-color-text--purple-800{color:#6a1b9a !important}.mdl-color--purple-800{background-color:#6a1b9a !important}.mdl-color-text--purple-900{color:#4a148c !important}.mdl-color--purple-900{background-color:#4a148c !important}.mdl-color-text--purple-A100{color:#ea80fc !important}.mdl-color--purple-A100{background-color:#ea80fc !important}.mdl-color-text--purple-A200{color:#e040fb !important}.mdl-color--purple-A200{background-color:#e040fb !important}.mdl-color-text--purple-A400{color:#d500f9 !important}.mdl-color--purple-A400{background-color:#d500f9 !important}.mdl-color-text--purple-A700{color:#a0f !important}.mdl-color--purple-A700{background-color:#a0f !important}.mdl-color-text--deep-purple{color:#673ab7 !important}.mdl-color--deep-purple{background-color:#673ab7 !important}.mdl-color-text--deep-purple-50{color:#ede7f6 !important}.mdl-color--deep-purple-50{background-color:#ede7f6 !important}.mdl-color-text--deep-purple-100{color:#d1c4e9 !important}.mdl-color--deep-purple-100{background-color:#d1c4e9 !important}.mdl-color-text--deep-purple-200{color:#b39ddb !important}.mdl-color--deep-purple-200{background-color:#b39ddb !important}.mdl-color-text--deep-purple-300{color:#9575cd !important}.mdl-color--deep-purple-300{background-color:#9575cd !important}.mdl-color-text--deep-purple-400{color:#7e57c2 !important}.mdl-color--deep-purple-400{background-color:#7e57c2 !important}.mdl-color-text--deep-purple-500{color:#673ab7 !important}.mdl-color--deep-purple-500{background-color:#673ab7 !important}.mdl-color-text--deep-purple-600{color:#5e35b1 !important}.mdl-color--deep-purple-600{background-color:#5e35b1 !important}.mdl-color-text--deep-purple-700{color:#512da8 !important}.mdl-color--deep-purple-700{background-color:#512da8 !important}.mdl-color-text--deep-purple-800{color:#4527a0 !important}.mdl-color--deep-purple-800{background-color:#4527a0 !important}.mdl-color-text--deep-purple-900{color:#311b92 !important}.mdl-color--deep-purple-900{background-color:#311b92 !important}.mdl-color-text--deep-purple-A100{color:#b388ff !important}.mdl-color--deep-purple-A100{background-color:#b388ff !important}.mdl-color-text--deep-purple-A200{color:#7c4dff !important}.mdl-color--deep-purple-A200{background-color:#7c4dff !important}.mdl-color-text--deep-purple-A400{color:#651fff !important}.mdl-color--deep-purple-A400{background-color:#651fff !important}.mdl-color-text--deep-purple-A700{color:#6200ea !important}.mdl-color--deep-purple-A700{background-color:#6200ea !important}.mdl-color-text--indigo{color:#3f51b5 !important}.mdl-color--indigo{background-color:#3f51b5 !important}.mdl-color-text--indigo-50{color:#e8eaf6 !important}.mdl-color--indigo-50{background-color:#e8eaf6 !important}.mdl-color-text--indigo-100{color:#c5cae9 !important}.mdl-color--indigo-100{background-color:#c5cae9 !important}.mdl-color-text--indigo-200{color:#9fa8da !important}.mdl-color--indigo-200{background-color:#9fa8da !important}.mdl-color-text--indigo-300{color:#7986cb !important}.mdl-color--indigo-300{background-color:#7986cb !important}.mdl-color-text--indigo-400{color:#5c6bc0 !important}.mdl-color--indigo-400{background-color:#5c6bc0 !important}.mdl-color-text--indigo-500{color:#3f51b5 !important}.mdl-color--indigo-500{background-color:#3f51b5 !important}.mdl-color-text--indigo-600{color:#3949ab !important}.mdl-color--indigo-600{background-color:#3949ab !important}.mdl-color-text--indigo-700{color:#303f9f !important}.mdl-color--indigo-700{background-color:#303f9f !important}.mdl-color-text--indigo-800{color:#283593 !important}.mdl-color--indigo-800{background-color:#283593 !important}.mdl-color-text--indigo-900{color:#1a237e !important}.mdl-color--indigo-900{background-color:#1a237e !important}.mdl-color-text--indigo-A100{color:#8c9eff !important}.mdl-color--indigo-A100{background-color:#8c9eff !important}.mdl-color-text--indigo-A200{color:#536dfe !important}.mdl-color--indigo-A200{background-color:#536dfe !important}.mdl-color-text--indigo-A400{color:#3d5afe !important}.mdl-color--indigo-A400{background-color:#3d5afe !important}.mdl-color-text--indigo-A700{color:#304ffe !important}.mdl-color--indigo-A700{background-color:#304ffe !important}.mdl-color-text--blue{color:#2196f3 !important}.mdl-color--blue{background-color:#2196f3 !important}.mdl-color-text--blue-50{color:#e3f2fd !important}.mdl-color--blue-50{background-color:#e3f2fd !important}.mdl-color-text--blue-100{color:#bbdefb !important}.mdl-color--blue-100{background-color:#bbdefb !important}.mdl-color-text--blue-200{color:#90caf9 !important}.mdl-color--blue-200{background-color:#90caf9 !important}.mdl-color-text--blue-300{color:#64b5f6 !important}.mdl-color--blue-300{background-color:#64b5f6 !important}.mdl-color-text--blue-400{color:#42a5f5 !important}.mdl-color--blue-400{background-color:#42a5f5 !important}.mdl-color-text--blue-500{color:#2196f3 !important}.mdl-color--blue-500{background-color:#2196f3 !important}.mdl-color-text--blue-600{color:#1e88e5 !important}.mdl-color--blue-600{background-color:#1e88e5 !important}.mdl-color-text--blue-700{color:#1976d2 !important}.mdl-color--blue-700{background-color:#1976d2 !important}.mdl-color-text--blue-800{color:#1565c0 !important}.mdl-color--blue-800{background-color:#1565c0 !important}.mdl-color-text--blue-900{color:#0d47a1 !important}.mdl-color--blue-900{background-color:#0d47a1 !important}.mdl-color-text--blue-A100{color:#82b1ff !important}.mdl-color--blue-A100{background-color:#82b1ff !important}.mdl-color-text--blue-A200{color:#448aff !important}.mdl-color--blue-A200{background-color:#448aff !important}.mdl-color-text--blue-A400{color:#2979ff !important}.mdl-color--blue-A400{background-color:#2979ff !important}.mdl-color-text--blue-A700{color:#2962ff !important}.mdl-color--blue-A700{background-color:#2962ff !important}.mdl-color-text--light-blue{color:#03a9f4 !important}.mdl-color--light-blue{background-color:#03a9f4 !important}.mdl-color-text--light-blue-50{color:#e1f5fe !important}.mdl-color--light-blue-50{background-color:#e1f5fe !important}.mdl-color-text--light-blue-100{color:#b3e5fc !important}.mdl-color--light-blue-100{background-color:#b3e5fc !important}.mdl-color-text--light-blue-200{color:#81d4fa !important}.mdl-color--light-blue-200{background-color:#81d4fa !important}.mdl-color-text--light-blue-300{color:#4fc3f7 !important}.mdl-color--light-blue-300{background-color:#4fc3f7 !important}.mdl-color-text--light-blue-400{color:#29b6f6 !important}.mdl-color--light-blue-400{background-color:#29b6f6 !important}.mdl-color-text--light-blue-500{color:#03a9f4 !important}.mdl-color--light-blue-500{background-color:#03a9f4 !important}.mdl-color-text--light-blue-600{color:#039be5 !important}.mdl-color--light-blue-600{background-color:#039be5 !important}.mdl-color-text--light-blue-700{color:#0288d1 !important}.mdl-color--light-blue-700{background-color:#0288d1 !important}.mdl-color-text--light-blue-800{color:#0277bd !important}.mdl-color--light-blue-800{background-color:#0277bd !important}.mdl-color-text--light-blue-900{color:#01579b !important}.mdl-color--light-blue-900{background-color:#01579b !important}.mdl-color-text--light-blue-A100{color:#80d8ff !important}.mdl-color--light-blue-A100{background-color:#80d8ff !important}.mdl-color-text--light-blue-A200{color:#40c4ff !important}.mdl-color--light-blue-A200{background-color:#40c4ff !important}.mdl-color-text--light-blue-A400{color:#00b0ff !important}.mdl-color--light-blue-A400{background-color:#00b0ff !important}.mdl-color-text--light-blue-A700{color:#0091ea !important}.mdl-color--light-blue-A700{background-color:#0091ea !important}.mdl-color-text--cyan{color:#00bcd4 !important}.mdl-color--cyan{background-color:#00bcd4 !important}.mdl-color-text--cyan-50{color:#e0f7fa !important}.mdl-color--cyan-50{background-color:#e0f7fa !important}.mdl-color-text--cyan-100{color:#b2ebf2 !important}.mdl-color--cyan-100{background-color:#b2ebf2 !important}.mdl-color-text--cyan-200{color:#80deea !important}.mdl-color--cyan-200{background-color:#80deea !important}.mdl-color-text--cyan-300{color:#4dd0e1 !important}.mdl-color--cyan-300{background-color:#4dd0e1 !important}.mdl-color-text--cyan-400{color:#26c6da !important}.mdl-color--cyan-400{background-color:#26c6da !important}.mdl-color-text--cyan-500{color:#00bcd4 !important}.mdl-color--cyan-500{background-color:#00bcd4 !important}.mdl-color-text--cyan-600{color:#00acc1 !important}.mdl-color--cyan-600{background-color:#00acc1 !important}.mdl-color-text--cyan-700{color:#0097a7 !important}.mdl-color--cyan-700{background-color:#0097a7 !important}.mdl-color-text--cyan-800{color:#00838f !important}.mdl-color--cyan-800{background-color:#00838f !important}.mdl-color-text--cyan-900{color:#006064 !important}.mdl-color--cyan-900{background-color:#006064 !important}.mdl-color-text--cyan-A100{color:#84ffff !important}.mdl-color--cyan-A100{background-color:#84ffff !important}.mdl-color-text--cyan-A200{color:#18ffff !important}.mdl-color--cyan-A200{background-color:#18ffff !important}.mdl-color-text--cyan-A400{color:#00e5ff !important}.mdl-color--cyan-A400{background-color:#00e5ff !important}.mdl-color-text--cyan-A700{color:#00b8d4 !important}.mdl-color--cyan-A700{background-color:#00b8d4 !important}.mdl-color-text--teal{color:#009688 !important}.mdl-color--teal{background-color:#009688 !important}.mdl-color-text--teal-50{color:#e0f2f1 !important}.mdl-color--teal-50{background-color:#e0f2f1 !important}.mdl-color-text--teal-100{color:#b2dfdb !important}.mdl-color--teal-100{background-color:#b2dfdb !important}.mdl-color-text--teal-200{color:#80cbc4 !important}.mdl-color--teal-200{background-color:#80cbc4 !important}.mdl-color-text--teal-300{color:#4db6ac !important}.mdl-color--teal-300{background-color:#4db6ac !important}.mdl-color-text--teal-400{color:#26a69a !important}.mdl-color--teal-400{background-color:#26a69a !important}.mdl-color-text--teal-500{color:#009688 !important}.mdl-color--teal-500{background-color:#009688 !important}.mdl-color-text--teal-600{color:#00897b !important}.mdl-color--teal-600{background-color:#00897b !important}.mdl-color-text--teal-700{color:#00796b !important}.mdl-color--teal-700{background-color:#00796b !important}.mdl-color-text--teal-800{color:#00695c !important}.mdl-color--teal-800{background-color:#00695c !important}.mdl-color-text--teal-900{color:#004d40 !important}.mdl-color--teal-900{background-color:#004d40 !important}.mdl-color-text--teal-A100{color:#a7ffeb !important}.mdl-color--teal-A100{background-color:#a7ffeb !important}.mdl-color-text--teal-A200{color:#64ffda !important}.mdl-color--teal-A200{background-color:#64ffda !important}.mdl-color-text--teal-A400{color:#1de9b6 !important}.mdl-color--teal-A400{background-color:#1de9b6 !important}.mdl-color-text--teal-A700{color:#00bfa5 !important}.mdl-color--teal-A700{background-color:#00bfa5 !important}.mdl-color-text--green{color:#4caf50 !important}.mdl-color--green{background-color:#4caf50 !important}.mdl-color-text--green-50{color:#e8f5e9 !important}.mdl-color--green-50{background-color:#e8f5e9 !important}.mdl-color-text--green-100{color:#c8e6c9 !important}.mdl-color--green-100{background-color:#c8e6c9 !important}.mdl-color-text--green-200{color:#a5d6a7 !important}.mdl-color--green-200{background-color:#a5d6a7 !important}.mdl-color-text--green-300{color:#81c784 !important}.mdl-color--green-300{background-color:#81c784 !important}.mdl-color-text--green-400{color:#66bb6a !important}.mdl-color--green-400{background-color:#66bb6a !important}.mdl-color-text--green-500{color:#4caf50 !important}.mdl-color--green-500{background-color:#4caf50 !important}.mdl-color-text--green-600{color:#43a047 !important}.mdl-color--green-600{background-color:#43a047 !important}.mdl-color-text--green-700{color:#388e3c !important}.mdl-color--green-700{background-color:#388e3c !important}.mdl-color-text--green-800{color:#2e7d32 !important}.mdl-color--green-800{background-color:#2e7d32 !important}.mdl-color-text--green-900{color:#1b5e20 !important}.mdl-color--green-900{background-color:#1b5e20 !important}.mdl-color-text--green-A100{color:#b9f6ca !important}.mdl-color--green-A100{background-color:#b9f6ca !important}.mdl-color-text--green-A200{color:#69f0ae !important}.mdl-color--green-A200{background-color:#69f0ae !important}.mdl-color-text--green-A400{color:#00e676 !important}.mdl-color--green-A400{background-color:#00e676 !important}.mdl-color-text--green-A700{color:#00c853 !important}.mdl-color--green-A700{background-color:#00c853 !important}.mdl-color-text--light-green{color:#8bc34a !important}.mdl-color--light-green{background-color:#8bc34a !important}.mdl-color-text--light-green-50{color:#f1f8e9 !important}.mdl-color--light-green-50{background-color:#f1f8e9 !important}.mdl-color-text--light-green-100{color:#dcedc8 !important}.mdl-color--light-green-100{background-color:#dcedc8 !important}.mdl-color-text--light-green-200{color:#c5e1a5 !important}.mdl-color--light-green-200{background-color:#c5e1a5 !important}.mdl-color-text--light-green-300{color:#aed581 !important}.mdl-color--light-green-300{background-color:#aed581 !important}.mdl-color-text--light-green-400{color:#9ccc65 !important}.mdl-color--light-green-400{background-color:#9ccc65 !important}.mdl-color-text--light-green-500{color:#8bc34a !important}.mdl-color--light-green-500{background-color:#8bc34a !important}.mdl-color-text--light-green-600{color:#7cb342 !important}.mdl-color--light-green-600{background-color:#7cb342 !important}.mdl-color-text--light-green-700{color:#689f38 !important}.mdl-color--light-green-700{background-color:#689f38 !important}.mdl-color-text--light-green-800{color:#558b2f !important}.mdl-color--light-green-800{background-color:#558b2f !important}.mdl-color-text--light-green-900{color:#33691e !important}.mdl-color--light-green-900{background-color:#33691e !important}.mdl-color-text--light-green-A100{color:#ccff90 !important}.mdl-color--light-green-A100{background-color:#ccff90 !important}.mdl-color-text--light-green-A200{color:#b2ff59 !important}.mdl-color--light-green-A200{background-color:#b2ff59 !important}.mdl-color-text--light-green-A400{color:#76ff03 !important}.mdl-color--light-green-A400{background-color:#76ff03 !important}.mdl-color-text--light-green-A700{color:#64dd17 !important}.mdl-color--light-green-A700{background-color:#64dd17 !important}.mdl-color-text--lime{color:#cddc39 !important}.mdl-color--lime{background-color:#cddc39 !important}.mdl-color-text--lime-50{color:#f9fbe7 !important}.mdl-color--lime-50{background-color:#f9fbe7 !important}.mdl-color-text--lime-100{color:#f0f4c3 !important}.mdl-color--lime-100{background-color:#f0f4c3 !important}.mdl-color-text--lime-200{color:#e6ee9c !important}.mdl-color--lime-200{background-color:#e6ee9c !important}.mdl-color-text--lime-300{color:#dce775 !important}.mdl-color--lime-300{background-color:#dce775 !important}.mdl-color-text--lime-400{color:#d4e157 !important}.mdl-color--lime-400{background-color:#d4e157 !important}.mdl-color-text--lime-500{color:#cddc39 !important}.mdl-color--lime-500{background-color:#cddc39 !important}.mdl-color-text--lime-600{color:#c0ca33 !important}.mdl-color--lime-600{background-color:#c0ca33 !important}.mdl-color-text--lime-700{color:#afb42b !important}.mdl-color--lime-700{background-color:#afb42b !important}.mdl-color-text--lime-800{color:#9e9d24 !important}.mdl-color--lime-800{background-color:#9e9d24 !important}.mdl-color-text--lime-900{color:#827717 !important}.mdl-color--lime-900{background-color:#827717 !important}.mdl-color-text--lime-A100{color:#f4ff81 !important}.mdl-color--lime-A100{background-color:#f4ff81 !important}.mdl-color-text--lime-A200{color:#eeff41 !important}.mdl-color--lime-A200{background-color:#eeff41 !important}.mdl-color-text--lime-A400{color:#c6ff00 !important}.mdl-color--lime-A400{background-color:#c6ff00 !important}.mdl-color-text--lime-A700{color:#aeea00 !important}.mdl-color--lime-A700{background-color:#aeea00 !important}.mdl-color-text--yellow{color:#ffeb3b !important}.mdl-color--yellow{background-color:#ffeb3b !important}.mdl-color-text--yellow-50{color:#fffde7 !important}.mdl-color--yellow-50{background-color:#fffde7 !important}.mdl-color-text--yellow-100{color:#fff9c4 !important}.mdl-color--yellow-100{background-color:#fff9c4 !important}.mdl-color-text--yellow-200{color:#fff59d !important}.mdl-color--yellow-200{background-color:#fff59d !important}.mdl-color-text--yellow-300{color:#fff176 !important}.mdl-color--yellow-300{background-color:#fff176 !important}.mdl-color-text--yellow-400{color:#ffee58 !important}.mdl-color--yellow-400{background-color:#ffee58 !important}.mdl-color-text--yellow-500{color:#ffeb3b !important}.mdl-color--yellow-500{background-color:#ffeb3b !important}.mdl-color-text--yellow-600{color:#fdd835 !important}.mdl-color--yellow-600{background-color:#fdd835 !important}.mdl-color-text--yellow-700{color:#fbc02d !important}.mdl-color--yellow-700{background-color:#fbc02d !important}.mdl-color-text--yellow-800{color:#f9a825 !important}.mdl-color--yellow-800{background-color:#f9a825 !important}.mdl-color-text--yellow-900{color:#f57f17 !important}.mdl-color--yellow-900{background-color:#f57f17 !important}.mdl-color-text--yellow-A100{color:#ffff8d !important}.mdl-color--yellow-A100{background-color:#ffff8d !important}.mdl-color-text--yellow-A200{color:#ff0 !important}.mdl-color--yellow-A200{background-color:#ff0 !important}.mdl-color-text--yellow-A400{color:#ffea00 !important}.mdl-color--yellow-A400{background-color:#ffea00 !important}.mdl-color-text--yellow-A700{color:#ffd600 !important}.mdl-color--yellow-A700{background-color:#ffd600 !important}.mdl-color-text--amber{color:#ffc107 !important}.mdl-color--amber{background-color:#ffc107 !important}.mdl-color-text--amber-50{color:#fff8e1 !important}.mdl-color--amber-50{background-color:#fff8e1 !important}.mdl-color-text--amber-100{color:#ffecb3 !important}.mdl-color--amber-100{background-color:#ffecb3 !important}.mdl-color-text--amber-200{color:#ffe082 !important}.mdl-color--amber-200{background-color:#ffe082 !important}.mdl-color-text--amber-300{color:#ffd54f !important}.mdl-color--amber-300{background-color:#ffd54f !important}.mdl-color-text--amber-400{color:#ffca28 !important}.mdl-color--amber-400{background-color:#ffca28 !important}.mdl-color-text--amber-500{color:#ffc107 !important}.mdl-color--amber-500{background-color:#ffc107 !important}.mdl-color-text--amber-600{color:#ffb300 !important}.mdl-color--amber-600{background-color:#ffb300 !important}.mdl-color-text--amber-700{color:#ffa000 !important}.mdl-color--amber-700{background-color:#ffa000 !important}.mdl-color-text--amber-800{color:#ff8f00 !important}.mdl-color--amber-800{background-color:#ff8f00 !important}.mdl-color-text--amber-900{color:#ff6f00 !important}.mdl-color--amber-900{background-color:#ff6f00 !important}.mdl-color-text--amber-A100{color:#ffe57f !important}.mdl-color--amber-A100{background-color:#ffe57f !important}.mdl-color-text--amber-A200{color:#ffd740 !important}.mdl-color--amber-A200{background-color:#ffd740 !important}.mdl-color-text--amber-A400{color:#ffc400 !important}.mdl-color--amber-A400{background-color:#ffc400 !important}.mdl-color-text--amber-A700{color:#ffab00 !important}.mdl-color--amber-A700{background-color:#ffab00 !important}.mdl-color-text--orange{color:#ff9800 !important}.mdl-color--orange{background-color:#ff9800 !important}.mdl-color-text--orange-50{color:#fff3e0 !important}.mdl-color--orange-50{background-color:#fff3e0 !important}.mdl-color-text--orange-100{color:#ffe0b2 !important}.mdl-color--orange-100{background-color:#ffe0b2 !important}.mdl-color-text--orange-200{color:#ffcc80 !important}.mdl-color--orange-200{background-color:#ffcc80 !important}.mdl-color-text--orange-300{color:#ffb74d !important}.mdl-color--orange-300{background-color:#ffb74d !important}.mdl-color-text--orange-400{color:#ffa726 !important}.mdl-color--orange-400{background-color:#ffa726 !important}.mdl-color-text--orange-500{color:#ff9800 !important}.mdl-color--orange-500{background-color:#ff9800 !important}.mdl-color-text--orange-600{color:#fb8c00 !important}.mdl-color--orange-600{background-color:#fb8c00 !important}.mdl-color-text--orange-700{color:#f57c00 !important}.mdl-color--orange-700{background-color:#f57c00 !important}.mdl-color-text--orange-800{color:#ef6c00 !important}.mdl-color--orange-800{background-color:#ef6c00 !important}.mdl-color-text--orange-900{color:#e65100 !important}.mdl-color--orange-900{background-color:#e65100 !important}.mdl-color-text--orange-A100{color:#ffd180 !important}.mdl-color--orange-A100{background-color:#ffd180 !important}.mdl-color-text--orange-A200{color:#ffab40 !important}.mdl-color--orange-A200{background-color:#ffab40 !important}.mdl-color-text--orange-A400{color:#ff9100 !important}.mdl-color--orange-A400{background-color:#ff9100 !important}.mdl-color-text--orange-A700{color:#ff6d00 !important}.mdl-color--orange-A700{background-color:#ff6d00 !important}.mdl-color-text--deep-orange{color:#ff5722 !important}.mdl-color--deep-orange{background-color:#ff5722 !important}.mdl-color-text--deep-orange-50{color:#fbe9e7 !important}.mdl-color--deep-orange-50{background-color:#fbe9e7 !important}.mdl-color-text--deep-orange-100{color:#ffccbc !important}.mdl-color--deep-orange-100{background-color:#ffccbc !important}.mdl-color-text--deep-orange-200{color:#ffab91 !important}.mdl-color--deep-orange-200{background-color:#ffab91 !important}.mdl-color-text--deep-orange-300{color:#ff8a65 !important}.mdl-color--deep-orange-300{background-color:#ff8a65 !important}.mdl-color-text--deep-orange-400{color:#ff7043 !important}.mdl-color--deep-orange-400{background-color:#ff7043 !important}.mdl-color-text--deep-orange-500{color:#ff5722 !important}.mdl-color--deep-orange-500{background-color:#ff5722 !important}.mdl-color-text--deep-orange-600{color:#f4511e !important}.mdl-color--deep-orange-600{background-color:#f4511e !important}.mdl-color-text--deep-orange-700{color:#e64a19 !important}.mdl-color--deep-orange-700{background-color:#e64a19 !important}.mdl-color-text--deep-orange-800{color:#d84315 !important}.mdl-color--deep-orange-800{background-color:#d84315 !important}.mdl-color-text--deep-orange-900{color:#bf360c !important}.mdl-color--deep-orange-900{background-color:#bf360c !important}.mdl-color-text--deep-orange-A100{color:#ff9e80 !important}.mdl-color--deep-orange-A100{background-color:#ff9e80 !important}.mdl-color-text--deep-orange-A200{color:#ff6e40 !important}.mdl-color--deep-orange-A200{background-color:#ff6e40 !important}.mdl-color-text--deep-orange-A400{color:#ff3d00 !important}.mdl-color--deep-orange-A400{background-color:#ff3d00 !important}.mdl-color-text--deep-orange-A700{color:#dd2c00 !important}.mdl-color--deep-orange-A700{background-color:#dd2c00 !important}.mdl-color-text--brown{color:#795548 !important}.mdl-color--brown{background-color:#795548 !important}.mdl-color-text--brown-50{color:#efebe9 !important}.mdl-color--brown-50{background-color:#efebe9 !important}.mdl-color-text--brown-100{color:#d7ccc8 !important}.mdl-color--brown-100{background-color:#d7ccc8 !important}.mdl-color-text--brown-200{color:#bcaaa4 !important}.mdl-color--brown-200{background-color:#bcaaa4 !important}.mdl-color-text--brown-300{color:#a1887f !important}.mdl-color--brown-300{background-color:#a1887f !important}.mdl-color-text--brown-400{color:#8d6e63 !important}.mdl-color--brown-400{background-color:#8d6e63 !important}.mdl-color-text--brown-500{color:#795548 !important}.mdl-color--brown-500{background-color:#795548 !important}.mdl-color-text--brown-600{color:#6d4c41 !important}.mdl-color--brown-600{background-color:#6d4c41 !important}.mdl-color-text--brown-700{color:#5d4037 !important}.mdl-color--brown-700{background-color:#5d4037 !important}.mdl-color-text--brown-800{color:#4e342e !important}.mdl-color--brown-800{background-color:#4e342e !important}.mdl-color-text--brown-900{color:#3e2723 !important}.mdl-color--brown-900{background-color:#3e2723 !important}.mdl-color-text--grey{color:#9e9e9e !important}.mdl-color--grey{background-color:#9e9e9e !important}.mdl-color-text--grey-50{color:#fafafa !important}.mdl-color--grey-50{background-color:#fafafa !important}.mdl-color-text--grey-100{color:#f5f5f5 !important}.mdl-color--grey-100{background-color:#f5f5f5 !important}.mdl-color-text--grey-200{color:#eee !important}.mdl-color--grey-200{background-color:#eee !important}.mdl-color-text--grey-300{color:#e0e0e0 !important}.mdl-color--grey-300{background-color:#e0e0e0 !important}.mdl-color-text--grey-400{color:#bdbdbd !important}.mdl-color--grey-400{background-color:#bdbdbd !important}.mdl-color-text--grey-500{color:#9e9e9e !important}.mdl-color--grey-500{background-color:#9e9e9e !important}.mdl-color-text--grey-600{color:#757575 !important}.mdl-color--grey-600{background-color:#757575 !important}.mdl-color-text--grey-700{color:#616161 !important}.mdl-color--grey-700{background-color:#616161 !important}.mdl-color-text--grey-800{color:#424242 !important}.mdl-color--grey-800{background-color:#424242 !important}.mdl-color-text--grey-900{color:#212121 !important}.mdl-color--grey-900{background-color:#212121 !important}.mdl-color-text--blue-grey{color:#607d8b !important}.mdl-color--blue-grey{background-color:#607d8b !important}.mdl-color-text--blue-grey-50{color:#eceff1 !important}.mdl-color--blue-grey-50{background-color:#eceff1 !important}.mdl-color-text--blue-grey-100{color:#cfd8dc !important}.mdl-color--blue-grey-100{background-color:#cfd8dc !important}.mdl-color-text--blue-grey-200{color:#b0bec5 !important}.mdl-color--blue-grey-200{background-color:#b0bec5 !important}.mdl-color-text--blue-grey-300{color:#90a4ae !important}.mdl-color--blue-grey-300{background-color:#90a4ae !important}.mdl-color-text--blue-grey-400{color:#78909c !important}.mdl-color--blue-grey-400{background-color:#78909c !important}.mdl-color-text--blue-grey-500{color:#607d8b !important}.mdl-color--blue-grey-500{background-color:#607d8b !important}.mdl-color-text--blue-grey-600{color:#546e7a !important}.mdl-color--blue-grey-600{background-color:#546e7a !important}.mdl-color-text--blue-grey-700{color:#455a64 !important}.mdl-color--blue-grey-700{background-color:#455a64 !important}.mdl-color-text--blue-grey-800{color:#37474f !important}.mdl-color--blue-grey-800{background-color:#37474f !important}.mdl-color-text--blue-grey-900{color:#263238 !important}.mdl-color--blue-grey-900{background-color:#263238 !important}.mdl-color--black{background-color:#000 !important}.mdl-color-text--black{color:#000 !important}.mdl-color--white{background-color:#fff !important}.mdl-color-text--white{color:#fff !important}.mdl-color--primary{background-color:#3f51b5 !important}.mdl-color--primary-contrast{background-color:#fff !important}.mdl-color--primary-dark{background-color:#303f9f !important}.mdl-color--accent{background-color:#ff4081 !important}.mdl-color--accent-contrast{background-color:#fff !important}.mdl-color-text--primary{color:#3f51b5 !important}.mdl-color-text--primary-contrast{color:#fff !important}.mdl-color-text--primary-dark{color:#303f9f !important}.mdl-color-text--accent{color:#ff4081 !important}.mdl-color-text--accent-contrast{color:#fff !important}.mdl-ripple{background:#000;border-radius:50%;height:50px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:50px;overflow:hidden}.mdl-ripple.is-animating{transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1);transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1),-webkit-transform .3s cubic-bezier(0,0,.2,1)}.mdl-ripple.is-visible{opacity:.3}.mdl-animation--default,.mdl-animation--fast-out-slow-in{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-animation--linear-out-slow-in{transition-timing-function:cubic-bezier(0,0,.2,1)}.mdl-animation--fast-out-linear-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.mdl-badge{position:relative;white-space:nowrap;margin-right:24px}.mdl-badge:not([data-badge]){margin-right:auto}.mdl-badge[data-badge]:after{content:attr(data-badge);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:-11px;right:-24px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;background:#ff4081;color:#fff}.mdl-button .mdl-badge[data-badge]:after{top:-10px;right:-5px}.mdl-badge.mdl-badge--no-background[data-badge]:after{color:#ff4081;background:rgba(255,255,255,.2);box-shadow:0 0 1px gray}.mdl-badge.mdl-badge--overlap{margin-right:10px}.mdl-badge.mdl-badge--overlap:after{right:-10px}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:rgba(158,158,158,.2)}.mdl-button:focus:not(:active){background-color:rgba(0,0,0,.12)}.mdl-button:active{background-color:rgba(158,158,158,.4)}.mdl-button.mdl-button--colored{color:#3f51b5}.mdl-button.mdl-button--colored:focus:not(:active){background-color:rgba(0,0,0,.12)}input.mdl-button[type="submit"]{-webkit-appearance:none}.mdl-button--raised{background:rgba(158,158,158,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-button--raised:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--raised.mdl-button--colored{background:#3f51b5;color:#fff}.mdl-button--raised.mdl-button--colored:hover{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored:active{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored:focus:not(:active){background-color:#3f51b5}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;background:rgba(158,158,158,.2);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--fab.mdl-button--colored{background:#ff4081;color:#fff}.mdl-button--fab.mdl-button--colored:hover{background-color:#ff4081}.mdl-button--fab.mdl-button--colored:focus:not(:active){background-color:#ff4081}.mdl-button--fab.mdl-button--colored:active{background-color:#ff4081}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--icon{border-radius:50%;font-size:24px;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;padding:0;overflow:hidden;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple,.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:#3f51b5}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:#fff}.mdl-button--primary.mdl-button--primary.mdl-button--raised,.mdl-button--primary.mdl-button--primary.mdl-button--fab{color:#fff;background-color:#3f51b5}.mdl-button--accent.mdl-button--accent{color:#ff4081}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:#fff}.mdl-button--accent.mdl-button--accent.mdl-button--raised,.mdl-button--accent.mdl-button--accent.mdl-button--fab{color:#fff;background-color:#ff4081}.mdl-button[disabled][disabled],.mdl-button.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26);cursor:default;background-color:transparent}.mdl-button--fab[disabled][disabled],.mdl-button--fab.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-button--raised[disabled][disabled],.mdl-button--raised.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none}.mdl-button--colored[disabled][disabled],.mdl-button--colored.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26)}.mdl-button .material-icons{vertical-align:middle}.mdl-card{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:16px;font-weight:400;min-height:200px;overflow:hidden;width:330px;z-index:1;position:relative;background:#fff;border-radius:2px;box-sizing:border-box}.mdl-card__media{background-color:#ff4081;background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#000;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;line-height:normal;padding:16px;-webkit-perspective-origin:165px 56px;perspective-origin:165px 56px;-webkit-transform-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;color:inherit;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:24px;font-weight:300;line-height:normal;overflow:hidden;-webkit-transform-origin:149px 48px;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:rgba(0,0,0,.54);margin:0}.mdl-card__supporting-text{color:rgba(0,0,0,.54);font-size:1rem;line-height:18px;overflow:hidden;padding:16px;width:90%}.mdl-card__actions{font-size:16px;line-height:normal;width:100%;background-color:transparent;padding:8px;box-sizing:border-box}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-checkbox{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0}.mdl-checkbox.is-upgraded{padding-left:24px}.mdl-checkbox__input{line-height:24px}.mdl-checkbox.is-upgraded .mdl-checkbox__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-checkbox__box-outline{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;overflow:hidden;border:2px solid rgba(0,0,0,.54);border-radius:2px;z-index:2}.mdl-checkbox.is-checked .mdl-checkbox__box-outline{border:2px solid #3f51b5}fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,.mdl-checkbox.is-disabled .mdl-checkbox__box-outline{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__focus-helper{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background-color:transparent}.mdl-checkbox.is-focused .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-checkbox__tick-outline{position:absolute;top:0;left:0;height:100%;width:100%;-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");background:0 0;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background}.mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:#3f51b5 url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline{background:rgba(0,0,0,.26)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}.mdl-checkbox__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0}fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,.mdl-checkbox.is-disabled .mdl-checkbox__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__ripple-container{position:absolute;z-index:2;top:-6px;left:-10px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-checkbox__ripple-container .mdl-ripple{background:#3f51b5}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container{cursor:auto}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple{background:0 0}.mdl-data-table{position:relative;border:1px solid rgba(0,0,0,.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff}.mdl-data-table thead{padding-bottom:3px}.mdl-data-table thead .mdl-data-table__select{margin-top:0}.mdl-data-table tbody tr{position:relative;height:48px;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color}.mdl-data-table tbody tr.is-selected{background-color:#e0e0e0}.mdl-data-table tbody tr:hover{background-color:#eee}.mdl-data-table td{text-align:right}.mdl-data-table th{padding:0 18px 12px 18px;text-align:right}.mdl-data-table td:first-of-type,.mdl-data-table th:first-of-type{padding-left:24px}.mdl-data-table td:last-of-type,.mdl-data-table th:last-of-type{padding-right:24px}.mdl-data-table td{position:relative;height:48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);padding:12px 18px;box-sizing:border-box}.mdl-data-table td,.mdl-data-table td .mdl-data-table__select{vertical-align:middle}.mdl-data-table th{position:relative;vertical-align:bottom;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;height:48px;font-size:12px;color:rgba(0,0,0,.54);padding-bottom:8px;box-sizing:border-box}.mdl-data-table th.mdl-data-table__header--sorted-ascending,.mdl-data-table th.mdl-data-table__header--sorted-descending{color:rgba(0,0,0,.87)}.mdl-data-table th.mdl-data-table__header--sorted-ascending:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover{cursor:pointer}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before{color:rgba(0,0,0,.26)}.mdl-data-table th.mdl-data-table__header--sorted-descending:before{content:"\e5db"}.mdl-data-table__select{width:16px}.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric{text-align:left}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);width:280px}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>*:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:rgba(0,0,0,.54)}.mdl-mega-footer{padding:16px 40px;color:#9e9e9e;background-color:#424242}.mdl-mega-footer--top-section:after,.mdl-mega-footer--middle-section:after,.mdl-mega-footer--bottom-section:after,.mdl-mega-footer__top-section:after,.mdl-mega-footer__middle-section:after,.mdl-mega-footer__bottom-section:after{content:'';display:block;clear:both}.mdl-mega-footer--left-section,.mdl-mega-footer__left-section,.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{margin-bottom:16px}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:block;margin-bottom:16px;color:inherit;text-decoration:none}@media screen and (min-width:760px){.mdl-mega-footer--left-section,.mdl-mega-footer__left-section{float:left}.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{float:right}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:inline-block;margin-left:16px;line-height:36px;vertical-align:middle}}.mdl-mega-footer--social-btn,.mdl-mega-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{display:block;position:relative}@media screen and (min-width:760px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{width:33%}.mdl-mega-footer--drop-down-section:nth-child(1),.mdl-mega-footer--drop-down-section:nth-child(2),.mdl-mega-footer__drop-down-section:nth-child(1),.mdl-mega-footer__drop-down-section:nth-child(2){float:left}.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(3){float:right}.mdl-mega-footer--drop-down-section:nth-child(3):after,.mdl-mega-footer__drop-down-section:nth-child(3):after{clear:right}.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section:nth-child(4){clear:right;float:right}.mdl-mega-footer--middle-section:after,.mdl-mega-footer__middle-section:after{content:'';display:block;clear:both}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:0}}@media screen and (min-width:1024px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section,.mdl-mega-footer__drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(4){width:24%;float:left}}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{position:absolute;width:100%;height:55.8px;padding:32px;margin:-16px 0 0;cursor:pointer;z-index:1;opacity:0}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CE'}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CF'}.mdl-mega-footer--heading,.mdl-mega-footer__heading{position:relative;width:100%;padding-right:39.8px;margin-bottom:16px;box-sizing:border-box;font-size:14px;line-height:23.8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#e0e0e0}.mdl-mega-footer--heading:after,.mdl-mega-footer__heading:after{content:'';position:absolute;top:0;right:0;display:block;width:23.8px;height:23.8px;background-size:cover}.mdl-mega-footer--link-list,.mdl-mega-footer__link-list{list-style:none;padding:0;margin:0 0 32px}.mdl-mega-footer--link-list:after,.mdl-mega-footer__link-list:after{clear:both;display:block;content:''}.mdl-mega-footer--link-list li,.mdl-mega-footer__link-list li{font-size:14px;font-weight:400;letter-spacing:0;line-height:20px}.mdl-mega-footer--link-list a,.mdl-mega-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}@media screen and (min-width:760px){.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{display:none}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{content:''}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list{display:block}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{content:''}}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:16px;margin-bottom:16px}.mdl-logo{margin-bottom:16px;color:#fff}.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li{float:left;margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-logo{float:left;margin-bottom:0;margin-right:16px}}.mdl-mini-footer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:32px 16px;color:#9e9e9e;background-color:#424242}.mdl-mini-footer:after{content:'';display:block}.mdl-mini-footer .mdl-logo{line-height:36px}.mdl-mini-footer--link-list,.mdl-mini-footer__link-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;list-style:none;margin:0;padding:0}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{line-height:36px}}.mdl-mini-footer--link-list a,.mdl-mini-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mini-footer--left-section,.mdl-mini-footer__left-section{display:inline-block;-webkit-order:0;-ms-flex-order:0;order:0}.mdl-mini-footer--right-section,.mdl-mini-footer__right-section{display:inline-block;-webkit-order:1;-ms-flex-order:1;order:1}.mdl-mini-footer--social-btn,.mdl-mini-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-icon-toggle{position:relative;z-index:1;vertical-align:middle;display:inline-block;height:32px;margin:0;padding:0}.mdl-icon-toggle__input{line-height:32px}.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-icon-toggle__label{display:inline-block;position:relative;cursor:pointer;height:32px;width:32px;min-width:32px;color:#616161;border-radius:50%;padding:0;margin-left:0;margin-right:0;text-align:center;background-color:transparent;will-change:background-color;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.mdl-icon-toggle__label.material-icons{line-height:32px;font-size:24px}.mdl-icon-toggle.is-checked .mdl-icon-toggle__label{color:#3f51b5}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label{color:rgba(0,0,0,.26);cursor:auto;transition:none}.mdl-icon-toggle.is-focused .mdl-icon-toggle__label{background-color:rgba(0,0,0,.12)}.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label{background-color:rgba(63,81,181,.26)}.mdl-icon-toggle__ripple-container{position:absolute;z-index:2;top:-2px;left:-2px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-icon-toggle__ripple-container .mdl-ripple{background:#616161}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container{cursor:auto}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple{background:0 0}.mdl-list{display:block;padding:8px 0;list-style:none}.mdl-list__item{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em;line-height:1;min-height:48px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:16px;cursor:default;color:rgba(0,0,0,.87);overflow:hidden}.mdl-list__item,.mdl-list__item .mdl-list__item-primary-content{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdl-list__item .mdl-list__item-primary-content{-webkit-order:0;-ms-flex-order:0;order:0;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;text-decoration:none}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon{margin-right:32px}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar{margin-right:16px}.mdl-list__item .mdl-list__item-secondary-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;margin-left:16px}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label{display:inline}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;color:rgba(0,0,0,.54)}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header{padding:0 0 0 16px}.mdl-list__item-icon,.mdl-list__item-icon.material-icons{height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.mdl-list__item-avatar,.mdl-list__item-avatar.material-icons{height:40px;width:40px;box-sizing:border-box;border-radius:50%;background-color:#757575;font-size:40px;color:#fff}.mdl-list__item--two-line{height:72px}.mdl-list__item--two-line .mdl-list__item-primary-content{height:36px;line-height:20px;display:block}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar{float:left}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left;margin-top:6px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content{height:36px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-list__item--three-line{height:88px}.mdl-list__item--three-line .mdl-list__item-primary-content{height:52px;line-height:20px;display:block}.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left}.mdl-list__item--three-line .mdl-list__item-secondary-content{height:52px}.mdl-list__item--three-line .mdl-list__item-text-body{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;height:52px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-menu__container{display:block;margin:0;padding:0;border:none;position:absolute;overflow:visible;height:0;width:0;visibility:hidden;z-index:-1}.mdl-menu__container.is-visible,.mdl-menu__container.is-animating{z-index:999;visibility:visible}.mdl-menu__outline{display:block;background:#fff;margin:0;padding:0;border:none;border-radius:2px;position:absolute;top:0;left:0;overflow:hidden;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.mdl-menu__container.is-visible .mdl-menu__outline{opacity:1;-webkit-transform:scale(1);transform:scale(1);z-index:999}.mdl-menu__outline.mdl-menu--bottom-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.mdl-menu__outline.mdl-menu--top-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.mdl-menu__outline.mdl-menu--top-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.mdl-menu{position:absolute;list-style:none;top:0;left:0;height:auto;width:auto;min-width:124px;padding:8px 0;margin:0;opacity:0;clip:rect(0 0 0 0);z-index:-1}.mdl-menu__container.is-visible .mdl-menu{opacity:1;z-index:999}.mdl-menu.is-animating{transition:opacity .2s cubic-bezier(.4,0,.2,1),clip .3s cubic-bezier(.4,0,.2,1)}.mdl-menu.mdl-menu--bottom-right{left:auto;right:0}.mdl-menu.mdl-menu--top-left{top:auto;bottom:0}.mdl-menu.mdl-menu--top-right{top:auto;left:auto;bottom:0;right:0}.mdl-menu.mdl-menu--unaligned{top:auto;left:auto}.mdl-menu__item{display:block;border:none;color:rgba(0,0,0,.87);background-color:transparent;text-align:left;margin:0;padding:0 16px;outline-color:#bdbdbd;position:relative;overflow:hidden;font-size:14px;font-weight:400;letter-spacing:0;text-decoration:none;cursor:pointer;height:48px;line-height:48px;white-space:nowrap;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-menu__container.is-visible .mdl-menu__item{opacity:1}.mdl-menu__item::-moz-focus-inner{border:0}.mdl-menu__item--full-bleed-divider{border-bottom:1px solid rgba(0,0,0,.12)}.mdl-menu__item[disabled],.mdl-menu__item[data-mdl-disabled]{color:#bdbdbd;background-color:transparent;cursor:auto}.mdl-menu__item[disabled]:hover,.mdl-menu__item[data-mdl-disabled]:hover{background-color:transparent}.mdl-menu__item[disabled]:focus,.mdl-menu__item[data-mdl-disabled]:focus{background-color:transparent}.mdl-menu__item[disabled] .mdl-ripple,.mdl-menu__item[data-mdl-disabled] .mdl-ripple{background:0 0}.mdl-menu__item:hover{background-color:#eee}.mdl-menu__item:focus{outline:none;background-color:#eee}.mdl-menu__item:active{background-color:#e0e0e0}.mdl-menu__item--ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-progress{display:block;position:relative;height:4px;width:500px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0%;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:#3f51b5;z-index:1;left:0}.mdl-progress>.bufferbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#3f51b5 ,#3f51b5);z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#3f51b5 ,#3f51b5);-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=")}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,.9)),linear-gradient(to right,#3f51b5 ,#3f51b5)}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{-webkit-animation-name:indeterminate1;animation-name:indeterminate1}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1,.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-color:#3f51b5;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;-webkit-animation-name:indeterminate2;animation-name:indeterminate2}@-webkit-keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@-webkit-keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}@keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}.mdl-navigation{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;box-sizing:border-box}.mdl-navigation__link{color:#424242;text-decoration:none;margin:0;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;opacity:.87}.mdl-navigation__link .material-icons{vertical-align:middle}.mdl-layout{width:100%;height:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.mdl-layout.is-small-screen .mdl-layout--large-screen-only{display:none}.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only{display:none}.mdl-layout__container{position:absolute;width:100%;height:100%}.mdl-layout__title,.mdl-layout-title{display:block;position:relative;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400;box-sizing:border-box}.mdl-layout-spacer{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-layout__drawer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:240px;height:100%;max-height:100%;position:absolute;top:0;left:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:border-box;border-right:1px solid #e0e0e0;background:#fafafa;-webkit-transform:translateX(-250px);transform:translateX(-250px);-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;color:#424242;overflow:visible;overflow-y:auto;z-index:5}.mdl-layout__drawer.is-visible{-webkit-transform:translateX(0);transform:translateX(0)}.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content{overflow:hidden}.mdl-layout__drawer>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:64px;padding-left:40px}@media screen and (max-width:1024px){.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:56px;padding-left:16px}}.mdl-layout__drawer .mdl-navigation{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-ms-flex-align:stretch;-ms-grid-row-align:stretch;align-items:stretch;padding-top:16px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{display:block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:16px 40px;margin:0;color:#757575}@media screen and (max-width:1024px){.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{padding:16px}}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover{background-color:#e0e0e0}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{background-color:#000;color:#e0e0e0}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__drawer{-webkit-transform:translateX(0);transform:translateX(0)}}.mdl-layout__drawer-button{display:block;position:absolute;height:48px;width:48px;border:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden;text-align:center;cursor:pointer;font-size:26px;line-height:50px;font-family:Helvetica,Arial,sans-serif;margin:10px 12px;top:0;left:0;color:#fff;z-index:4}.mdl-layout__header .mdl-layout__drawer-button{position:absolute;color:#fff;background-color:inherit}@media screen and (max-width:1024px){.mdl-layout__header .mdl-layout__drawer-button{margin:4px}}@media screen and (max-width:1024px){.mdl-layout__drawer-button{margin:4px;color:rgba(0,0,0,.5)}}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__drawer-button,.mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button{display:none}}.mdl-layout--no-drawer-button .mdl-layout__drawer-button{display:none}.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;margin:0;padding:0;border:none;min-height:64px;max-height:1000px;z-index:3;background-color:#3f51b5;color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:max-height,box-shadow}@media screen and (max-width:1024px){.mdl-layout__header{min-height:56px}}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:240px;width:calc(100% - 240px)}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:40px}}.mdl-layout__header>.mdl-layout-icon{position:absolute;left:40px;top:16px;height:32px;width:32px;overflow:hidden;z-index:3;display:block}@media screen and (max-width:1024px){.mdl-layout__header>.mdl-layout-icon{left:16px;top:12px}}.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon{display:none}.mdl-layout__header.is-compact{max-height:64px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact{max-height:56px}}.mdl-layout__header.is-compact.has-tabs{height:112px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact.has-tabs{min-height:104px}}@media screen and (max-width:1024px){.mdl-layout__header{display:none}.mdl-layout--fixed-header>.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex}}.mdl-layout__header--transparent.mdl-layout__header--transparent{background-color:transparent;box-shadow:none}.mdl-layout__header--seamed,.mdl-layout__header--scroll{box-shadow:none}.mdl-layout__header--waterfall{box-shadow:none;overflow:hidden}.mdl-layout__header--waterfall.is-casting-shadow{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.mdl-layout__header-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-sizing:border-box;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:64px;margin:0;padding:0 40px 0 80px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:40px}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__header-row{padding-left:40px}}@media screen and (max-width:1024px){.mdl-layout__header-row{height:56px;padding:0 16px 0 72px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:16px}}.mdl-layout__header-row>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__header--scroll .mdl-layout__header-row{width:100%}.mdl-layout__header-row .mdl-navigation{margin:0;padding:0;height:64px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation{height:56px}}.mdl-layout__header-row .mdl-navigation__link{display:block;color:#fff;line-height:64px;padding:0 24px}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation__link{line-height:56px;padding:0 16px}}.mdl-layout__obfuscator{background-color:transparent;position:absolute;top:0;left:0;height:100%;width:100%;z-index:4;visibility:hidden;transition-property:background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-layout__obfuscator.is-visible{background-color:rgba(0,0,0,.5);visibility:visible}@supports (pointer-events:auto){.mdl-layout__obfuscator{background-color:rgba(0,0,0,.5);opacity:0;transition-property:opacity;visibility:visible;pointer-events:none}.mdl-layout__obfuscator.is-visible{pointer-events:auto;opacity:1}}.mdl-layout__content{-ms-flex:0 1 auto;position:relative;display:inline-block;overflow-y:auto;overflow-x:hidden;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;z-index:1;-webkit-overflow-scrolling:touch}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:240px}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow:visible}@media screen and (max-width:1024px){.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow-y:auto;overflow-x:hidden}}.mdl-layout__tab-bar{height:96px;margin:0;width:calc(100% - 112px);padding:0 0 0 56px;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#3f51b5;overflow-y:hidden;overflow-x:scroll}.mdl-layout__tab-bar::-webkit-scrollbar{display:none}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}}@media screen and (max-width:1024px){.mdl-layout__tab-bar{width:calc(100% - 60px);padding:0 0 0 60px}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - 8px);padding-left:4px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar{padding:0;overflow:hidden;width:100%}.mdl-layout__tab-bar-container{position:relative;height:48px;width:100%;border:none;margin:0;z-index:2;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.mdl-layout__container>.mdl-layout__tab-bar-container{position:absolute;top:0;left:0}.mdl-layout__tab-bar-button{display:inline-block;position:absolute;top:0;height:48px;width:56px;z-index:4;text-align:center;background-color:#3f51b5;color:transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button{width:16px}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons{position:relative;left:-4px}@media screen and (max-width:1024px){.mdl-layout__tab-bar-button{display:none;width:60px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button{display:none}.mdl-layout__tab-bar-button .material-icons{line-height:48px}.mdl-layout__tab-bar-button.is-active{color:#fff}.mdl-layout__tab-bar-left-button{left:0}.mdl-layout__tab-bar-right-button{right:0}.mdl-layout__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(255,255,255,.6);overflow:hidden}@media screen and (max-width:1024px){.mdl-layout__tab{padding:0 12px}}.mdl-layout--fixed-tabs .mdl-layout__tab{float:none;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0}.mdl-layout.is-upgraded .mdl-layout__tab.is-active{color:#fff}.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#ff4081;-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-layout__tab .mdl-layout__tab-ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple{background-color:#fff}.mdl-layout__tab-panel{display:block}.mdl-layout.is-upgraded .mdl-layout__tab-panel{display:none}.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active{display:block}.mdl-radio{position:relative;font-size:16px;line-height:24px;display:inline-block;box-sizing:border-box;margin:0;padding-left:0}.mdl-radio.is-upgraded{padding-left:24px}.mdl-radio__button{line-height:24px}.mdl-radio.is-upgraded .mdl-radio__button{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-radio__outer-circle{position:absolute;top:4px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;border:2px solid rgba(0,0,0,.54);border-radius:50%;z-index:2}.mdl-radio.is-checked .mdl-radio__outer-circle{border:2px solid #3f51b5}.mdl-radio__outer-circle fieldset[disabled] .mdl-radio,.mdl-radio.is-disabled .mdl-radio__outer-circle{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-radio__inner-circle{position:absolute;z-index:1;margin:0;top:8px;left:4px;box-sizing:border-box;width:8px;height:8px;cursor:pointer;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0);border-radius:50%;background:#3f51b5}.mdl-radio.is-checked .mdl-radio__inner-circle{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,.mdl-radio.is-disabled .mdl-radio__inner-circle{background:rgba(0,0,0,.26);cursor:auto}.mdl-radio.is-focused .mdl-radio__inner-circle{box-shadow:0 0 0 10px rgba(0,0,0,.1)}.mdl-radio__label{cursor:pointer}fieldset[disabled] .mdl-radio .mdl-radio__label,.mdl-radio.is-disabled .mdl-radio__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-radio__ripple-container{position:absolute;z-index:2;top:-9px;left:-13px;box-sizing:border-box;width:42px;height:42px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-radio__ripple-container .mdl-ripple{background:#3f51b5}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container,.mdl-radio.is-disabled .mdl-radio__ripple-container{cursor:auto}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple{background:0 0}_:-ms-input-placeholder,:root .mdl-slider.mdl-slider.is-upgraded{-ms-appearance:none;height:32px;margin:0}.mdl-slider{width:calc(100% - 40px);margin:0 20px}.mdl-slider.is-upgraded{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;padding:0;color:#3f51b5;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;z-index:1;cursor:pointer}.mdl-slider.is-upgraded::-moz-focus-outer{border:0}.mdl-slider.is-upgraded::-ms-tooltip{display:none}.mdl-slider.is-upgraded::-webkit-slider-runnable-track{background:0 0}.mdl-slider.is-upgraded::-moz-range-track{background:0 0;border:none}.mdl-slider.is-upgraded::-ms-track{background:0 0;color:transparent;height:2px;width:100%;border:none}.mdl-slider.is-upgraded::-ms-fill-lower{padding:0;background:linear-gradient(to right,transparent,transparent 16px,#3f51b5 16px,#3f51b5 0)}.mdl-slider.is-upgraded::-ms-fill-upper{padding:0;background:linear-gradient(to left,transparent,transparent 16px,rgba(0,0,0,.26)16px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#3f51b5;border:none;transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded::-moz-range-thumb{-moz-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background-image:none;background:#3f51b5;border:none}.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:active::-webkit-slider-thumb{background-image:none;background:#3f51b5;-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded:active::-moz-range-thumb{background-image:none;background:#3f51b5;transform:scale(1.5)}.mdl-slider.is-upgraded::-ms-thumb{width:32px;height:32px;border:none;border-radius:50%;background:#3f51b5;transform:scale(.375);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,#3f51b5 0%,#3f51b5 37.5%,rgba(63,81,181,.26)37.5%,rgba(63,81,181,.26)100%);transform:scale(1)}.mdl-slider.is-upgraded:active::-ms-thumb{background:#3f51b5;transform:scale(.5625)}.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb{border:1.6px solid rgba(0,0,0,.26);-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:9px}.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb{border:1.5px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb{background:radial-gradient(circle closest-side,transparent 0%,transparent 66.67%,rgba(0,0,0,.26)66.67%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgba(0,0,0,.12)0%,rgba(0,0,0,.12)25%,rgba(0,0,0,.26)25%,rgba(0,0,0,.26)37.5%,rgba(0,0,0,.12)37.5%,rgba(0,0,0,.12)100%);transform:scale(1)}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb{transform:scale(.5625);background:radial-gradient(circle closest-side,transparent 0%,transparent 77.78%,rgba(0,0,0,.26)77.78%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower{background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper{margin-left:9px}.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb{-webkit-transform:scale(.667);transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded:disabled::-moz-range-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower{background-color:rgba(0,0,0,.26);left:-6px}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;-webkit-transform:scale(.667);transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded:disabled:active::-ms-thumb,.mdl-slider.is-upgraded:disabled::-ms-thumb{transform:scale(.25);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb{transform:scale(.25);background:radial-gradient(circle closest-side,transparent 0%,transparent 50%,rgba(0,0,0,.26)50%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded:disabled::-ms-fill-lower{margin-right:6px;background:linear-gradient(to right,transparent,transparent 25px,rgba(0,0,0,.26)25px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded:disabled::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper{margin-left:6px}.mdl-slider__ie-container{height:18px;overflow:visible;border:none;margin:none;padding:none}.mdl-slider__container{height:18px;position:relative;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.mdl-slider__container,.mdl-slider__background-flex{background:0 0;display:-webkit-flex;display:-ms-flexbox;display:flex}.mdl-slider__background-flex{position:absolute;height:2px;width:calc(100% - 52px);top:50%;left:0;margin:0 26px;overflow:hidden;border:0;padding:0;-webkit-transform:translate(0,-1px);transform:translate(0,-1px)}.mdl-slider__background-lower{background:#3f51b5}.mdl-slider__background-lower,.mdl-slider__background-upper{-webkit-flex:0;-ms-flex:0;flex:0;position:relative;border:0;padding:0}.mdl-slider__background-upper{background:rgba(0,0,0,.26);transition:left .18s cubic-bezier(.4,0,.2,1)}.mdl-snackbar{position:fixed;bottom:0;left:50%;cursor:default;background-color:#323232;z-index:3;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;font-family:"Roboto","Helvetica","Arial",sans-serif;will-change:transform;-webkit-transform:translate(0,80px);transform:translate(0,80px);transition:transform .25s cubic-bezier(.4,0,1,1);transition:transform .25s cubic-bezier(.4,0,1,1),-webkit-transform .25s cubic-bezier(.4,0,1,1);pointer-events:none}@media (max-width:479px){.mdl-snackbar{width:100%;left:0;min-height:48px;max-height:80px}}@media (min-width:480px){.mdl-snackbar{min-width:288px;max-width:568px;border-radius:2px;-webkit-transform:translate(-50%,80px);transform:translate(-50%,80px)}}.mdl-snackbar--active{-webkit-transform:translate(0,0);transform:translate(0,0);pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1);transition:transform .25s cubic-bezier(0,0,.2,1),-webkit-transform .25s cubic-bezier(0,0,.2,1)}@media (min-width:480px){.mdl-snackbar--active{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}}.mdl-snackbar__text{padding:14px 12px 14px 24px;vertical-align:middle;color:#fff;float:left}.mdl-snackbar__action{background:0 0;border:none;color:#ff4081;float:right;padding:14px 24px 14px 12px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;outline:none;opacity:0;pointer-events:none;cursor:pointer;text-decoration:none;text-align:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.mdl-snackbar__action::-moz-focus-inner{border:0}.mdl-snackbar__action:not([aria-hidden]){opacity:1;pointer-events:auto}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{-webkit-animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite;animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite}@-webkit-keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-1{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-2{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-3{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-4{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@-webkit-keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}@keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{-webkit-animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{-webkit-animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdl-switch{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-switch.is-upgraded{padding-left:28px}.mdl-switch__input{line-height:24px}.mdl-switch.is-upgraded .mdl-switch__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-switch__track{background:rgba(0,0,0,.26);position:absolute;left:0;top:5px;height:14px;width:36px;border-radius:14px;cursor:pointer}.mdl-switch.is-checked .mdl-switch__track{background:rgba(63,81,181,.5)}.mdl-switch__track fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__track{background:rgba(0,0,0,.12);cursor:auto}.mdl-switch__thumb{background:#fafafa;position:absolute;left:0;top:2px;height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:left}.mdl-switch.is-checked .mdl-switch__thumb{background:#3f51b5;left:16px;box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-switch__thumb fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__thumb{background:#bdbdbd;cursor:auto}.mdl-switch__focus-helper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-4px,-4px);transform:translate(-4px,-4px);display:inline-block;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background-color:transparent}.mdl-switch.is-focused .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-switch__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0;left:24px}.mdl-switch__label fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__label{color:#bdbdbd;cursor:auto}.mdl-switch__ripple-container{position:absolute;z-index:2;top:-12px;left:-14px;box-sizing:border-box;width:48px;height:48px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000);transition-duration:.4s;transition-timing-function:step-end;transition-property:left}.mdl-switch__ripple-container .mdl-ripple{background:#3f51b5}.mdl-switch__ripple-container fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__ripple-container{cursor:auto}fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple{background:0 0}.mdl-switch.is-checked .mdl-switch__ripple-container{left:2px}.mdl-tabs{display:block;width:100%}.mdl-tabs__tab-bar{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:48px;padding:0;margin:0;border-bottom:1px solid #e0e0e0}.mdl-tabs__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(0,0,0,.54);overflow:hidden}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active{color:rgba(0,0,0,.87)}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#3f51b5;-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-tabs__tab .mdl-tabs__ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple{background:#3f51b5}.mdl-tabs__panel{display:block}.mdl-tabs.is-upgraded .mdl-tabs__panel{display:none}.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active{display:block}@-webkit-keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}@keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:"Helvetica","Arial",sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.mdl-textfield__input[type="number"]{-moz-appearance:textfield}.mdl-textfield__input[type="number"]::-webkit-inner-spin-button,.mdl-textfield__input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-focused .mdl-textfield__input{outline:none}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}fieldset[disabled] .mdl-textfield .mdl-textfield__input,.mdl-textfield.is-disabled .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:rgba(0,0,0,.26);font-size:16px;left:0;right:0;pointer-events:none;position:absolute;display:block;top:24px;width:100%;overflow:hidden;white-space:nowrap;text-align:left}.mdl-textfield.is-dirty .mdl-textfield__label,.mdl-textfield.has-placeholder .mdl-textfield__label{visibility:hidden}.mdl-textfield--floating-label .mdl-textfield__label{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{transition:none}fieldset[disabled] .mdl-textfield .mdl-textfield__label,.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label{color:rgba(0,0,0,.26)}.mdl-textfield--floating-label.is-focused .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{color:#3f51b5;font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label{color:#d50000;font-size:12px}.mdl-textfield__label:after{background-color:#3f51b5;bottom:20px;content:'';height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{color:#d50000;position:absolute;font-size:12px;margin-top:3px;visibility:hidden;display:block}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{display:inline-block;position:relative;margin-left:32px;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;max-width:.1px}.mdl-textfield.is-focused .mdl-textfield__expandable-holder,.mdl-textfield.is-dirty .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}.mdl-tooltip{-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:top center;transform-origin:top center;will-change:transform;z-index:999;background:rgba(97,97,97,.9);border-radius:2px;color:#fff;display:inline-block;font-size:10px;font-weight:500;line-height:14px;max-width:170px;position:fixed;top:-500px;left:-500px;padding:8px;text-align:center}.mdl-tooltip.is-active{-webkit-animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards;animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards}.mdl-tooltip--large{line-height:14px;font-size:14px;padding:16px}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}@keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}.mdl-shadow--2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-shadow--3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-shadow--4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-shadow--6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2)}.mdl-grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.mdl-grid.mdl-grid--no-spacing{padding:0}.mdl-cell{box-sizing:border-box}.mdl-cell--top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.mdl-cell--middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.mdl-cell--bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.mdl-cell--stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.mdl-grid.mdl-grid--no-spacing>.mdl-cell{margin:0}.mdl-cell--order-1{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12{-webkit-order:12;-ms-flex-order:12;order:12}@media (max-width:479px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-cell--hide-phone{display:none!important}.mdl-cell--order-1-phone.mdl-cell--order-1-phone{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-phone.mdl-cell--order-2-phone{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-phone.mdl-cell--order-3-phone{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-phone.mdl-cell--order-4-phone{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-phone.mdl-cell--order-5-phone{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-phone.mdl-cell--order-6-phone{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-phone.mdl-cell--order-7-phone{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-phone.mdl-cell--order-8-phone{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-phone.mdl-cell--order-9-phone{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-phone.mdl-cell--order-10-phone{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-phone.mdl-cell--order-11-phone{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-phone.mdl-cell--order-12-phone{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:25%}.mdl-cell--2-col,.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:50%}.mdl-cell--3-col,.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:75%}.mdl-cell--4-col,.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:100%}.mdl-cell--5-col,.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:100%}.mdl-cell--6-col,.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:100%}.mdl-cell--7-col,.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:100%}.mdl-cell--8-col,.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:25%}.mdl-cell--2-offset,.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:50%}.mdl-cell--3-offset,.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:75%}}@media (min-width:480px) and (max-width:839px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:50%}.mdl-cell--hide-tablet{display:none!important}.mdl-cell--order-1-tablet.mdl-cell--order-1-tablet{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-tablet.mdl-cell--order-2-tablet{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-tablet.mdl-cell--order-3-tablet{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-tablet.mdl-cell--order-4-tablet{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-tablet.mdl-cell--order-5-tablet{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-tablet.mdl-cell--order-6-tablet{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-tablet.mdl-cell--order-7-tablet{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-tablet.mdl-cell--order-8-tablet{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-tablet.mdl-cell--order-9-tablet{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-tablet.mdl-cell--order-10-tablet{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-tablet.mdl-cell--order-11-tablet{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-tablet.mdl-cell--order-12-tablet{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:calc(12.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:12.5%}.mdl-cell--2-col,.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:25%}.mdl-cell--3-col,.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:calc(37.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:37.5%}.mdl-cell--4-col,.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:50%}.mdl-cell--5-col,.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:calc(62.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:62.5%}.mdl-cell--6-col,.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:75%}.mdl-cell--7-col,.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:calc(87.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:87.5%}.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:calc(12.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:12.5%}.mdl-cell--2-offset,.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:25%}.mdl-cell--3-offset,.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:calc(37.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:37.5%}.mdl-cell--4-offset,.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:50%}.mdl-cell--5-offset,.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:calc(62.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:62.5%}.mdl-cell--6-offset,.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:75%}.mdl-cell--7-offset,.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:calc(87.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:87.5%}}@media (min-width:840px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:33.3333333333%}.mdl-cell--hide-desktop{display:none!important}.mdl-cell--order-1-desktop.mdl-cell--order-1-desktop{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-desktop.mdl-cell--order-2-desktop{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-desktop.mdl-cell--order-3-desktop{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-desktop.mdl-cell--order-4-desktop{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-desktop.mdl-cell--order-5-desktop{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-desktop.mdl-cell--order-6-desktop{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-desktop.mdl-cell--order-7-desktop{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-desktop.mdl-cell--order-8-desktop{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-desktop.mdl-cell--order-9-desktop{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-desktop.mdl-cell--order-10-desktop{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-desktop.mdl-cell--order-11-desktop{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-desktop.mdl-cell--order-12-desktop{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:calc(8.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:8.3333333333%}.mdl-cell--2-col,.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:calc(16.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:16.6666666667%}.mdl-cell--3-col,.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:33.3333333333%}.mdl-cell--5-col,.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:calc(41.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:41.6666666667%}.mdl-cell--6-col,.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:calc(58.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:58.3333333333%}.mdl-cell--8-col,.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:calc(66.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:66.6666666667%}.mdl-cell--9-col,.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:calc(83.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:83.3333333333%}.mdl-cell--11-col,.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:calc(91.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:91.6666666667%}.mdl-cell--12-col,.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:calc(8.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:8.3333333333%}.mdl-cell--2-offset,.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:calc(16.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:16.6666666667%}.mdl-cell--3-offset,.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:calc(33.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:33.3333333333%}.mdl-cell--5-offset,.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:calc(41.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:41.6666666667%}.mdl-cell--6-offset,.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:calc(58.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:58.3333333333%}.mdl-cell--8-offset,.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:calc(66.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:66.6666666667%}.mdl-cell--9-offset,.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:calc(83.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:83.3333333333%}.mdl-cell--11-offset,.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:calc(91.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:91.6666666667%}} -/*# sourceMappingURL=material.min.css.map */ diff --git a/etc/cli.angular.io/theme.css b/etc/cli.angular.io/theme.css deleted file mode 100644 index b6a336e98b0c..000000000000 --- a/etc/cli.angular.io/theme.css +++ /dev/null @@ -1 +0,0 @@ -.console{width:360px;max-width:92vw;margin-left:15px;margin-right:40px;text-align:left;border-radius:5px;margin-bottom:10px}@media (max-width:830px){.console{margin-right:auto;margin-left:auto}}.console__head{overflow:hidden;background-color:#d5d5d5;padding:8px 15px;border-top-left-radius:5px;border-top-right-radius:5px}.console__dot{float:left;width:12px;height:12px;border-radius:50%;margin-right:7px;box-shadow:0 1px 1px 0 rgba(0,0,0,.2)}.console__dot--red{background-color:#ff6057}.console__dot--yellow{background-color:#ffc22e}.console__dot--green{background-color:#28ca40}.console__body{background-color:#1e1e1e;padding:30px 17px 20px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.console__prompt{display:block;margin-bottom:15px;font-family:"Source Code Pro",monospace;font-size:15px}.console__prompt::before{content:">";padding-right:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-base{height:100vh} From 63e6b76cc882ec8ed2f54bd2e5daa5188ac95234 Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Mon, 12 Apr 2021 16:16:21 -0700 Subject: [PATCH 635/696] ci: remove unused --ci option from validate script (cherry picked from commit 3227e89588e35d6be20a3f1331b8cca7643797c1) --- .circleci/config.yml | 2 +- scripts/validate.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d2ced2b9e3f9..2663636486c9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -175,7 +175,7 @@ jobs: echo "This build is not over a PR, nothing to do." fi - run: - command: yarn -s admin validate --ci + command: yarn -s admin validate e2e-cli: parameters: diff --git a/scripts/validate.ts b/scripts/validate.ts index a2c910639743..da0b0bae1c51 100644 --- a/scripts/validate.ts +++ b/scripts/validate.ts @@ -13,7 +13,7 @@ import validateBuildFiles from './validate-build-files'; import validateLicenses from './validate-licenses'; import validateUserAnalytics from './validate-user-analytics'; -export default async function (options: { verbose: boolean; ci: boolean }, logger: logging.Logger) { +export default async function (options: { verbose: boolean }, logger: logging.Logger) { let error = false; if (execSync(`git status --porcelain`).toString()) { From 27a94f02237ad1fdf59c37689b41c4644b931371 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 13 Apr 2021 11:40:22 -0700 Subject: [PATCH 636/696] docs: add README to `@angular/pwa`. This mostly just copies the "Getting started with service workers" guide cited to explain what the schematic itself does and defering to that doc for more info on PWA's and how to actually build one. (cherry picked from commit d09da29af7bd9918643c618a725526f66343a048) --- packages/angular/pwa/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/angular/pwa/README.md diff --git a/packages/angular/pwa/README.md b/packages/angular/pwa/README.md new file mode 100644 index 000000000000..9a2d8181fb8a --- /dev/null +++ b/packages/angular/pwa/README.md @@ -0,0 +1,22 @@ +# `@angular/pwa` + +This is a [schematic](https://angular.io/guide/schematics) for adding +[Progress Web App](https://web.dev/progressive-web-apps/) support to an Angular app. Run the +schematic with the [Angular CLI](https://angular.io/cli): + +```shell +ng add @angular/pwa +``` + +This makes a few changes to your project: + +1. Adds [`@angular/service-worker`](https://npmjs.com/@angular/service-worker) as a dependency. +1. Enables service worker builds in the Angular CLI. +1. Imports and registers the service worker in the app module. +1. Adds a [web app manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest). +1. Updates the `index.html` file to link to the manifest and set theme colors. +1. Adds required icons for the manifest. +1. Creates a config file `ngsw-config.json`, specifying caching behaviors and other settings. + +See [Getting started with service workers](https://angular.io/guide/service-worker-getting-started) +for more information. From 772cf8bf2930061df941928d193ce72f9e2ae4af Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Mon, 12 Apr 2021 20:31:57 -0700 Subject: [PATCH 637/696] docs(@angular-devkit/schematics-cli): Add README This commit adds a README for the package. (cherry picked from commit 07bf174759882f4616ed276835dd4cb81491d49c) --- .../angular_devkit/schematics_cli/README.md | 49 +++++++++++++++++++ .../schematics_cli/bin/schematics.ts | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 packages/angular_devkit/schematics_cli/README.md diff --git a/packages/angular_devkit/schematics_cli/README.md b/packages/angular_devkit/schematics_cli/README.md new file mode 100644 index 000000000000..677fb468f631 --- /dev/null +++ b/packages/angular_devkit/schematics_cli/README.md @@ -0,0 +1,49 @@ +# Schematics CLI + +This package contains the executable for running a [Schematic](/packages/angular_devkit/schematics/README.md). + +# Usage + +``` +$ schematics [CollectionName:]SchematicName [options, ...] + +By default, if the collection name is not specified, use the internal collection provided +by the Schematics CLI. + +Options: + --debug Debug mode. This is true by default if the collection is a relative + path (in that case, turn off with --debug=false). + + --allow-private Allow private schematics to be run from the command line. Default to + false. + + --dry-run Do not output anything, but instead just show what actions would be + performed. Default to true if debug is also true. + + --force Force overwriting files that would otherwise be an error. + + --list-schematics List all schematics from the collection, by name. A collection name + should be suffixed by a colon. Example: '@angular-devkit/schematics-cli:'. + + --no-interactive Disables interactive input prompts. + + --verbose Show more information. + + --help Show this message. + +Any additional option is passed to the Schematics depending on its schema. +``` + +# Examples + +1. Create a new NPM package that contains a blank schematic. + +```sh +$ schematics blank +``` + +2. Walkthrough example that demonstrates how to build a schematic. + +```sh +$ schematics schematic --name +``` diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index e38c7580704c..37bfd56a0ff4 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -336,7 +336,7 @@ function getUsage(): string { --help Show this message. - Any additional option is passed to the Schematics depending on + Any additional option is passed to the Schematics depending on its schema. `; } From f048b561177660972afaab676a2ea2124685eeaf Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Wed, 14 Apr 2021 14:55:57 -0700 Subject: [PATCH 638/696] release: v11.2.9 --- packages/schematics/angular/utility/latest-versions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index ebd8bf0f0807..24000655b553 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.2.9', + Angular: '~11.2.10', RxJs: '~6.6.0', ZoneJs: '~0.11.3', TypeScript: '~4.1.5', From b64f425aa5c0ba07d054828f21ce0229f07874ae Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Apr 2021 19:01:14 +0200 Subject: [PATCH 639/696] docs(@angular-devkit/build-angular): add readme file (cherry picked from commit b8875397cea8502c95e1ad707ebf15b45ccf0d68) --- .../angular_devkit/build_angular/README.md | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/README.md b/packages/angular_devkit/build_angular/README.md index 1c5c8a806b2b..1cf05e9dcc5f 100644 --- a/packages/angular_devkit/build_angular/README.md +++ b/packages/angular_devkit/build_angular/README.md @@ -1,3 +1,20 @@ -# Angular Webpack Build Facade +# @angular-devkit/build-angular -WIP \ No newline at end of file +This package contains [Architect builders](/packages/angular_devkit/architect/README.md) used to build and test Angular applications and libraries. + +## Builders +Name | Description +-----|------------- +app-shell | Build an Angular [App shell](https://angular.io/guide/app-shell). +browser | Build an Angular application targeting a browser environment. +dev-server | A development server that provides live reloading. +extract-i18n | Extract i18n messages from an Angular application. +karma | Execute unit tests using [Karma](https://github.com/karma-runner/karma) test runner. +ng-packagr | Build and package an Angular library in [Angular Package Format (APF)](https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview) format using [ng-packagr](https://github.com/ng-packagr/ng-packagr). +server | Build an Angular application targeting a [Node.js](https://nodejs.org) environment. +protractor | Run end-to-end tests using [Protractor](https://www.protractortest.org/) framework. +tslint | **Deprecated** - Statically analyze [TypeScript](https://www.typescriptlang.org/) files using [TSLint](https://palantir.github.io/tslint/). + +## Disclaimer + +While the builders when executed via the Angular CLI and their associated options are considered stable, the programmatic APIs are not considered officially supported and are not subject to the breaking change guarantees of SemVer. \ No newline at end of file From 187c41430f03130fca9a64e2545c1f0acdd2309c Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Wed, 14 Apr 2021 15:18:20 -0700 Subject: [PATCH 640/696] build: bump version to v11.2.10 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0e9366c17b9d..6bcc12c1faf5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.9", + "version": "11.2.10", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 24000655b553..fdd570beda5b 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.9', - DevkitBuildNgPackagr: '~0.1102.9', - DevkitBuildWebpack: '~0.1102.9', + DevkitBuildAngular: '~0.1102.10', + DevkitBuildNgPackagr: '~0.1102.10', + DevkitBuildWebpack: '~0.1102.10', ngPackagr: '^11.0.0', }; From 4c927deffd84b8989e28235e302bc154d9eb4762 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 15 Apr 2021 10:05:41 -0400 Subject: [PATCH 641/696] docs(@angular-devkit/architect-cli): add a README file for the package A `README.md` file is now included in the package with an overview of the utility and the help output of the command. (cherry picked from commit 1dc9754bb2a3558abe1df084c46e9eac4da1a553) --- .../angular_devkit/architect_cli/README.md | 19 +++++++++++++++++++ .../angular_devkit/architect_cli/package.json | 1 + 2 files changed, 20 insertions(+) create mode 100644 packages/angular_devkit/architect_cli/README.md diff --git a/packages/angular_devkit/architect_cli/README.md b/packages/angular_devkit/architect_cli/README.md new file mode 100644 index 000000000000..3dae8d2fe2eb --- /dev/null +++ b/packages/angular_devkit/architect_cli/README.md @@ -0,0 +1,19 @@ +# Architect CLI + +This package contains the executable for running an [Architect Builder](/packages/angular_devkit/architect/README.md). + +# Usage + +``` +architect [project][:target][:configuration] [options, ...] + +Run a project target. +If project/target/configuration are not specified, the workspace defaults will be used. + +Options: + --help Show available options for project target. + Shows this message instead when ran without the run argument. + + +Any additional option is passed the target, overriding existing options. +``` diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 969af79e6a02..94fc9799e6ee 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -2,6 +2,7 @@ "name": "@angular-devkit/architect-cli", "version": "0.0.0", "description": "Angular Architect CLI", + "homepage": "https://github.com/angular/angular-cli", "experimental": true, "bin": { "architect": "./bin/architect.js" From 6f44b20a33b556a788e87e3517e9b788494b6ec9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 19 Mar 2021 20:11:22 -0400 Subject: [PATCH 642/696] perf(@ngtools/webpack): only check affected files for Angular semantic diagnostics This change improves the performance of incremental type checking of Angular templates by reducing the number of calls to retrieve the diagnostics. Only the set of affected files will be queried on a rebuild. The affected set includes files TypeScript deems affected, files that are required to be emitted by the Angular compiler, and the original file for any TTC shim file that TypeScript deems affected. (cherry picked from commit aeebd14f04b8e520b0144a77e765da807a08dda0) --- .../tests/behavior/rebuild-errors_spec.ts | 265 ++++++++++++++++++ .../test/hello-world-app/tsconfig.json | 3 +- packages/ngtools/webpack/src/ivy/cache.ts | 20 +- packages/ngtools/webpack/src/ivy/plugin.ts | 96 +++++-- 4 files changed, 357 insertions(+), 27 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts index 9e1311de2028..06d766cd23fa 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts @@ -5,6 +5,7 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ +// tslint:disable: no-big-function import { logging } from '@angular-devkit/core'; import { concatMap, count, take, timeout } from 'rxjs/operators'; import { buildWebpackBrowser } from '../../index'; @@ -12,6 +13,270 @@ import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { describe('Behavior: "Rebuild Error"', () => { + + it('detects template errors with no AOT codegen or TS emit differences', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + aot: true, + watch: true, + }); + + const goodDirectiveContents = ` + import { Directive, Input } from '@angular/core'; + @Directive({ selector: 'dir' }) + export class Dir { + @Input() foo: number; + } + `; + + const typeErrorText = `Type 'number' is not assignable to type 'string'.`; + + // Create a directive and add to application + await harness.writeFile('src/app/dir.ts', goodDirectiveContents); + await harness.writeFile('src/app/app.module.ts', ` + import { NgModule } from '@angular/core'; + import { BrowserModule } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + import { Dir } from './dir'; + @NgModule({ + declarations: [ + AppComponent, + Dir, + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `); + + // Create app component that uses the directive + await harness.writeFile('src/app/app.component.ts', ` + import { Component } from '@angular/core' + @Component({ + selector: 'app-root', + template: '', + }) + export class AppComponent { } + `); + + const buildCount = await harness + .execute({ outputLogsOnFailure: false }) + .pipe( + timeout(60000), + concatMap(async ({ result, logs }, index) => { + switch (index) { + case 0: + expect(result?.success).toBeTrue(); + + // Update directive to use a different input type for 'foo' (number -> string) + // Should cause a template error + await harness.writeFile('src/app/dir.ts', ` + import { Directive, Input } from '@angular/core'; + @Directive({ selector: 'dir' }) + export class Dir { + @Input() foo: string; + } + `); + + break; + case 1: + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Make an unrelated change to verify error cache was updated + // Should persist error in the next rebuild + await harness.modifyFile('src/main.ts', (content) => content + '\n'); + + break; + case 2: + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Revert the directive change that caused the error + // Should remove the error + await harness.writeFile('src/app/dir.ts', goodDirectiveContents); + + break; + case 3: + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Make an unrelated change to verify error cache was updated + // Should continue showing no error + await harness.modifyFile('src/main.ts', (content) => content + '\n'); + + break; + case 4: + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + break; + } + }), + take(5), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(5); + }); + + it('detects template errors with AOT codegen differences', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + aot: true, + watch: true, + }); + + const typeErrorText = `Type 'number' is not assignable to type 'string'.`; + + // Create two directives and add to application + await harness.writeFile('src/app/dir.ts', ` + import { Directive, Input } from '@angular/core'; + @Directive({ selector: 'dir' }) + export class Dir { + @Input() foo: number; + } + `); + + // Same selector with a different type on the `foo` property but initially no `@Input` + const goodDirectiveContents = ` + import { Directive } from '@angular/core'; + @Directive({ selector: 'dir' }) + export class Dir2 { + foo: string; + } + `; + await harness.writeFile('src/app/dir2.ts', goodDirectiveContents); + + await harness.writeFile('src/app/app.module.ts', ` + import { NgModule } from '@angular/core'; + import { BrowserModule } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + import { Dir } from './dir'; + import { Dir2 } from './dir2'; + @NgModule({ + declarations: [ + AppComponent, + Dir, + Dir2, + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `); + + // Create app component that uses the directive + await harness.writeFile('src/app/app.component.ts', ` + import { Component } from '@angular/core' + @Component({ + selector: 'app-root', + template: '', + }) + export class AppComponent { } + `); + + const buildCount = await harness + .execute({ outputLogsOnFailure: false }) + .pipe( + timeout(60000), + concatMap(async ({ result, logs }, index) => { + switch (index) { + case 0: + expect(result?.success).toBeTrue(); + + // Update second directive to use string property `foo` as an Input + // Should cause a template error + await harness.writeFile('src/app/dir2.ts', ` + import { Directive, Input } from '@angular/core'; + @Directive({ selector: 'dir' }) + export class Dir2 { + @Input() foo: string; + } + `); + + break; + case 1: + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Make an unrelated change to verify error cache was updated + // Should persist error in the next rebuild + await harness.modifyFile('src/main.ts', (content) => content + '\n'); + + break; + case 2: + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Revert the directive change that caused the error + // Should remove the error + await harness.writeFile('src/app/dir2.ts', goodDirectiveContents); + + break; + case 3: + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + // Make an unrelated change to verify error cache was updated + // Should continue showing no error + await harness.modifyFile('src/main.ts', (content) => content + '\n'); + + break; + case 4: + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(typeErrorText), + }), + ); + + break; + } + }), + take(5), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(5); + }); + it('recovers from component stylesheet error', async () => { harness.useTarget('build', { ...BASE_OPTIONS, diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json index 5015054494d9..691d89d19a7e 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json @@ -20,6 +20,7 @@ }, "angularCompilerOptions": { "enableIvy": true, - "disableTypeScriptVersionCheck": true + "disableTypeScriptVersionCheck": true, + "strictTemplates": true } } diff --git a/packages/ngtools/webpack/src/ivy/cache.ts b/packages/ngtools/webpack/src/ivy/cache.ts index 817d52b496ae..f4fddc179116 100644 --- a/packages/ngtools/webpack/src/ivy/cache.ts +++ b/packages/ngtools/webpack/src/ivy/cache.ts @@ -9,6 +9,8 @@ import * as ts from 'typescript'; import { normalizePath } from './paths'; export class SourceFileCache extends Map { + private readonly angularDiagnostics = new Map(); + invalidate( fileTimestamps: Map, buildTimestamp: number, @@ -20,11 +22,27 @@ export class SourceFileCache extends Map { if (time === null || buildTimestamp < time) { // Cache stores paths using the POSIX directory separator const normalizedFile = normalizePath(file); - this.delete(normalizedFile); + const sourceFile = this.get(normalizedFile); + if (sourceFile) { + this.delete(normalizedFile); + this.angularDiagnostics.delete(sourceFile); + } changedFiles.add(normalizedFile); } } return changedFiles; } + + updateAngularDiagnostics(sourceFile: ts.SourceFile, diagnostics: ts.Diagnostic[]): void { + if (diagnostics.length > 0) { + this.angularDiagnostics.set(sourceFile, diagnostics); + } else { + this.angularDiagnostics.delete(sourceFile); + } + } + + getAngularDiagnostics(sourceFile: ts.SourceFile): ts.Diagnostic[] | undefined { + return this.angularDiagnostics.get(sourceFile); + } } diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index e5e052d4a50b..9929d66e4922 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -38,6 +38,13 @@ import { AngularPluginSymbol, EmitFileResult, FileEmitter } from './symbol'; import { createWebpackSystem } from './system'; import { createAotTransformers, createJitTransformers, mergeTransformers } from './transformation'; +/** + * The threshold used to determine whether Angular file diagnostics should optimize for full programs + * or single files. If the number of affected files for a build is more than the threshold, full + * program optimization will be used. + */ +const DIAGNOSTICS_AFFECTED_THRESHOLD = 1; + export interface AngularPluginOptions { tsconfig: string; compilerOptions?: CompilerOptions; @@ -304,10 +311,7 @@ export class AngularWebpackPlugin { }); } - private markResourceUsed( - normalizedResourcePath: string, - currentUnused: Set, - ): void { + private markResourceUsed(normalizedResourcePath: string, currentUnused: Set): void { if (!currentUnused.has(normalizedResourcePath)) { return; } @@ -443,13 +447,37 @@ export class AngularWebpackPlugin { } // Update semantic diagnostics cache + const affectedFiles = new Set(); while (true) { - const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => - ignoreForDiagnostics.has(sourceFile), - ); + const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => { + // If the affected file is a TTC shim, add the shim's original source file. + // This ensures that changes that affect TTC are typechecked even when the changes + // are otherwise unrelated from a TS perspective and do not result in Ivy codegen changes. + // For example, changing @Input property types of a directive used in another component's + // template. + if ( + ignoreForDiagnostics.has(sourceFile) && + sourceFile.fileName.endsWith('.ngtypecheck.ts') + ) { + // This file name conversion relies on internal compiler logic and should be converted + // to an official method when available. 15 is length of `.ngtypecheck.ts` + const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts'; + const originalSourceFile = builder.getSourceFile(originalFilename); + if (originalSourceFile) { + affectedFiles.add(originalSourceFile); + } + + return true; + } + + return false; + }); + if (!result) { break; } + + affectedFiles.add(result.affected as ts.SourceFile); } // Collect non-semantic diagnostics @@ -489,32 +517,31 @@ export class AngularWebpackPlugin { this.requiredFilesToEmit.clear(); for (const sourceFile of builder.getSourceFiles()) { - // Collect Angular template diagnostics - if (!ignoreForDiagnostics.has(sourceFile)) { - // The below check should be removed once support for compiler 11.0 is dropped. - // Also, the below require should be changed to an ES6 import. - if (angularCompiler.getDiagnosticsForFile) { - // @angular/compiler-cli 11.1+ - const { OptimizeFor } = require('@angular/compiler-cli/src/ngtsc/typecheck/api'); - diagnosticsReporter( - angularCompiler.getDiagnosticsForFile(sourceFile, OptimizeFor.WholeProgram), - ); - } else { - // @angular/compiler-cli 11.0+ - const getDiagnostics = angularCompiler.getDiagnostics as ( - sourceFile: ts.SourceFile, - ) => ts.Diagnostic[]; - diagnosticsReporter(getDiagnostics.call(angularCompiler, sourceFile)); - } + if (sourceFile.isDeclarationFile) { + continue; } // Collect sources that are required to be emitted if ( - !sourceFile.isDeclarationFile && !ignoreForEmit.has(sourceFile) && !angularCompiler.incrementalDriver.safeToSkipEmit(sourceFile) ) { this.requiredFilesToEmit.add(normalizePath(sourceFile.fileName)); + + // If required to emit, diagnostics may have also changed + if (!ignoreForDiagnostics.has(sourceFile)) { + affectedFiles.add(sourceFile); + } + } else if ( + this.sourceFileCache && + !affectedFiles.has(sourceFile) && + !ignoreForDiagnostics.has(sourceFile) + ) { + // Use cached Angular diagnostics for unchanged and unaffected files + const angularDiagnostics = this.sourceFileCache.getAngularDiagnostics(sourceFile); + if (angularDiagnostics) { + diagnosticsReporter(angularDiagnostics); + } } } @@ -524,6 +551,25 @@ export class AngularWebpackPlugin { this.lazyRouteMap[routeKey] = lazyRoute.referencedModule.filePath; } + // Collect new Angular diagnostics for files affected by changes + const { OptimizeFor } = require('@angular/compiler-cli/src/ngtsc/typecheck/api'); + const optimizeDiagnosticsFor = + affectedFiles.size <= DIAGNOSTICS_AFFECTED_THRESHOLD + ? OptimizeFor.SingleFile + : OptimizeFor.WholeProgram; + for (const affectedFile of affectedFiles) { + const angularDiagnostics = angularCompiler.getDiagnosticsForFile( + affectedFile, + optimizeDiagnosticsFor, + ); + diagnosticsReporter(angularDiagnostics); + this.sourceFileCache?.updateAngularDiagnostics(affectedFile, angularDiagnostics); + } + + // NOTE: Workaround to fix stale reuse program. Can be removed once fixed upstream. + // tslint:disable-next-line: no-any + (angularProgram as any).reuseTsProgram = angularCompiler.getNextProgram(); + return this.createFileEmitter( builder, mergeTransformers(angularCompiler.prepareEmit().transformers, transformers), From 843a8483a6ef7665aa43c14dfbb3a5dc9a35aab8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Apr 2021 14:50:17 +0200 Subject: [PATCH 643/696] ci: format angular-robot configuration Previously, running `yarn ng-dev caretaker check` would fail with `Multi-line double-quoted string needs to be sufficiently indented`. (cherry picked from commit 4a455871b1e7ecec4fc384d36aa4b9bb86121b03) --- .github/angular-robot.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index 7893681fcee2..ee4ebcbd2af8 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -14,8 +14,10 @@ merge: failureText: "The following checks are failing:" # comment that will be added to a PR when there is a conflict, leave empty or set to false to disable - mergeConflictComment: "Hi @{{PRAuthor}}! This PR has merge conflicts due to recent upstream merges. -\nPlease help to unblock it by resolving these conflicts. Thanks!" + mergeConflictComment: >- + Hi @{{PRAuthor}}! This PR has merge conflicts due to recent upstream merges. + + Please help to unblock it by resolving these conflicts. Thanks! # label to monitor mergeLabel: "action: merge" @@ -56,13 +58,18 @@ merge: # the comment that will be added when the merge label is added despite failing checks, leave empty or set to false to disable # {{MERGE_LABEL}} will be replaced by the value of the mergeLabel option # {{PLACEHOLDER}} will be replaced by the list of failing checks - mergeRemovedComment: "I see that you just added the `{{MERGE_LABEL}}` label, but the following checks are still failing: -\n{{PLACEHOLDER}} -\n -\n**If you want your PR to be merged, it has to pass all the CI checks.** -\n -\nIf you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help." + mergeRemovedComment: >- + I see that you just added the `{{MERGE_LABEL}}` label, but the following + checks are still failing: + {{PLACEHOLDER}} + + **If you want your PR to be merged, it has to pass all the CI checks.** + + If you can't get the PR to a green state due to flakes or broken master, + please try rebasing to master and/or restarting the CI job. If that fails + and you believe that the issue is not due to your change, please contact the + caretaker and ask for help. # options for the triage plugin triage: # set to true to disable From ff02842a702d651b72de782df99ad34f2f4ff06d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Apr 2021 09:56:15 -0400 Subject: [PATCH 644/696] fix(@angular-devkit/build-angular): set Tailwind CSS mode when using Tailwind Tailwind now suppports an environment variable named `TAILWIND_MODE` with possible values of `build` and `watch`. If the variable has not been set, the tooling will now set the variable based on the builder's `watch` option. (cherry picked from commit 2ac73c75e7c88aa26736423e5b26c69a426c5394) --- .../angular_devkit/build_angular/src/webpack/configs/styles.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 3efc04a38273..89c9519e1e4b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -186,6 +186,9 @@ export function getStylesConfig(wco: WebpackConfigOptions) { ); } if (tailwindPackagePath) { + if (process.env['TAILWIND_MODE'] === undefined) { + process.env['TAILWIND_MODE'] = buildOptions.watch ? 'watch' : 'build'; + } extraPostcssPlugins.push(require(tailwindPackagePath)({ config: tailwindConfigPath })); } } From d7a836a48668bb4111a900fae015c60112995379 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 21 Apr 2021 12:54:38 -0700 Subject: [PATCH 645/696] release: v11.2.10 --- packages/schematics/angular/utility/latest-versions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index fdd570beda5b..02c8cf26c291 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.2.10', + Angular: '~11.2.11', RxJs: '~6.6.0', ZoneJs: '~0.11.3', TypeScript: '~4.1.5', @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.10', - DevkitBuildNgPackagr: '~0.1102.10', - DevkitBuildWebpack: '~0.1102.10', + DevkitBuildAngular: '~0.1102.11', + DevkitBuildNgPackagr: '~0.1102.11', + DevkitBuildWebpack: '~0.1102.11', ngPackagr: '^11.0.0', }; From 5d9375ac1c7adb4e65dfeaea494c9e4417f7fced Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 21 Apr 2021 13:27:44 -0700 Subject: [PATCH 646/696] release: v11.2.10 --- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 02c8cf26c291..19425567ff58 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.11', - DevkitBuildNgPackagr: '~0.1102.11', - DevkitBuildWebpack: '~0.1102.11', + DevkitBuildAngular: '~0.1102.10', + DevkitBuildNgPackagr: '~0.1102.10', + DevkitBuildWebpack: '~0.1102.10', ngPackagr: '^11.0.0', }; From 6a83fe387752b29b8723c4ee20a7c9ccf82ed15e Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 21 Apr 2021 15:23:55 -0700 Subject: [PATCH 647/696] build: bump version to v11.2.11 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6bcc12c1faf5..c0d3293fbf3f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.10", + "version": "11.2.11", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 19425567ff58..02c8cf26c291 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.10', - DevkitBuildNgPackagr: '~0.1102.10', - DevkitBuildWebpack: '~0.1102.10', + DevkitBuildAngular: '~0.1102.11', + DevkitBuildNgPackagr: '~0.1102.11', + DevkitBuildWebpack: '~0.1102.11', ngPackagr: '^11.0.0', }; From 4952d5e45fb2bb1390ed2688808fa48bff219950 Mon Sep 17 00:00:00 2001 From: mzocateli Date: Mon, 19 Apr 2021 15:19:56 -0300 Subject: [PATCH 648/696] fix(@angular-devkit/schematics-cli): accept windows like paths for schematics correctly identify schematics paths like 'C:/dir/collection.json:schematic' that used to return 'C' as collection (cherry picked from commit 48701a9708f8bb4e93a251f99a64b9e05283a36c) --- packages/angular_devkit/schematics_cli/bin/schematics.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 37bfd56a0ff4..13433a699d8a 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -38,7 +38,10 @@ function parseSchematicName(str: string | null): { collection: string, schematic let schematic = str; if (schematic && schematic.indexOf(':') != -1) { - [collection, schematic] = schematic.split(':', 2); + [collection, schematic] = [ + schematic.slice(0, schematic.lastIndexOf(':')), + schematic.substring(schematic.lastIndexOf(':') + 1), + ]; } return { collection, schematic }; From 6b05a69785bb441cf3d698265115bb4ba8d56234 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Apr 2021 13:29:00 +0200 Subject: [PATCH 649/696] fix(@angular-devkit/build-angular): output webpack-dev-server and webpack-dev-middleware errors With this change we configure `webpack-dev-middleware` and `webpack-dev-server` to print errors to the console, which previously were not displayed. This is because both of these libraries log/emit errors using the logger and the compilation API. Certain errors such as the one below, were being swallowed during `ng serve`. ``` An unhandled exception occurred: Prevent writing to file that only differs in casing or query string from already written file. This will lead to a race-condition and corrupted files on case-insensitive file systems. /home/circleci/ng/aio/dist/generated/docs/api/router/Routes.json /home/circleci/ng/aio/dist/generated/docs/api/router/ROUTES.json ``` (cherry picked from commit b55fc08aa4f4846650be54e7a66d2e20ad3c01fd) --- .../build_angular/src/webpack/configs/dev-server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 086ece597259..f88193878043 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -125,7 +125,7 @@ export function getDevServerConfig( hot: hmr, proxy: addProxyConfig(root, proxyConfig), contentBase: false, - logLevel: 'silent', + logLevel: 'error', } as Configuration & { logLevel: Configuration['clientLogLevel'] }, }; } From 8abb3e45410c34fd6eddc8c6d514bb4c910b4a74 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Apr 2021 11:20:36 +0200 Subject: [PATCH 650/696] fix(@angular-devkit/build-angular): update CSSNano and PostCSS to fix serveral security issues Closes #20606 --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- .../plugins/optimize-css-webpack-plugin.ts | 6 +- yarn.lock | 502 ++++++++++++++---- 4 files changed, 408 insertions(+), 108 deletions(-) diff --git a/package.json b/package.json index c0d3293fbf3f..fdf0bc64dc2e 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "core-js": "3.8.3", "critters": "0.0.7", "css-loader": "5.0.1", - "cssnano": "4.1.11", + "cssnano": "5.0.1", "debug": "^4.1.1", "enhanced-resolve": "5.7.0", "express": "4.17.1", @@ -192,7 +192,7 @@ "pidusage": "^2.0.17", "pnp-webpack-plugin": "1.6.4", "popper.js": "^1.14.1", - "postcss": "8.2.4", + "postcss": "8.2.13", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c0d160d462f8..9d8ea97e43a7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -32,7 +32,7 @@ "core-js": "3.8.3", "critters": "0.0.7", "css-loader": "5.0.1", - "cssnano": "4.1.11", + "cssnano": "5.0.1", "file-loader": "6.2.0", "find-cache-dir": "3.3.1", "glob": "7.1.6", @@ -50,7 +50,7 @@ "ora": "5.3.0", "parse5-html-rewriting-stream": "6.0.1", "pnp-webpack-plugin": "1.6.4", - "postcss": "8.2.4", + "postcss": "8.2.13", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "raw-loader": "4.0.2", diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts index 276d503fb068..9bf2b4431da7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts @@ -111,11 +111,11 @@ export class OptimizeCssWebpackPlugin { }; const output = await new Promise((resolve, reject) => { - // the last parameter is not in the typings + // @types/cssnano are not up to date with version 5. // tslint:disable-next-line: no-any - (cssNano.process as any)(content, postCssOptions, cssNanoOptions) + (cssNano as any)(cssNanoOptions).process(content, postCssOptions) .then(resolve) - .catch((err: Error) => reject(new Error(`${file} ${err.message}`))); + .catch((err: Error) => reject(err)); }); for (const { text } of output.warnings()) { diff --git a/yarn.lock b/yarn.lock index ef1f68ec9c63..130167194199 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1395,6 +1395,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@trysound/sax@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669" + integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== + "@types/anymatch@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" @@ -2276,7 +2281,7 @@ ajv@^7.0.3: require-from-string "^2.0.2" uri-js "^4.2.2" -alphanum-sort@^1.0.0: +alphanum-sort@^1.0.0, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= @@ -2910,6 +2915,17 @@ browserslist@*, browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, escalade "^3.1.1" node-releases "^1.1.70" +browserslist@^4.16.0: + version "4.16.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae" + integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A== + dependencies: + caniuse-lite "^1.0.30001214" + colorette "^1.2.2" + electron-to-chromium "^1.3.719" + escalade "^3.1.1" + node-releases "^1.1.71" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -3116,25 +3132,6 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3187,6 +3184,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz#4f0e5184e1ea7c3bf2727e735cbe7ca9a451d673" integrity sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ== +caniuse-lite@^1.0.30001214: + version "1.0.30001218" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz#9b44f6ed16f875db6373e2debd4d14a07359002f" + integrity sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -3479,7 +3481,7 @@ color-string@^1.5.4: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@^3.0.0: +color@^3.0.0, color@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== @@ -3492,6 +3494,11 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + colors@1.4.0, colors@^1.1.2, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" @@ -3519,6 +3526,11 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.0.0.tgz#3e2bbfd8bb6724760980988fb5b22b7ee6b71ab2" integrity sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA== +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -3875,16 +3887,6 @@ cors@2.8.5, cors@~2.8.5: object-assign "^4" vary "^1" -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -3980,6 +3982,18 @@ css-color-names@0.0.4, css-color-names@^0.0.4: resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= +css-color-names@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" + integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + +css-declaration-sorter@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.0.0.tgz#eb21f75860078627e9e3cc6f5535ccfcea445817" + integrity sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg== + dependencies: + timsort "^0.3.0" + css-declaration-sorter@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" @@ -4028,6 +4042,17 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" +css-select@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" + integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== + dependencies: + boolbase "^1.0.0" + css-what "^4.0.0" + domhandler "^4.0.0" + domutils "^2.4.3" + nth-check "^2.0.0" + css-selector-tokenizer@^0.7.1: version "0.7.3" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" @@ -4057,6 +4082,11 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== +css-what@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" + integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== + css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -4124,41 +4154,40 @@ cssnano-preset-default@^4.0.7: postcss-svgo "^4.0.2" postcss-unique-selectors "^4.0.1" -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" - integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.3" - postcss-unique-selectors "^4.0.1" +cssnano-preset-default@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.0.0.tgz#94c03ecc1cb47ecdc23c0aea3ca05170ebbb7e33" + integrity sha512-zsLppqF7PxY6Tk+ghVx8djf4o1jIOu2GNufqy9lMxldt7gGpSy3FQ6jn7FCd5DZWCaBa7A/1/HVh8CK3BdFSJg== + dependencies: + css-declaration-sorter "6.0.0" + cssnano-utils "^2.0.0" + postcss-calc "^8.0.0" + postcss-colormin "^5.0.0" + postcss-convert-values "^5.0.0" + postcss-discard-comments "^5.0.0" + postcss-discard-duplicates "^5.0.0" + postcss-discard-empty "^5.0.0" + postcss-discard-overridden "^5.0.0" + postcss-merge-longhand "^5.0.0" + postcss-merge-rules "^5.0.0" + postcss-minify-font-values "^5.0.0" + postcss-minify-gradients "^5.0.0" + postcss-minify-params "^5.0.0" + postcss-minify-selectors "^5.0.0" + postcss-normalize-charset "^5.0.0" + postcss-normalize-display-values "^5.0.0" + postcss-normalize-positions "^5.0.0" + postcss-normalize-repeat-style "^5.0.0" + postcss-normalize-string "^5.0.0" + postcss-normalize-timing-functions "^5.0.0" + postcss-normalize-unicode "^5.0.0" + postcss-normalize-url "^5.0.0" + postcss-normalize-whitespace "^5.0.0" + postcss-ordered-values "^5.0.0" + postcss-reduce-initial "^5.0.0" + postcss-reduce-transforms "^5.0.0" + postcss-svgo "^5.0.0" + postcss-unique-selectors "^5.0.0" cssnano-util-get-arguments@^4.0.0: version "4.0.0" @@ -4182,17 +4211,21 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@4.1.11: - version "4.1.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" - integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== +cssnano-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.0.tgz#b04baaa312aa3dd5a854b7f61d76b9d94be07f74" + integrity sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA== + +cssnano@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.1.tgz#ed4822c4a9212f22f6820717859c52a6b7f9cf5c" + integrity sha512-5WubEmKcK2cqw43DUAayRBiIlTdX7iX3ZowrWDVxSVcW3hyohVnbJ4K4mbnWtJp5rfJnUwHg5H4mDAGzmuCM3g== dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" + cosmiconfig "^7.0.0" + cssnano-preset-default "^5.0.0" + is-resolvable "^1.1.0" -csso@^4.0.2: +csso@^4.0.2, csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== @@ -4585,6 +4618,15 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" + integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + entities "^2.0.0" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" @@ -4600,6 +4642,11 @@ domelementtype@^2.0.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== +domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -4607,6 +4654,13 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + dependencies: + domelementtype "^2.2.0" + domino@^2.1.2: version "2.1.6" resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" @@ -4625,6 +4679,15 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.4.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" + integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -4686,6 +4749,11 @@ electron-to-chromium@^1.3.649: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.649.tgz#3aa8be052d4d268ede45d8e98d0cd60ffefad607" integrity sha512-ojGDupQ3UMkvPWcTICe4JYe17+o9OLiFMPoduoR72Zp2ILt1mRVeqnxBEd6s/ptekrnsFU+0A4lStfBe/wyG/A== +electron-to-chromium@^1.3.719: + version "1.3.722" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.722.tgz#621657f79e7f65402e71aa3403bc941f3a4af0a0" + integrity sha512-aAsc906l0RBsVTsGTK+KirVfey9eNtxyejdkbNzkISGxb7AFna3Kf0qvsp8tMttzBt9Bz3HddtYQ+++/PZtRYA== + elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -6148,14 +6216,6 @@ immutable@^3.8.2: resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -6367,7 +6427,7 @@ is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== -is-color-stop@^1.0.0: +is-color-stop@^1.0.0, is-color-stop@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= @@ -6423,11 +6483,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - is-docker@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" @@ -6592,7 +6647,7 @@ is-regex@^1.0.4, is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" -is-resolvable@^1.0.0: +is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== @@ -8080,6 +8135,11 @@ nanoid@^3.1.20: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@^3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -8240,6 +8300,11 @@ node-releases@^1.1.70: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== +node-releases@^1.1.71: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + node-sass-tilde-importer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" @@ -8309,7 +8374,7 @@ normalize-url@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -normalize-url@^4.1.0: +normalize-url@^4.1.0, normalize-url@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== @@ -8428,6 +8493,13 @@ nth-check@^1.0.2: dependencies: boolbase "~1.0.0" +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -9120,6 +9192,14 @@ postcss-calc@^7.0.1: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" + integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + postcss-colormin@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" @@ -9131,6 +9211,15 @@ postcss-colormin@^4.0.3: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-colormin@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.0.0.tgz#283b8934c8bdbc531e7648aeb0970107f6d06d0e" + integrity sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ== + dependencies: + browserslist "^4.16.0" + color "^3.1.1" + postcss-value-parser "^4.1.0" + postcss-convert-values@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" @@ -9139,6 +9228,13 @@ postcss-convert-values@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-convert-values@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.0.tgz#cd77e1d23ebe8fcf508640551eed08e232784cba" + integrity sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ== + dependencies: + postcss-value-parser "^4.1.0" + postcss-discard-comments@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" @@ -9146,6 +9242,11 @@ postcss-discard-comments@^4.0.2: dependencies: postcss "^7.0.0" +postcss-discard-comments@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.0.tgz#6c27310e0657c0b9e38a6175ad001b5aa28964bc" + integrity sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ== + postcss-discard-duplicates@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" @@ -9153,6 +9254,11 @@ postcss-discard-duplicates@^4.0.2: dependencies: postcss "^7.0.0" +postcss-discard-duplicates@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.0.tgz#6a2c4f779e8d20da6781e90730f234f9e650c51c" + integrity sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ== + postcss-discard-empty@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" @@ -9160,6 +9266,11 @@ postcss-discard-empty@^4.0.1: dependencies: postcss "^7.0.0" +postcss-discard-empty@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.0.tgz#0f0a9baee415f5f7be4ae046ba235e98626ba821" + integrity sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ== + postcss-discard-overridden@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" @@ -9167,6 +9278,11 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-discard-overridden@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.0.tgz#ac00f695a60001eda52135a11fac87376b8da9ee" + integrity sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg== + postcss-import@14.0.0: version "14.0.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.0.tgz#3ed1dadac5a16650bde3f4cdea6633b9c3c78296" @@ -9197,6 +9313,15 @@ postcss-merge-longhand@^4.0.11: postcss-value-parser "^3.0.0" stylehacks "^4.0.0" +postcss-merge-longhand@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.0.tgz#103dee28c55491df727f17d7b8e91e93e7a472ee" + integrity sha512-VZNFA40K8BYHzJNA6jHPdg1Nofsz/nK5Dkszrcb5IgWcLroSBZOD6I/iNQzpejSU/3XwpOiZNaYAdBV4KcvxWA== + dependencies: + css-color-names "^1.0.1" + postcss-value-parser "^4.1.0" + stylehacks "^5.0.0" + postcss-merge-rules@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" @@ -9209,6 +9334,17 @@ postcss-merge-rules@^4.0.3: postcss-selector-parser "^3.0.0" vendors "^1.0.0" +postcss-merge-rules@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.0.tgz#e0d0c0d45c98376f4adb49eb1f1dfe2aebfd7048" + integrity sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.0" + postcss-selector-parser "^6.0.4" + vendors "^1.0.3" + postcss-minify-font-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" @@ -9217,6 +9353,13 @@ postcss-minify-font-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-minify-font-values@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.0.tgz#fee5d0fa192fae8757cb744870a0ad02be5f402e" + integrity sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg== + dependencies: + postcss-value-parser "^4.1.0" + postcss-minify-gradients@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" @@ -9227,6 +9370,15 @@ postcss-minify-gradients@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-minify-gradients@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.0.tgz#95dbe61567a45c0cd7ab897d78fb65d5096844ed" + integrity sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg== + dependencies: + cssnano-utils "^2.0.0" + is-color-stop "^1.1.0" + postcss-value-parser "^4.1.0" + postcss-minify-params@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" @@ -9239,6 +9391,17 @@ postcss-minify-params@^4.0.2: postcss-value-parser "^3.0.0" uniqs "^2.0.0" +postcss-minify-params@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.0.tgz#12c7f75d69b0b4827fafbd6649970a53784a9c24" + integrity sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.0" + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + uniqs "^2.0.0" + postcss-minify-selectors@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" @@ -9249,6 +9412,14 @@ postcss-minify-selectors@^4.0.2: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +postcss-minify-selectors@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.0.0.tgz#d3e43d97fd0ba83ba0010950fc5acfa420f7caa9" + integrity sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^3.1.2" + postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -9284,6 +9455,11 @@ postcss-normalize-charset@^4.0.1: dependencies: postcss "^7.0.0" +postcss-normalize-charset@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.0.tgz#59e1fe2094fb2e3371cc5b054cbc39828a41a710" + integrity sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ== + postcss-normalize-display-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" @@ -9293,6 +9469,14 @@ postcss-normalize-display-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-display-values@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.0.tgz#4ff2d3b3b5146a366de28ec9e24131a1868f1933" + integrity sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA== + dependencies: + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + postcss-normalize-positions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" @@ -9303,6 +9487,13 @@ postcss-normalize-positions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-positions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.0.tgz#fe1d9a8122dd385b9c6908bd2008140dea17750d" + integrity sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg== + dependencies: + postcss-value-parser "^4.1.0" + postcss-normalize-repeat-style@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" @@ -9313,6 +9504,14 @@ postcss-normalize-repeat-style@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-repeat-style@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.0.tgz#e11d88fbf63f89179c6a7391853b2fe7f46e589d" + integrity sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ== + dependencies: + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + postcss-normalize-string@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" @@ -9322,6 +9521,13 @@ postcss-normalize-string@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-string@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.0.tgz#2ea08ff4cb8817ce160755e9fdc7e6ef6d495002" + integrity sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw== + dependencies: + postcss-value-parser "^4.1.0" + postcss-normalize-timing-functions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" @@ -9331,6 +9537,14 @@ postcss-normalize-timing-functions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-timing-functions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.0.tgz#380eb1c9b179f96efc307c659a8049116f16f381" + integrity sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q== + dependencies: + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + postcss-normalize-unicode@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" @@ -9340,6 +9554,14 @@ postcss-normalize-unicode@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-unicode@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.0.tgz#aa46a89c86ae51a01cbca13e73c1ed7b0b38807e" + integrity sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A== + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + postcss-normalize-url@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" @@ -9350,6 +9572,15 @@ postcss-normalize-url@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.0.tgz#626a4c7d30007f94466cdf245e7ed9f253f1dbd9" + integrity sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^4.5.0" + postcss-value-parser "^4.1.0" + postcss-normalize-whitespace@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" @@ -9358,6 +9589,13 @@ postcss-normalize-whitespace@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-whitespace@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.0.tgz#1faf147a4f8d3d93a3c75109d120b4eefa00589b" + integrity sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA== + dependencies: + postcss-value-parser "^4.1.0" + postcss-ordered-values@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" @@ -9367,6 +9605,14 @@ postcss-ordered-values@^4.1.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-ordered-values@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.0.tgz#a50f224c5f40c566b338b0663655478737dcebee" + integrity sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g== + dependencies: + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + postcss-reduce-initial@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" @@ -9377,6 +9623,14 @@ postcss-reduce-initial@^4.0.3: has "^1.0.0" postcss "^7.0.0" +postcss-reduce-initial@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.0.tgz#c724e5513b0ae7f3d7bff16f0fc82133fb2f820a" + integrity sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" + postcss-reduce-transforms@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" @@ -9387,7 +9641,15 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-selector-parser@^3.0.0: +postcss-reduce-transforms@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.0.tgz#5c820f71fbd4eec82b323523642b7b2d1c7d29ef" + integrity sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw== + dependencies: + cssnano-utils "^2.0.0" + postcss-value-parser "^4.1.0" + +postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== @@ -9416,14 +9678,13 @@ postcss-svgo@^4.0.2: postcss-value-parser "^3.0.0" svgo "^1.0.0" -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" - integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== +postcss-svgo@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.0.tgz#c8d806e573394ab24f1e233cac5be4c199e9f1b2" + integrity sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA== dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" + postcss-value-parser "^4.1.0" + svgo "^2.3.0" postcss-unique-selectors@^4.0.1: version "4.0.1" @@ -9434,6 +9695,15 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" +postcss-unique-selectors@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.0.tgz#17856278f6c38d024defc9694d568bb09dd7f771" + integrity sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.2" + uniqs "^2.0.0" + postcss-url@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-8.0.0.tgz#7b10059bd12929cdbb1971c60f61a0e5af86b4ca" @@ -9473,7 +9743,16 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@8.2.4, postcss@^8.1.4: +postcss@8.2.13: + version "8.2.13" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.13.tgz#dbe043e26e3c068e45113b1ed6375d2d37e2129f" + integrity sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.22" + source-map "^0.6.1" + +postcss@^8.1.4: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== @@ -11319,6 +11598,14 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +stylehacks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.0.tgz#c49b0b2cf9917fe37dc030b96a4c34698b932933" + integrity sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA== + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + stylus-loader@4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.3.tgz#381bb6341272ac50bcdfd0b877707eac99b6b757" @@ -11394,6 +11681,19 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" +svgo@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.0.tgz#6b3af81d0cbd1e19c83f5f63cec2cb98c70b5373" + integrity sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== + dependencies: + "@trysound/sax" "0.1.1" + chalk "^4.1.0" + commander "^7.1.0" + css-select "^3.1.2" + css-tree "^1.1.2" + csso "^4.2.0" + stable "^0.1.8" + symbol-observable@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" @@ -12150,7 +12450,7 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vendors@^1.0.0: +vendors@^1.0.0, vendors@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== From b0dece257cd2697bbd3d7f939886325d4ae65387 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Mon, 26 Apr 2021 15:16:57 -0700 Subject: [PATCH 651/696] build: update tslint to check for proper and correct file header Update the file header expectation in linting to be Google LLC rather than Google Inc. --- tslint.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tslint.json b/tslint.json index 9128c2c04b24..ee2968d79de4 100644 --- a/tslint.json +++ b/tslint.json @@ -134,7 +134,10 @@ "curly": true, "file-header": [ true, - "Copyright Google Inc\\. All Rights Reserved\\." + { + "match": "Copyright Google LLC", + "allow-single-line-comments": false + } ], "variable-name": [ true, From 70cf2506de276b2f91960400a96ec242a4292c06 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Tue, 27 Apr 2021 08:21:30 -0700 Subject: [PATCH 652/696] build: migrate all file header to use Google LLC rather than Google Inc --- bin/architect | 2 +- bin/benchmark | 2 +- bin/build-optimizer | 2 +- bin/devkit-admin | 2 +- bin/ng | 2 +- bin/schematics | 2 +- lib/bootstrap-local.js | 2 +- lib/packages.ts | 2 +- lib/registries.ts | 2 +- packages/angular/cli/commands/add-impl.ts | 2 +- packages/angular/cli/commands/analytics-impl.ts | 2 +- packages/angular/cli/commands/build-impl.ts | 2 +- packages/angular/cli/commands/config-impl.ts | 2 +- packages/angular/cli/commands/deploy-impl.ts | 2 +- packages/angular/cli/commands/doc-impl.ts | 2 +- packages/angular/cli/commands/e2e-impl.ts | 2 +- packages/angular/cli/commands/easter-egg-impl.ts | 2 +- packages/angular/cli/commands/extract-i18n-impl.ts | 2 +- packages/angular/cli/commands/generate-impl.ts | 2 +- packages/angular/cli/commands/help-impl.ts | 2 +- packages/angular/cli/commands/lint-impl.ts | 2 +- packages/angular/cli/commands/new-impl.ts | 2 +- packages/angular/cli/commands/run-impl.ts | 2 +- packages/angular/cli/commands/serve-impl.ts | 2 +- packages/angular/cli/commands/test-impl.ts | 2 +- packages/angular/cli/commands/update-impl.ts | 2 +- packages/angular/cli/commands/version-impl.ts | 2 +- packages/angular/cli/lib/cli/index.ts | 2 +- packages/angular/cli/lib/init.ts | 2 +- packages/angular/cli/models/analytics.ts | 2 +- packages/angular/cli/models/architect-command.ts | 2 +- packages/angular/cli/models/command-runner.ts | 2 +- packages/angular/cli/models/command.ts | 2 +- packages/angular/cli/models/error.ts | 2 +- packages/angular/cli/models/interface.ts | 2 +- packages/angular/cli/models/parser.ts | 3 +-- packages/angular/cli/models/parser_spec.ts | 3 +-- packages/angular/cli/models/schematic-command.ts | 2 +- packages/angular/cli/models/schematic-engine-host.ts | 2 +- packages/angular/cli/utilities/color.ts | 2 +- packages/angular/cli/utilities/config.ts | 2 +- packages/angular/cli/utilities/find-up.ts | 2 +- packages/angular/cli/utilities/install-package.ts | 2 +- packages/angular/cli/utilities/json-file.ts | 2 +- packages/angular/cli/utilities/json-schema.ts | 2 +- packages/angular/cli/utilities/json-schema_spec.ts | 3 +-- packages/angular/cli/utilities/log-file.ts | 2 +- packages/angular/cli/utilities/package-manager.ts | 2 +- packages/angular/cli/utilities/package-metadata.ts | 2 +- packages/angular/cli/utilities/package-tree.ts | 2 +- packages/angular/cli/utilities/project.ts | 2 +- packages/angular/cli/utilities/spinner.ts | 2 +- packages/angular/cli/utilities/tty.ts | 2 +- packages/angular/pwa/pwa/index.ts | 2 +- packages/angular/pwa/pwa/index_spec.ts | 2 +- packages/angular_devkit/architect/builders/all-of.ts | 2 +- packages/angular_devkit/architect/builders/concat.ts | 2 +- packages/angular_devkit/architect/builders/false.ts | 2 +- packages/angular_devkit/architect/builders/true.ts | 2 +- packages/angular_devkit/architect/node/index.ts | 2 +- .../architect/node/node-modules-architect-host.ts | 2 +- packages/angular_devkit/architect/src/api.ts | 2 +- packages/angular_devkit/architect/src/api_spec.ts | 2 +- packages/angular_devkit/architect/src/architect.ts | 2 +- .../angular_devkit/architect/src/create-builder.ts | 2 +- packages/angular_devkit/architect/src/index.ts | 2 +- packages/angular_devkit/architect/src/index_spec.ts | 2 +- packages/angular_devkit/architect/src/internal.ts | 2 +- .../angular_devkit/architect/src/schedule-by-name.ts | 2 +- packages/angular_devkit/architect/testing/index.ts | 2 +- .../architect/testing/test-project-host.ts | 2 +- .../architect/testing/testing-architect-host.ts | 2 +- .../angular_devkit/architect_cli/bin/architect.ts | 2 +- .../angular_devkit/architect_cli/src/progress.ts | 2 +- packages/angular_devkit/benchmark/src/command.ts | 2 +- .../angular_devkit/benchmark/src/default-reporter.ts | 2 +- .../benchmark/src/default-stats-capture.ts | 2 +- .../benchmark/src/default-stats-capture_spec.ts | 2 +- packages/angular_devkit/benchmark/src/index.ts | 2 +- packages/angular_devkit/benchmark/src/interfaces.ts | 2 +- packages/angular_devkit/benchmark/src/main.ts | 2 +- packages/angular_devkit/benchmark/src/main_spec.ts | 2 +- .../benchmark/src/monitored-process.ts | 2 +- .../benchmark/src/monitored-process_spec.ts | 2 +- .../benchmark/src/run-benchmark-watch.ts | 2 +- .../angular_devkit/benchmark/src/run-benchmark.ts | 2 +- packages/angular_devkit/benchmark/src/utils.ts | 2 +- .../angular_devkit/build_angular/plugins/karma.ts | 2 +- .../build_angular/src/app-shell/app-shell_spec.ts | 2 +- .../build_angular/src/app-shell/index.ts | 2 +- .../build_angular/src/babel-bazel.d.ts | 2 +- .../build_angular/src/babel/babel-loader.d.ts | 2 +- .../build_angular/src/babel/presets/application.ts | 2 +- .../build_angular/src/babel/webpack-loader.ts | 2 +- .../build_angular/src/browser/index.ts | 2 +- .../build_angular/src/browser/specs/allow-js_spec.ts | 2 +- .../build_angular/src/browser/specs/aot_spec.ts | 2 +- .../build_angular/src/browser/specs/assets_spec.ts | 2 +- .../src/browser/specs/base-href_spec.ts | 2 +- .../src/browser/specs/browser-support_spec.ts | 2 +- .../src/browser/specs/build-optimizer_spec.ts | 2 +- .../src/browser/specs/bundle-budgets_spec.ts | 2 +- .../src/browser/specs/circular-dependency_spec.ts | 2 +- .../src/browser/specs/cross-origin_spec.ts | 2 +- .../src/browser/specs/deploy-url_spec.ts | 2 +- .../src/browser/specs/differential_loading_spec.ts | 2 +- .../build_angular/src/browser/specs/errors_spec.ts | 2 +- .../src/browser/specs/font-optimization_spec.ts | 2 +- .../build_angular/src/browser/specs/i18n_spec.ts | 2 +- .../build_angular/src/browser/specs/index_spec.ts | 2 +- .../specs/inline-critical-css-optimization_spec.ts | 2 +- .../src/browser/specs/lazy-module_spec.ts | 2 +- .../src/browser/specs/no-entry-module_spec.ts | 2 +- .../src/browser/specs/optimization-level_spec.ts | 2 +- .../src/browser/specs/output-path_spec.ts | 2 +- .../build_angular/src/browser/specs/poll_spec.ts | 2 +- .../build_angular/src/browser/specs/rebuild_spec.ts | 2 +- .../src/browser/specs/replacements_spec.ts | 2 +- .../src/browser/specs/resolve-json-module_spec.ts | 2 +- .../src/browser/specs/resources-output-path_spec.ts | 2 +- .../build_angular/src/browser/specs/rollup_spec.ts | 2 +- .../src/browser/specs/scripts-array_spec.ts | 2 +- .../src/browser/specs/service-worker_spec.ts | 2 +- .../src/browser/specs/source-map_spec.ts | 2 +- .../src/browser/specs/stats-json_spec.ts | 2 +- .../build_angular/src/browser/specs/styles_spec.ts | 2 +- .../build_angular/src/browser/specs/svg_spec.ts | 2 +- .../src/browser/specs/tsconfig-paths_spec.ts | 2 +- .../src/browser/specs/unused-files-warning_spec.ts | 2 +- .../src/browser/specs/vendor-chunk_spec.ts | 2 +- .../src/browser/specs/vendor-source-map_spec.ts | 2 +- .../src/browser/specs/web-worker_spec.ts | 2 +- .../build_angular/src/browser/specs/works_spec.ts | 2 +- .../browser/tests/behavior/rebuild-errors_spec.ts | 2 +- .../browser/tests/behavior/typescript-target_spec.ts | 2 +- .../options/allowed-common-js-dependencies_spec.ts | 2 +- .../src/browser/tests/options/assets_spec.ts | 2 +- .../browser/tests/options/extract-licenses_spec.ts | 2 +- .../src/browser/tests/options/main_spec.ts | 2 +- .../src/browser/tests/options/output-hashing_spec.ts | 2 +- .../src/browser/tests/options/polyfills_spec.ts | 2 +- .../src/browser/tests/options/scripts_spec.ts | 2 +- .../src/browser/tests/options/stats-json_spec.ts | 2 +- .../src/browser/tests/options/styles_spec.ts | 2 +- .../tests/options/subresource-integrity_spec.ts | 2 +- .../src/browser/tests/options/tsconfig_spec.ts | 2 +- .../src/browser/tests/options/watch_spec.ts | 2 +- .../build_angular/src/browser/tests/setup.ts | 2 +- .../src/dev-server/allowed-hosts_spec.ts | 2 +- .../build_angular/src/dev-server/budgets_spec.ts | 2 +- .../src/dev-server/common-js-warning_spec.ts | 2 +- .../build_angular/src/dev-server/deploy-url_spec.ts | 2 +- .../build_angular/src/dev-server/hmr_spec.ts | 2 +- .../build_angular/src/dev-server/index.ts | 2 +- .../build_angular/src/dev-server/index_spec.ts | 2 +- .../inline-critical-css-optimization_spec.ts | 2 +- .../build_angular/src/dev-server/live-reload_spec.ts | 2 +- .../build_angular/src/dev-server/proxy_spec.ts | 2 +- .../build_angular/src/dev-server/public-host_spec.ts | 2 +- .../build_angular/src/dev-server/serve-path_spec.ts | 2 +- .../build_angular/src/dev-server/ssl_spec.ts | 2 +- .../build_angular/src/dev-server/works_spec.ts | 2 +- .../build_angular/src/extract-i18n/index.ts | 2 +- .../src/extract-i18n/ivy-extract-loader.ts | 2 +- .../build_angular/src/extract-i18n/works_spec.ts | 2 +- packages/angular_devkit/build_angular/src/index.ts | 2 +- .../build_angular/src/karma/code-coverage_spec.ts | 2 +- .../build_angular/src/karma/find-tests.ts | 2 +- .../angular_devkit/build_angular/src/karma/index.ts | 2 +- .../build_angular/src/karma/rebuilds_spec.ts | 2 +- .../build_angular/src/karma/selected_spec.ts | 2 +- .../build_angular/src/karma/works_spec.ts | 2 +- .../build_angular/src/ng-packagr/index.ts | 2 +- .../build_angular/src/ng-packagr/works_spec.ts | 2 +- .../build_angular/src/protractor/index.ts | 2 +- .../build_angular/src/protractor/works_spec.ts | 2 +- .../build_angular/src/server/base_spec.ts | 2 +- .../src/server/external_dependencies_spec.ts | 2 +- .../angular_devkit/build_angular/src/server/index.ts | 2 +- .../src/server/resources-output-path_spec.ts | 2 +- .../angular_devkit/build_angular/src/test-utils.ts | 2 +- .../build_angular/src/testing/builder-harness.ts | 2 +- .../src/testing/builder-harness_spec.ts | 2 +- .../build_angular/src/testing/file-watching.ts | 2 +- .../build_angular/src/testing/index.ts | 2 +- .../build_angular/src/testing/jasmine-helpers.ts | 2 +- .../angular_devkit/build_angular/src/transforms.ts | 2 +- .../angular_devkit/build_angular/src/tslint/index.ts | 2 +- .../build_angular/src/tslint/works_spec.ts | 2 +- .../angular_devkit/build_angular/src/typings.d.ts | 2 +- .../build_angular/src/utils/action-cache.ts | 2 +- .../build_angular/src/utils/action-executor.ts | 2 +- .../src/utils/build-browser-features.ts | 2 +- .../src/utils/build-browser-features_spec.ts | 2 +- .../build_angular/src/utils/build-options.ts | 2 +- .../build_angular/src/utils/bundle-calculator.ts | 2 +- .../src/utils/bundle-calculator_spec.ts | 2 +- .../build_angular/src/utils/cache-path.ts | 2 +- .../build_angular/src/utils/check-port.ts | 2 +- .../angular_devkit/build_angular/src/utils/color.ts | 2 +- .../build_angular/src/utils/copy-assets.ts | 2 +- .../build_angular/src/utils/copy-file.ts | 2 +- .../build_angular/src/utils/default-progress.ts | 2 +- .../build_angular/src/utils/delete-output-dir.ts | 2 +- .../build_angular/src/utils/environment-options.ts | 2 +- .../build_angular/src/utils/find-up.ts | 2 +- .../angular_devkit/build_angular/src/utils/fs.ts | 2 +- .../build_angular/src/utils/i18n-inlining.ts | 2 +- .../build_angular/src/utils/i18n-options.ts | 2 +- .../src/utils/index-file/augment-index-html.ts | 2 +- .../src/utils/index-file/augment-index-html_spec.ts | 2 +- .../src/utils/index-file/html-rewriting-stream.ts | 2 +- .../src/utils/index-file/index-html-generator.ts | 2 +- .../src/utils/index-file/inline-critical-css.ts | 2 +- .../src/utils/index-file/inline-critical-css_spec.ts | 2 +- .../src/utils/index-file/inline-fonts.ts | 2 +- .../src/utils/index-file/inline-fonts_spec.ts | 2 +- .../angular_devkit/build_angular/src/utils/index.ts | 2 +- .../build_angular/src/utils/is-directory.ts | 2 +- .../build_angular/src/utils/load-translations.ts | 2 +- .../src/utils/normalize-asset-patterns.ts | 2 +- .../src/utils/normalize-builder-schema.ts | 2 +- .../src/utils/normalize-file-replacements.ts | 2 +- .../src/utils/normalize-optimization.ts | 2 +- .../build_angular/src/utils/normalize-source-maps.ts | 2 +- .../build_angular/src/utils/output-paths.ts | 2 +- .../build_angular/src/utils/package-chunk-sort.ts | 2 +- .../src/utils/process-bundle-bootstrap.js | 4 ++-- .../build_angular/src/utils/process-bundle.ts | 2 +- .../build_angular/src/utils/read-tsconfig.ts | 2 +- .../src/utils/run-module-as-observable-fork.ts | 2 +- .../build_angular/src/utils/run-module-worker.js | 3 +-- .../build_angular/src/utils/service-worker.ts | 2 +- .../build_angular/src/utils/spinner.ts | 2 +- .../build_angular/src/utils/strip-bom.ts | 2 +- .../angular_devkit/build_angular/src/utils/tty.ts | 2 +- .../angular_devkit/build_angular/src/utils/url.ts | 2 +- .../build_angular/src/utils/url_spec.ts | 2 +- .../build_angular/src/utils/version.ts | 2 +- .../src/utils/webpack-browser-config.ts | 2 +- .../build_angular/src/utils/webpack-diagnostics.ts | 2 +- .../build_angular/src/utils/webpack-version.ts | 2 +- .../build_angular/src/utils/workers.ts | 2 +- .../build_angular/src/webpack/configs/browser.ts | 2 +- .../build_angular/src/webpack/configs/common.ts | 2 +- .../build_angular/src/webpack/configs/dev-server.ts | 2 +- .../build_angular/src/webpack/configs/index.ts | 2 +- .../build_angular/src/webpack/configs/server.ts | 2 +- .../build_angular/src/webpack/configs/stats.ts | 2 +- .../build_angular/src/webpack/configs/styles.ts | 2 +- .../build_angular/src/webpack/configs/test.ts | 2 +- .../build_angular/src/webpack/configs/typescript.ts | 2 +- .../build_angular/src/webpack/configs/worker.ts | 2 +- .../build_angular/src/webpack/es5-jit-polyfills.js | 2 +- .../build_angular/src/webpack/es5-polyfills.js | 4 ++-- .../build_angular/src/webpack/jit-polyfills.js | 2 +- .../build_angular/src/webpack/plugins/analytics.ts | 2 +- .../src/webpack/plugins/analytics_spec.ts | 2 +- .../plugins/any-component-style-budget-checker.ts | 2 +- .../src/webpack/plugins/builder-watch-plugin.ts | 2 +- .../webpack/plugins/common-js-usage-warn-plugin.ts | 2 +- .../webpack/plugins/dedupe-module-resolve-plugin.ts | 2 +- .../src/webpack/plugins/hmr/hmr-accept.ts | 2 +- .../src/webpack/plugins/hmr/hmr-loader.ts | 2 +- .../src/webpack/plugins/index-html-webpack-plugin.ts | 2 +- .../build_angular/src/webpack/plugins/index.ts | 2 +- .../plugins/karma/karma-webpack-failure-cb.ts | 2 +- .../build_angular/src/webpack/plugins/karma/karma.ts | 2 +- .../src/webpack/plugins/named-chunks-plugin.ts | 2 +- .../webpack/plugins/optimize-css-webpack-plugin.ts | 2 +- .../src/webpack/plugins/postcss-cli-resources.ts | 2 +- .../src/webpack/plugins/remove-hash-plugin.ts | 2 +- .../src/webpack/plugins/scripts-webpack-plugin.ts | 2 +- .../src/webpack/plugins/single-test-transform.ts | 2 +- .../plugins/suppress-entry-chunks-webpack-plugin.ts | 2 +- .../src/webpack/plugins/webpack-rollup-loader.ts | 2 +- .../build_angular/src/webpack/utils/async-chunks.ts | 2 +- .../src/webpack/utils/async-chunks_spec.ts | 2 +- .../build_angular/src/webpack/utils/helpers.ts | 2 +- .../build_angular/src/webpack/utils/stats.ts | 4 ++-- .../test/hello-world-app/e2e/app.e2e-spec.ts | 2 +- .../build_angular/test/hello-world-app/e2e/app.po.ts | 2 +- .../build_angular/test/hello-world-app/karma.conf.js | 2 +- .../test/hello-world-app/protractor.conf.js | 2 +- .../hello-world-app/src/app/app.component.spec.ts | 2 +- .../test/hello-world-app/src/app/app.component.ts | 2 +- .../test/hello-world-app/src/app/app.module.ts | 2 +- .../hello-world-app/src/app/app.server.module.ts | 2 +- .../src/environments/environment.prod.ts | 2 +- .../hello-world-app/src/environments/environment.ts | 2 +- .../test/hello-world-app/src/main.server.ts | 2 +- .../build_angular/test/hello-world-app/src/main.ts | 2 +- .../test/hello-world-app/src/polyfills.ts | 2 +- .../build_angular/test/hello-world-app/src/test.ts | 2 +- .../test/hello-world-app/src/typings.d.ts | 2 +- .../test/hello-world-lib/projects/lib/karma.conf.js | 2 +- .../projects/lib/src/lib/lib.component.spec.ts | 2 +- .../projects/lib/src/lib/lib.component.ts | 2 +- .../projects/lib/src/lib/lib.module.ts | 2 +- .../projects/lib/src/lib/lib.service.spec.ts | 2 +- .../projects/lib/src/lib/lib.service.ts | 2 +- .../hello-world-lib/projects/lib/src/public-api.ts | 2 +- .../test/hello-world-lib/projects/lib/src/test.ts | 2 +- .../build_optimizer/src/_golden-api.ts | 2 +- .../src/build-optimizer/build-optimizer.ts | 2 +- .../src/build-optimizer/build-optimizer_spec.ts | 2 +- .../build_optimizer/src/build-optimizer/cli.ts | 2 +- .../src/build-optimizer/rollup-plugin.ts | 2 +- .../src/build-optimizer/webpack-loader.ts | 2 +- .../src/build-optimizer/webpack-plugin.ts | 2 +- .../build_optimizer/src/helpers/ast-utils.ts | 2 +- .../src/helpers/transform-javascript.ts | 2 +- packages/angular_devkit/build_optimizer/src/index.ts | 2 +- .../build_optimizer/src/transforms/prefix-classes.ts | 2 +- .../src/transforms/prefix-classes_spec.ts | 2 +- .../src/transforms/prefix-functions.ts | 2 +- .../src/transforms/prefix-functions_spec.ts | 2 +- .../build_optimizer/src/transforms/scrub-file.ts | 2 +- .../src/transforms/scrub-file_spec.ts | 2 +- .../build_optimizer/src/transforms/wrap-enums.ts | 2 +- .../src/transforms/wrap-enums_spec.ts | 2 +- packages/angular_devkit/build_webpack/src/index.ts | 2 +- packages/angular_devkit/build_webpack/src/utils.ts | 2 +- .../build_webpack/src/webpack-dev-server/index.ts | 2 +- .../src/webpack-dev-server/index_spec.ts | 2 +- .../build_webpack/src/webpack/index.ts | 2 +- .../build_webpack/src/webpack/index_spec.ts | 2 +- .../test/angular-app/src/app/app.component.spec.ts | 2 +- .../test/angular-app/src/app/app.component.ts | 2 +- .../test/angular-app/src/app/app.module.ts | 2 +- .../angular-app/src/environments/environment.prod.ts | 2 +- .../test/angular-app/src/environments/environment.ts | 2 +- .../build_webpack/test/angular-app/src/main.ts | 2 +- .../build_webpack/test/angular-app/src/polyfills.ts | 2 +- packages/angular_devkit/core/node/_golden-api.ts | 2 +- packages/angular_devkit/core/node/cli-logger.ts | 2 +- .../angular_devkit/core/node/experimental/index.ts | 2 +- .../core/node/experimental/jobs/index.ts | 2 +- .../core/node/experimental/jobs/job-registry.ts | 2 +- .../core/node/experimental/jobs/job-registry_spec.ts | 2 +- packages/angular_devkit/core/node/fs.ts | 2 +- packages/angular_devkit/core/node/host.ts | 2 +- packages/angular_devkit/core/node/host_spec.ts | 2 +- packages/angular_devkit/core/node/index.ts | 2 +- packages/angular_devkit/core/node/testing/index.ts | 2 +- packages/angular_devkit/core/src/_golden-api.ts | 2 +- packages/angular_devkit/core/src/analytics/api.ts | 2 +- .../angular_devkit/core/src/analytics/forwarder.ts | 2 +- packages/angular_devkit/core/src/analytics/index.ts | 2 +- .../angular_devkit/core/src/analytics/logging.ts | 2 +- packages/angular_devkit/core/src/analytics/multi.ts | 2 +- packages/angular_devkit/core/src/analytics/noop.ts | 2 +- .../angular_devkit/core/src/exception/exception.ts | 2 +- packages/angular_devkit/core/src/exception/index.ts | 2 +- packages/angular_devkit/core/src/experimental.ts | 2 +- .../angular_devkit/core/src/experimental/jobs/api.ts | 2 +- .../core/src/experimental/jobs/create-job-handler.ts | 3 +-- .../core/src/experimental/jobs/dispatcher.ts | 3 +-- .../core/src/experimental/jobs/dispatcher_spec.ts | 2 +- .../core/src/experimental/jobs/exception.ts | 2 +- .../core/src/experimental/jobs/fallback-registry.ts | 2 +- .../core/src/experimental/jobs/index.ts | 2 +- .../core/src/experimental/jobs/simple-registry.ts | 2 +- .../src/experimental/jobs/simple-registry_spec.ts | 2 +- .../core/src/experimental/jobs/simple-scheduler.ts | 2 +- .../src/experimental/jobs/simple-scheduler_spec.ts | 2 +- .../core/src/experimental/jobs/strategy.ts | 2 +- .../core/src/experimental/jobs/strategy_spec.ts | 2 +- packages/angular_devkit/core/src/index.ts | 2 +- packages/angular_devkit/core/src/json/index.ts | 2 +- packages/angular_devkit/core/src/json/interface.ts | 2 +- packages/angular_devkit/core/src/json/parser.ts | 2 +- packages/angular_devkit/core/src/json/parser_spec.ts | 2 +- .../angular_devkit/core/src/json/schema/index.ts | 2 +- .../angular_devkit/core/src/json/schema/interface.ts | 2 +- .../angular_devkit/core/src/json/schema/pointer.ts | 2 +- .../core/src/json/schema/prompt_spec.ts | 2 +- .../angular_devkit/core/src/json/schema/registry.ts | 2 +- .../core/src/json/schema/registry_spec.ts | 2 +- .../angular_devkit/core/src/json/schema/schema.ts | 2 +- .../core/src/json/schema/transforms.ts | 2 +- .../core/src/json/schema/transforms_spec.ts | 2 +- .../angular_devkit/core/src/json/schema/utility.ts | 2 +- .../angular_devkit/core/src/json/schema/visitor.ts | 2 +- .../core/src/json/schema/visitor_spec.ts | 2 +- packages/angular_devkit/core/src/logger/indent.ts | 2 +- .../angular_devkit/core/src/logger/indent_spec.ts | 2 +- packages/angular_devkit/core/src/logger/index.ts | 2 +- packages/angular_devkit/core/src/logger/level.ts | 2 +- packages/angular_devkit/core/src/logger/logger.ts | 2 +- .../angular_devkit/core/src/logger/logger_spec.ts | 2 +- .../angular_devkit/core/src/logger/null-logger.ts | 2 +- .../core/src/logger/null-logger_spec.ts | 2 +- .../core/src/logger/transform-logger.ts | 2 +- .../core/src/logger/transform-logger_spec.ts | 2 +- packages/angular_devkit/core/src/utils/array.ts | 2 +- packages/angular_devkit/core/src/utils/index.ts | 2 +- packages/angular_devkit/core/src/utils/lang.ts | 2 +- packages/angular_devkit/core/src/utils/literals.ts | 2 +- .../angular_devkit/core/src/utils/literals_spec.ts | 2 +- packages/angular_devkit/core/src/utils/object.ts | 2 +- .../angular_devkit/core/src/utils/object_spec.ts | 2 +- .../core/src/utils/partially-ordered-set.ts | 2 +- .../core/src/utils/partially-ordered-set_spec.ts | 2 +- .../angular_devkit/core/src/utils/priority-queue.ts | 2 +- .../core/src/utils/priority-queue_spec.ts | 2 +- packages/angular_devkit/core/src/utils/strings.ts | 2 +- packages/angular_devkit/core/src/utils/template.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/alias.ts | 2 +- .../core/src/virtual-fs/host/alias_spec.ts | 2 +- .../core/src/virtual-fs/host/buffer.ts | 2 +- .../core/src/virtual-fs/host/create.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/empty.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/index.ts | 2 +- .../core/src/virtual-fs/host/interface.ts | 2 +- .../core/src/virtual-fs/host/memory.ts | 2 +- .../core/src/virtual-fs/host/memory_spec.ts | 2 +- .../core/src/virtual-fs/host/pattern.ts | 2 +- .../core/src/virtual-fs/host/pattern_spec.ts | 2 +- .../core/src/virtual-fs/host/record.ts | 2 +- .../core/src/virtual-fs/host/record_spec.ts | 2 +- .../core/src/virtual-fs/host/resolver.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/safe.ts | 2 +- .../core/src/virtual-fs/host/scoped.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/sync.ts | 2 +- .../angular_devkit/core/src/virtual-fs/host/test.ts | 2 +- .../core/src/virtual-fs/host/test_spec.ts | 2 +- packages/angular_devkit/core/src/virtual-fs/index.ts | 2 +- packages/angular_devkit/core/src/virtual-fs/path.ts | 2 +- .../angular_devkit/core/src/virtual-fs/path_spec.ts | 2 +- packages/angular_devkit/core/src/workspace/core.ts | 2 +- .../angular_devkit/core/src/workspace/core_spec.ts | 2 +- .../angular_devkit/core/src/workspace/definitions.ts | 2 +- .../core/src/workspace/definitions_spec.ts | 2 +- packages/angular_devkit/core/src/workspace/host.ts | 2 +- .../angular_devkit/core/src/workspace/host_spec.ts | 2 +- packages/angular_devkit/core/src/workspace/index.ts | 2 +- .../core/src/workspace/json/metadata.ts | 2 +- .../angular_devkit/core/src/workspace/json/reader.ts | 2 +- .../core/src/workspace/json/reader_spec.ts | 2 +- .../core/src/workspace/json/utilities.ts | 2 +- .../angular_devkit/core/src/workspace/json/writer.ts | 2 +- .../core/src/workspace/json/writer_spec.ts | 2 +- .../angular_devkit/schematics/src/_golden-api.ts | 2 +- .../angular_devkit/schematics/src/engine/engine.ts | 2 +- .../angular_devkit/schematics/src/engine/index.ts | 2 +- .../schematics/src/engine/interface.ts | 2 +- .../schematics/src/engine/schematic.ts | 2 +- .../schematics/src/engine/schematic_spec.ts | 2 +- .../schematics/src/exception/exception.ts | 2 +- .../schematics/src/formats/format-validator.ts | 2 +- .../schematics/src/formats/html-selector.ts | 2 +- .../schematics/src/formats/html-selector_spec.ts | 2 +- .../angular_devkit/schematics/src/formats/index.ts | 2 +- .../angular_devkit/schematics/src/formats/path.ts | 2 +- .../schematics/src/formats/path_spec.ts | 2 +- packages/angular_devkit/schematics/src/index.ts | 2 +- packages/angular_devkit/schematics/src/rules/base.ts | 2 +- .../angular_devkit/schematics/src/rules/base_spec.ts | 2 +- packages/angular_devkit/schematics/src/rules/call.ts | 2 +- .../angular_devkit/schematics/src/rules/call_spec.ts | 2 +- packages/angular_devkit/schematics/src/rules/move.ts | 2 +- .../angular_devkit/schematics/src/rules/move_spec.ts | 2 +- .../angular_devkit/schematics/src/rules/random.ts | 2 +- .../angular_devkit/schematics/src/rules/rename.ts | 2 +- .../schematics/src/rules/rename_spec.ts | 2 +- .../angular_devkit/schematics/src/rules/schematic.ts | 2 +- .../angular_devkit/schematics/src/rules/template.ts | 2 +- .../schematics/src/rules/template_spec.ts | 2 +- packages/angular_devkit/schematics/src/rules/url.ts | 2 +- .../angular_devkit/schematics/src/sink/dryrun.ts | 2 +- .../schematics/src/sink/dryrun_spec.ts | 2 +- packages/angular_devkit/schematics/src/sink/host.ts | 2 +- .../angular_devkit/schematics/src/sink/host_spec.ts | 2 +- packages/angular_devkit/schematics/src/sink/sink.ts | 2 +- .../angular_devkit/schematics/src/tree/action.ts | 2 +- .../schematics/src/tree/action_spec.ts | 2 +- .../schematics/src/tree/common_spec.ts | 2 +- .../angular_devkit/schematics/src/tree/delegate.ts | 2 +- packages/angular_devkit/schematics/src/tree/empty.ts | 2 +- packages/angular_devkit/schematics/src/tree/entry.ts | 2 +- .../angular_devkit/schematics/src/tree/host-tree.ts | 2 +- .../schematics/src/tree/host-tree_spec.ts | 2 +- .../angular_devkit/schematics/src/tree/interface.ts | 2 +- packages/angular_devkit/schematics/src/tree/null.ts | 2 +- .../angular_devkit/schematics/src/tree/recorder.ts | 2 +- .../schematics/src/tree/recorder_spec.ts | 2 +- .../angular_devkit/schematics/src/tree/scoped.ts | 2 +- .../schematics/src/tree/scoped_spec.ts | 2 +- .../angular_devkit/schematics/src/tree/static.ts | 2 +- .../schematics/src/utility/linked-list.ts | 2 +- .../schematics/src/utility/update-buffer.ts | 2 +- .../schematics/src/utility/update-buffer_spec.ts | 2 +- .../angular_devkit/schematics/src/workflow/base.ts | 2 +- .../angular_devkit/schematics/src/workflow/index.ts | 2 +- .../schematics/src/workflow/interface.ts | 2 +- packages/angular_devkit/schematics/tasks/index.ts | 2 +- .../angular_devkit/schematics/tasks/node/index.ts | 2 +- .../schematics/tasks/package-manager/executor.ts | 2 +- .../schematics/tasks/package-manager/install-task.ts | 2 +- .../schematics/tasks/package-manager/link-task.ts | 2 +- .../schematics/tasks/package-manager/options.ts | 2 +- .../schematics/tasks/repo-init/executor.ts | 2 +- .../schematics/tasks/repo-init/init-task.ts | 2 +- .../schematics/tasks/repo-init/options.ts | 2 +- .../schematics/tasks/run-schematic/executor.ts | 2 +- .../schematics/tasks/run-schematic/options.ts | 2 +- .../schematics/tasks/run-schematic/task.ts | 2 +- .../schematics/tasks/tslint-fix/executor.ts | 2 +- .../schematics/tasks/tslint-fix/executor_spec.ts | 2 +- .../schematics/tasks/tslint-fix/options.ts | 2 +- .../schematics/tasks/tslint-fix/task.ts | 2 +- .../schematics/tasks/tslint-fix/test/custom-rule.ts | 2 +- .../tasks/tslint-fix/test/rules/customRuleRule.js | 2 +- .../schematics/tasks/tslint-fix/test/run-task.ts | 2 +- packages/angular_devkit/schematics/testing/index.ts | 2 +- .../schematics/testing/schematic-test-runner.ts | 2 +- .../angular_devkit/schematics/tools/description.ts | 2 +- .../angular_devkit/schematics/tools/export-ref.ts | 2 +- .../schematics/tools/export-ref_spec.ts | 2 +- .../schematics/tools/fallback-engine-host.ts | 2 +- .../schematics/tools/file-system-engine-host-base.ts | 2 +- .../schematics/tools/file-system-engine-host.ts | 2 +- .../schematics/tools/file-system-engine-host_spec.ts | 2 +- .../schematics/tools/file-system-utility.ts | 2 +- packages/angular_devkit/schematics/tools/index.ts | 2 +- .../schematics/tools/node-module-engine-host.ts | 2 +- .../schematics/tools/node-module-engine-host_spec.ts | 2 +- .../tools/node-modules-test-engine-host.ts | 2 +- .../schematics/tools/schema-option-transform.ts | 2 +- .../schematics/tools/workflow/node-workflow.ts | 2 +- .../schematics/tools/workflow/node-workflow_spec.ts | 2 +- .../angular_devkit/schematics_cli/bin/schematics.ts | 2 +- .../schematics_cli/bin/schematics_spec.ts | 2 +- .../ngtools/webpack/src/angular_compiler_plugin.ts | 2 +- packages/ngtools/webpack/src/benchmark.ts | 2 +- packages/ngtools/webpack/src/compiler_host.ts | 2 +- packages/ngtools/webpack/src/diagnostics.ts | 2 +- packages/ngtools/webpack/src/entry_resolver.ts | 2 +- packages/ngtools/webpack/src/index.ts | 2 +- packages/ngtools/webpack/src/interfaces.ts | 2 +- packages/ngtools/webpack/src/ivy/cache.ts | 2 +- packages/ngtools/webpack/src/ivy/diagnostics.ts | 2 +- packages/ngtools/webpack/src/ivy/host.ts | 2 +- packages/ngtools/webpack/src/ivy/index.ts | 2 +- packages/ngtools/webpack/src/ivy/loader.ts | 2 +- packages/ngtools/webpack/src/ivy/paths.ts | 2 +- packages/ngtools/webpack/src/ivy/plugin.ts | 2 +- packages/ngtools/webpack/src/ivy/symbol.ts | 2 +- packages/ngtools/webpack/src/ivy/system.ts | 2 +- packages/ngtools/webpack/src/ivy/transformation.ts | 2 +- packages/ngtools/webpack/src/lazy_routes.ts | 2 +- packages/ngtools/webpack/src/loader.ts | 2 +- packages/ngtools/webpack/src/ngcc_processor.ts | 2 +- packages/ngtools/webpack/src/paths-plugin.ts | 2 +- packages/ngtools/webpack/src/refactor.ts | 2 +- packages/ngtools/webpack/src/resource_loader.ts | 2 +- .../ngtools/webpack/src/transformers/ast_helpers.ts | 2 +- .../webpack/src/transformers/elide_imports.ts | 2 +- .../webpack/src/transformers/elide_imports_spec.ts | 2 +- .../src/transformers/export_lazy_module_map.ts | 2 +- .../src/transformers/export_lazy_module_map_spec.ts | 2 +- .../webpack/src/transformers/export_ngfactory.ts | 2 +- .../src/transformers/export_ngfactory_spec.ts | 2 +- .../webpack/src/transformers/find_resources.ts | 2 +- .../webpack/src/transformers/find_resources_spec.ts | 2 +- .../webpack/src/transformers/import_factory.ts | 2 +- .../webpack/src/transformers/import_factory_spec.ts | 2 +- packages/ngtools/webpack/src/transformers/index.ts | 2 +- .../webpack/src/transformers/insert_import.ts | 2 +- .../ngtools/webpack/src/transformers/interfaces.ts | 2 +- .../webpack/src/transformers/make_transform.ts | 2 +- .../src/transformers/multiple_transformers_spec.ts | 2 +- .../webpack/src/transformers/register_locale_data.ts | 2 +- .../src/transformers/register_locale_data_spec.ts | 2 +- .../src/transformers/remove-ivy-jit-support-calls.ts | 2 +- .../remove-ivy-jit-support-calls_spec.ts | 2 +- .../webpack/src/transformers/remove_decorators.ts | 2 +- .../src/transformers/remove_decorators_spec.ts | 2 +- .../webpack/src/transformers/replace_bootstrap.ts | 2 +- .../src/transformers/replace_bootstrap_spec.ts | 2 +- .../webpack/src/transformers/replace_resources.ts | 2 +- .../src/transformers/replace_resources_spec.ts | 2 +- .../src/transformers/replace_server_bootstrap.ts | 2 +- .../transformers/replace_server_bootstrap_spec.ts | 2 +- .../ngtools/webpack/src/transformers/spec_helpers.ts | 2 +- packages/ngtools/webpack/src/type_checker.ts | 2 +- .../ngtools/webpack/src/type_checker_bootstrap.js | 2 +- .../ngtools/webpack/src/type_checker_messages.ts | 2 +- packages/ngtools/webpack/src/type_checker_worker.ts | 2 +- packages/ngtools/webpack/src/utils.ts | 2 +- packages/ngtools/webpack/src/utils_spec.ts | 2 +- .../webpack/src/virtual_file_system_decorator.ts | 2 +- packages/ngtools/webpack/src/webpack-diagnostics.ts | 2 +- packages/ngtools/webpack/src/webpack-input-host.ts | 2 +- packages/ngtools/webpack/src/webpack-version.ts | 2 +- packages/ngtools/webpack/src/webpack.ts | 2 +- packages/schematics/angular/app-shell/index.ts | 2 +- packages/schematics/angular/app-shell/index_spec.ts | 2 +- packages/schematics/angular/application/index.ts | 2 +- .../schematics/angular/application/index_spec.ts | 2 +- packages/schematics/angular/class/index.ts | 12 ++++++------ packages/schematics/angular/class/index_spec.ts | 2 +- packages/schematics/angular/component/index.ts | 2 +- packages/schematics/angular/component/index_spec.ts | 2 +- packages/schematics/angular/directive/index.ts | 12 ++++++------ packages/schematics/angular/directive/index_spec.ts | 2 +- packages/schematics/angular/e2e/index.ts | 2 +- packages/schematics/angular/e2e/index_spec.ts | 2 +- packages/schematics/angular/enum/index.ts | 12 ++++++------ packages/schematics/angular/enum/index_spec.ts | 2 +- packages/schematics/angular/guard/index.ts | 12 ++++++------ packages/schematics/angular/guard/index_spec.ts | 2 +- packages/schematics/angular/interceptor/index.ts | 2 +- .../schematics/angular/interceptor/index_spec.ts | 2 +- packages/schematics/angular/interface/index.ts | 2 +- packages/schematics/angular/interface/index_spec.ts | 2 +- packages/schematics/angular/library/index.ts | 2 +- packages/schematics/angular/library/index_spec.ts | 2 +- .../update-10/add-deprecation-rule-tslint.ts | 2 +- .../update-10/add-deprecation-rule-tslint_spec.ts | 2 +- .../update-10/remove-es5-browser-support.ts | 2 +- .../update-10/remove-es5-browser-support_spec.ts | 2 +- .../update-10/remove-solution-style-tsconfig.ts | 2 +- .../update-10/remove-solution-style-tsconfig_spec.ts | 2 +- .../update-10/rename-browserslist-config.ts | 2 +- .../update-10/rename-browserslist-config_spec.ts | 2 +- .../migrations/update-10/update-angular-config.ts | 2 +- .../update-10/update-angular-config_spec.ts | 2 +- .../migrations/update-10/update-dependencies.ts | 2 +- .../migrations/update-10/update-libraries-tslib.ts | 2 +- .../update-10/update-libraries-tslib_spec.ts | 2 +- .../update-module-and-target-compiler-options.ts | 2 +- ...update-module-and-target-compiler-options_spec.ts | 2 +- .../angular/migrations/update-10/update-tslint.ts | 2 +- .../migrations/update-10/update-tslint_spec.ts | 2 +- .../update-11/add-declaration-map-compiler-option.ts | 2 +- .../add-declaration-map-compiler-option_spec.ts | 2 +- .../update-11/replace-ng-packagr-builder.ts | 2 +- .../update-11/replace-ng-packagr-builder_spec.ts | 2 +- .../migrations/update-11/update-angular-config.ts | 2 +- .../update-11/update-angular-config_spec.ts | 2 +- .../migrations/update-11/update-dependencies.ts | 2 +- .../schematics/angular/migrations/update-6/config.ts | 2 +- .../schematics/angular/migrations/update-6/index.ts | 2 +- .../angular/migrations/update-6/index_spec.ts | 2 +- .../angular/migrations/update-7/devkit-ng-packagr.ts | 2 +- .../migrations/update-7/devkit-ng-packagr_spec.ts | 2 +- .../schematics/angular/migrations/update-7/index.ts | 2 +- .../angular/migrations/update-7/polyfill-metadata.ts | 2 +- .../migrations/update-7/polyfill-metadata_spec.ts | 2 +- .../migrations/update-7/typescript-helpers.ts | 2 +- .../migrations/update-7/typescript-helpers_spec.ts | 2 +- .../angular/migrations/update-8/codelyzer-5.ts | 2 +- .../angular/migrations/update-8/codelyzer-5_spec.ts | 2 +- .../migrations/update-8/differential-loading.ts | 2 +- .../migrations/update-8/differential-loading_spec.ts | 2 +- .../migrations/update-8/drop-es6-polyfills.ts | 2 +- .../migrations/update-8/drop-es6-polyfills_spec.ts | 2 +- .../schematics/angular/migrations/update-8/index.ts | 2 +- .../migrations/update-8/remove-angular-http.ts | 2 +- .../migrations/update-8/remove-angular-http_spec.ts | 2 +- .../migrations/update-8/update-dependencies.ts | 2 +- .../migrations/update-8/update-lazy-module-paths.ts | 2 +- .../update-8/update-lazy-module-paths_spec.ts | 2 +- .../angular/migrations/update-9/add-tslib.ts | 2 +- .../schematics/angular/migrations/update-9/index.ts | 2 +- .../angular/migrations/update-9/ivy-libraries.ts | 2 +- .../migrations/update-9/ivy-libraries_spec.ts | 2 +- .../angular/migrations/update-9/ngsw-config.ts | 2 +- .../angular/migrations/update-9/ngsw-config_spec.ts | 2 +- .../angular/migrations/update-9/remove-tsickle.ts | 2 +- .../migrations/update-9/remove-tsickle_spec.ts | 2 +- .../angular/migrations/update-9/schematic-options.ts | 2 +- .../migrations/update-9/schematic-options_spec.ts | 2 +- .../migrations/update-9/update-app-tsconfigs.ts | 2 +- .../migrations/update-9/update-app-tsconfigs_spec.ts | 2 +- .../migrations/update-9/update-dependencies.ts | 2 +- .../angular/migrations/update-9/update-i18n.ts | 2 +- .../angular/migrations/update-9/update-i18n_spec.ts | 2 +- .../migrations/update-9/update-server-main-file.ts | 2 +- .../update-9/update-server-main-file_spec.ts | 2 +- .../migrations/update-9/update-workspace-config.ts | 2 +- .../update-9/update-workspace-config_spec.ts | 2 +- .../schematics/angular/migrations/update-9/utils.ts | 2 +- .../angular/migrations/update-9/utils_spec.ts | 2 +- packages/schematics/angular/module/index.ts | 12 ++++++------ packages/schematics/angular/module/index_spec.ts | 2 +- packages/schematics/angular/ng-new/index.ts | 2 +- packages/schematics/angular/ng-new/index_spec.ts | 2 +- .../angular/no_typescript_runtime_dep_spec.js | 2 +- packages/schematics/angular/pipe/index.ts | 2 +- packages/schematics/angular/pipe/index_spec.ts | 2 +- packages/schematics/angular/resolver/index.ts | 12 ++++++------ packages/schematics/angular/resolver/index_spec.ts | 2 +- packages/schematics/angular/service-worker/index.ts | 2 +- .../schematics/angular/service-worker/index_spec.ts | 2 +- .../schematics/angular/service-worker/schema.d.ts | 2 +- packages/schematics/angular/service/index.ts | 2 +- packages/schematics/angular/service/index_spec.ts | 2 +- packages/schematics/angular/universal/index.ts | 2 +- packages/schematics/angular/universal/index_spec.ts | 2 +- packages/schematics/angular/utility/ast-utils.ts | 2 +- .../schematics/angular/utility/ast-utils_spec.ts | 2 +- packages/schematics/angular/utility/change.ts | 2 +- packages/schematics/angular/utility/dependencies.ts | 2 +- .../schematics/angular/utility/dependencies_spec.ts | 2 +- packages/schematics/angular/utility/find-module.ts | 2 +- .../schematics/angular/utility/find-module_spec.ts | 2 +- packages/schematics/angular/utility/json-file.ts | 2 +- .../schematics/angular/utility/latest-versions.ts | 2 +- packages/schematics/angular/utility/lint-fix.ts | 2 +- packages/schematics/angular/utility/ng-ast-utils.ts | 2 +- packages/schematics/angular/utility/parse-name.ts | 2 +- .../schematics/angular/utility/parse-name_spec.ts | 2 +- packages/schematics/angular/utility/paths.ts | 2 +- packages/schematics/angular/utility/paths_spec.ts | 2 +- .../schematics/angular/utility/project-targets.ts | 2 +- .../angular/utility/test/create-app-module.ts | 2 +- .../angular/utility/test/get-file-content.ts | 2 +- packages/schematics/angular/utility/test/index.ts | 2 +- packages/schematics/angular/utility/validation.ts | 2 +- .../schematics/angular/utility/workspace-models.ts | 2 +- packages/schematics/angular/utility/workspace.ts | 2 +- packages/schematics/angular/web-worker/index.ts | 2 +- packages/schematics/angular/web-worker/index_spec.ts | 2 +- packages/schematics/angular/workspace/index.ts | 2 +- packages/schematics/angular/workspace/index_spec.ts | 2 +- packages/schematics/schematics/blank/factory.ts | 2 +- packages/schematics/schematics/schematic/factory.ts | 2 +- packages/schematics/update/migrate/index.ts | 2 +- packages/schematics/update/migrate/index_spec.ts | 2 +- packages/schematics/update/migrate/test/t1.ts | 2 +- packages/schematics/update/update/index.ts | 2 +- packages/schematics/update/update/index_spec.ts | 2 +- .../schematics/update/update/npm-package-json.ts | 2 +- packages/schematics/update/update/npm.ts | 2 +- packages/schematics/update/update/package-json.ts | 2 +- scripts/benchmark.ts | 2 +- scripts/build-schema.ts | 2 +- scripts/build.ts | 2 +- scripts/changelog.ts | 2 +- scripts/create.ts | 2 +- scripts/dist-tag.ts | 2 +- scripts/packages.ts | 2 +- scripts/publish.ts | 2 +- scripts/snapshots.ts | 2 +- scripts/templates.ts | 2 +- scripts/test.ts | 2 +- scripts/validate-build-files.ts | 2 +- scripts/validate-licenses.ts | 2 +- scripts/validate-user-analytics.ts | 2 +- scripts/validate.ts | 2 +- .../json/schema/serializers/0.0.javascript_spec.ts | 2 +- .../json/schema/serializers/1.0.javascript_spec.ts | 2 +- tests/angular_devkit/core/node/jobs/add.ts | 2 +- .../extra-properties/factory.ts | 3 +-- .../file-system-engine-host/file-tasks/factory.ts | 2 +- .../tools/file-system-engine-host/null-factory.ts | 2 +- tests/legacy-cli/e2e/tests/basic/ivy-opt-out.ts | 2 +- tests/legacy-cli/e2e/tests/basic/ivy.ts | 2 +- tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts | 2 +- tests/legacy-cli/e2e/tests/build/bundle-budgets.ts | 2 +- tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts | 2 +- tests/legacy-cli/e2e/tests/build/rollup.ts | 2 +- tests/legacy-cli/e2e/tests/build/worker.ts | 2 +- .../e2e/tests/i18n/ivy-localize-basehref.ts | 2 +- .../legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts | 2 +- .../e2e/tests/i18n/ivy-localize-locale-data.ts | 2 +- .../e2e/tests/i18n/ivy-localize-merging.ts | 2 +- .../e2e/tests/i18n/ivy-localize-sourcelocale.ts | 2 +- .../update/packages/update-migrations/v1_5.js | 2 +- tools/npm_integration_test/test_runner.js | 2 +- tools/quicktype_runner.js | 6 +++--- tools/rebase-pr.js | 4 ++-- tools/yarn/check-yarn.js | 2 +- 776 files changed, 812 insertions(+), 819 deletions(-) diff --git a/bin/architect b/bin/architect index 7885feefe26a..f42625548dcc 100755 --- a/bin/architect +++ b/bin/architect @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/bin/benchmark b/bin/benchmark index 4ada663d8bfc..ab9e764db5d2 100755 --- a/bin/benchmark +++ b/bin/benchmark @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/bin/build-optimizer b/bin/build-optimizer index 6f540387043c..edb79fd823ad 100755 --- a/bin/build-optimizer +++ b/bin/build-optimizer @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/bin/devkit-admin b/bin/devkit-admin index 707a854a5b37..ddaf4aff0920 100755 --- a/bin/devkit-admin +++ b/bin/devkit-admin @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/bin/ng b/bin/ng index d43c5512e47b..d3a7c83116d5 100755 --- a/bin/ng +++ b/bin/ng @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/bin/schematics b/bin/schematics index ea3f5176befa..8c3eb81d46c9 100755 --- a/bin/schematics +++ b/bin/schematics @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/lib/bootstrap-local.js b/lib/bootstrap-local.js index e491aad25108..b8fbe0962bb8 100644 --- a/lib/bootstrap-local.js +++ b/lib/bootstrap-local.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/lib/packages.ts b/lib/packages.ts index 2f0accf079ca..68f76ef586bb 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/lib/registries.ts b/lib/registries.ts index 0bfea087bc2e..2e21b8a4716d 100644 --- a/lib/registries.ts +++ b/lib/registries.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/add-impl.ts b/packages/angular/cli/commands/add-impl.ts index d61d728159e7..a58f7ec33e95 100644 --- a/packages/angular/cli/commands/add-impl.ts +++ b/packages/angular/cli/commands/add-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/analytics-impl.ts b/packages/angular/cli/commands/analytics-impl.ts index 9174005d7b18..9897437d50c0 100644 --- a/packages/angular/cli/commands/analytics-impl.ts +++ b/packages/angular/cli/commands/analytics-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/build-impl.ts b/packages/angular/cli/commands/build-impl.ts index 0bdd50b57949..e0336279a456 100644 --- a/packages/angular/cli/commands/build-impl.ts +++ b/packages/angular/cli/commands/build-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/config-impl.ts b/packages/angular/cli/commands/config-impl.ts index 329bc499a6f2..3144f23f7bd9 100644 --- a/packages/angular/cli/commands/config-impl.ts +++ b/packages/angular/cli/commands/config-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/deploy-impl.ts b/packages/angular/cli/commands/deploy-impl.ts index 9ce45a22ed28..819b63f61986 100644 --- a/packages/angular/cli/commands/deploy-impl.ts +++ b/packages/angular/cli/commands/deploy-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/doc-impl.ts b/packages/angular/cli/commands/doc-impl.ts index 1c1fc86d1535..6369fe2fd054 100644 --- a/packages/angular/cli/commands/doc-impl.ts +++ b/packages/angular/cli/commands/doc-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/e2e-impl.ts b/packages/angular/cli/commands/e2e-impl.ts index f24a44ca4122..1fe6a373ba2c 100644 --- a/packages/angular/cli/commands/e2e-impl.ts +++ b/packages/angular/cli/commands/e2e-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/easter-egg-impl.ts b/packages/angular/cli/commands/easter-egg-impl.ts index 8e70d46dc827..22e43d6fe996 100644 --- a/packages/angular/cli/commands/easter-egg-impl.ts +++ b/packages/angular/cli/commands/easter-egg-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/extract-i18n-impl.ts b/packages/angular/cli/commands/extract-i18n-impl.ts index 00a8e2e4ce2d..e41e9bcd26f1 100644 --- a/packages/angular/cli/commands/extract-i18n-impl.ts +++ b/packages/angular/cli/commands/extract-i18n-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/generate-impl.ts b/packages/angular/cli/commands/generate-impl.ts index c32ccd7b87ea..6741be40f9e4 100644 --- a/packages/angular/cli/commands/generate-impl.ts +++ b/packages/angular/cli/commands/generate-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/help-impl.ts b/packages/angular/cli/commands/help-impl.ts index 9c30c5e2f608..82edd6a441b4 100644 --- a/packages/angular/cli/commands/help-impl.ts +++ b/packages/angular/cli/commands/help-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/lint-impl.ts b/packages/angular/cli/commands/lint-impl.ts index 6edd8556f994..acf415fcdc2a 100644 --- a/packages/angular/cli/commands/lint-impl.ts +++ b/packages/angular/cli/commands/lint-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/new-impl.ts b/packages/angular/cli/commands/new-impl.ts index 55a91ea41fcc..8bfd286e1b56 100644 --- a/packages/angular/cli/commands/new-impl.ts +++ b/packages/angular/cli/commands/new-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/run-impl.ts b/packages/angular/cli/commands/run-impl.ts index feefe731fa5b..3a0968e55898 100644 --- a/packages/angular/cli/commands/run-impl.ts +++ b/packages/angular/cli/commands/run-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/serve-impl.ts b/packages/angular/cli/commands/serve-impl.ts index 04b51eee4e4a..fc5cf333b09c 100644 --- a/packages/angular/cli/commands/serve-impl.ts +++ b/packages/angular/cli/commands/serve-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/test-impl.ts b/packages/angular/cli/commands/test-impl.ts index 28f09df4d7b2..71d7b9147b36 100644 --- a/packages/angular/cli/commands/test-impl.ts +++ b/packages/angular/cli/commands/test-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 26a75af269a2..af9a21e43c43 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/commands/version-impl.ts b/packages/angular/cli/commands/version-impl.ts index 1044d9e34bfe..70a8fc6faa27 100644 --- a/packages/angular/cli/commands/version-impl.ts +++ b/packages/angular/cli/commands/version-impl.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index d7e3d913260a..d9878d04fa21 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 2439b1fa18a7..cc3f5a00b229 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/models/analytics.ts index 1bcb3179e1d5..76474dfc60a6 100644 --- a/packages/angular/cli/models/analytics.ts +++ b/packages/angular/cli/models/analytics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/architect-command.ts b/packages/angular/cli/models/architect-command.ts index c9a9573dd711..57f8a9a88dd9 100644 --- a/packages/angular/cli/models/architect-command.ts +++ b/packages/angular/cli/models/architect-command.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/command-runner.ts b/packages/angular/cli/models/command-runner.ts index 655212dbea40..3fecd24d7639 100644 --- a/packages/angular/cli/models/command-runner.ts +++ b/packages/angular/cli/models/command-runner.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/command.ts b/packages/angular/cli/models/command.ts index 6e5eff538749..eec0c3eec802 100644 --- a/packages/angular/cli/models/command.ts +++ b/packages/angular/cli/models/command.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/error.ts b/packages/angular/cli/models/error.ts index 5d9d323ed103..dacdd2f3a38d 100644 --- a/packages/angular/cli/models/error.ts +++ b/packages/angular/cli/models/error.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/interface.ts b/packages/angular/cli/models/interface.ts index e5374e0f5e0d..f5b3ee4de60e 100644 --- a/packages/angular/cli/models/interface.ts +++ b/packages/angular/cli/models/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/parser.ts b/packages/angular/cli/models/parser.ts index 54bb8ebad85b..951e35b1dadd 100644 --- a/packages/angular/cli/models/parser.ts +++ b/packages/angular/cli/models/parser.ts @@ -1,10 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - * */ import { BaseException, logging, strings } from '@angular-devkit/core'; import { Arguments, Option, OptionType, Value } from './interface'; diff --git a/packages/angular/cli/models/parser_spec.ts b/packages/angular/cli/models/parser_spec.ts index cd6b3c09e801..152cdb36fe58 100644 --- a/packages/angular/cli/models/parser_spec.ts +++ b/packages/angular/cli/models/parser_spec.ts @@ -1,10 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - * */ // tslint:disable:no-global-tslint-disable no-big-function import { logging } from '@angular-devkit/core'; diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index fa73b260487c..f67024eb7761 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/models/schematic-engine-host.ts b/packages/angular/cli/models/schematic-engine-host.ts index e8ec7e95da5b..df3482e5adf7 100644 --- a/packages/angular/cli/models/schematic-engine-host.ts +++ b/packages/angular/cli/models/schematic-engine-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/color.ts b/packages/angular/cli/utilities/color.ts index 6e7d11cb7fe2..c729fa6a5811 100644 --- a/packages/angular/cli/utilities/color.ts +++ b/packages/angular/cli/utilities/color.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index 2042e9d903bf..9bbef68eeee6 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/find-up.ts b/packages/angular/cli/utilities/find-up.ts index 81891a96e565..3427d7ba15f4 100644 --- a/packages/angular/cli/utilities/find-up.ts +++ b/packages/angular/cli/utilities/find-up.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/install-package.ts b/packages/angular/cli/utilities/install-package.ts index 047a682cd9f7..8bdf179230e3 100644 --- a/packages/angular/cli/utilities/install-package.ts +++ b/packages/angular/cli/utilities/install-package.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/json-file.ts b/packages/angular/cli/utilities/json-file.ts index d076e73c542f..7163df2b0751 100644 --- a/packages/angular/cli/utilities/json-file.ts +++ b/packages/angular/cli/utilities/json-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/json-schema.ts b/packages/angular/cli/utilities/json-schema.ts index e2974080318a..d50fd7fbabd4 100644 --- a/packages/angular/cli/utilities/json-schema.ts +++ b/packages/angular/cli/utilities/json-schema.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/json-schema_spec.ts b/packages/angular/cli/utilities/json-schema_spec.ts index 09822cef7730..727ce7836065 100644 --- a/packages/angular/cli/utilities/json-schema_spec.ts +++ b/packages/angular/cli/utilities/json-schema_spec.ts @@ -1,10 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - * */ import { schema } from '@angular-devkit/core'; import { readFileSync } from 'fs'; diff --git a/packages/angular/cli/utilities/log-file.ts b/packages/angular/cli/utilities/log-file.ts index 4e5d33bb4571..41dc036fc028 100644 --- a/packages/angular/cli/utilities/log-file.ts +++ b/packages/angular/cli/utilities/log-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/package-manager.ts b/packages/angular/cli/utilities/package-manager.ts index 8c53bdf97d20..3163060db231 100644 --- a/packages/angular/cli/utilities/package-manager.ts +++ b/packages/angular/cli/utilities/package-manager.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/package-metadata.ts b/packages/angular/cli/utilities/package-metadata.ts index 2a528ca06b89..e5c728ec76fb 100644 --- a/packages/angular/cli/utilities/package-metadata.ts +++ b/packages/angular/cli/utilities/package-metadata.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/package-tree.ts b/packages/angular/cli/utilities/package-tree.ts index 85505e16531b..d4b7bba35e0b 100644 --- a/packages/angular/cli/utilities/package-tree.ts +++ b/packages/angular/cli/utilities/package-tree.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/project.ts b/packages/angular/cli/utilities/project.ts index cd133cd0323a..d7a4f8bc1ca8 100644 --- a/packages/angular/cli/utilities/project.ts +++ b/packages/angular/cli/utilities/project.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/spinner.ts b/packages/angular/cli/utilities/spinner.ts index f7b8d8550662..21f3494a98da 100644 --- a/packages/angular/cli/utilities/spinner.ts +++ b/packages/angular/cli/utilities/spinner.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/cli/utilities/tty.ts b/packages/angular/cli/utilities/tty.ts index dd5931e26fb6..1e5658ebfd57 100644 --- a/packages/angular/cli/utilities/tty.ts +++ b/packages/angular/cli/utilities/tty.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/pwa/pwa/index.ts b/packages/angular/pwa/pwa/index.ts index 3fac23935f01..17cd5da7d46b 100644 --- a/packages/angular/pwa/pwa/index.ts +++ b/packages/angular/pwa/pwa/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular/pwa/pwa/index_spec.ts b/packages/angular/pwa/pwa/index_spec.ts index b3a54fffcbcc..95bef3167bd0 100644 --- a/packages/angular/pwa/pwa/index_spec.ts +++ b/packages/angular/pwa/pwa/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/builders/all-of.ts b/packages/angular_devkit/architect/builders/all-of.ts index 0b9d958b1f7c..f846fcd32f21 100644 --- a/packages/angular_devkit/architect/builders/all-of.ts +++ b/packages/angular_devkit/architect/builders/all-of.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/builders/concat.ts b/packages/angular_devkit/architect/builders/concat.ts index 816cb2028091..68d21b297968 100644 --- a/packages/angular_devkit/architect/builders/concat.ts +++ b/packages/angular_devkit/architect/builders/concat.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/builders/false.ts b/packages/angular_devkit/architect/builders/false.ts index 3ae22b054e59..7cdb9b9d56eb 100644 --- a/packages/angular_devkit/architect/builders/false.ts +++ b/packages/angular_devkit/architect/builders/false.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/builders/true.ts b/packages/angular_devkit/architect/builders/true.ts index ea617c33fd2b..6b110c012a3c 100644 --- a/packages/angular_devkit/architect/builders/true.ts +++ b/packages/angular_devkit/architect/builders/true.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/node/index.ts b/packages/angular_devkit/architect/node/index.ts index 721047f44093..ab719a3f8ba3 100644 --- a/packages/angular_devkit/architect/node/index.ts +++ b/packages/angular_devkit/architect/node/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/node/node-modules-architect-host.ts b/packages/angular_devkit/architect/node/node-modules-architect-host.ts index aab20e56175d..d4cff7208631 100644 --- a/packages/angular_devkit/architect/node/node-modules-architect-host.ts +++ b/packages/angular_devkit/architect/node/node-modules-architect-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/api.ts b/packages/angular_devkit/architect/src/api.ts index f5e0e64650be..b48ea271ab89 100644 --- a/packages/angular_devkit/architect/src/api.ts +++ b/packages/angular_devkit/architect/src/api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/api_spec.ts b/packages/angular_devkit/architect/src/api_spec.ts index 73bc6288a274..73e2d4d02438 100644 --- a/packages/angular_devkit/architect/src/api_spec.ts +++ b/packages/angular_devkit/architect/src/api_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/architect.ts b/packages/angular_devkit/architect/src/architect.ts index 7e8c18fd0d59..275cfc0c1637 100644 --- a/packages/angular_devkit/architect/src/architect.ts +++ b/packages/angular_devkit/architect/src/architect.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index 416c895f3273..df244330c13d 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/index.ts b/packages/angular_devkit/architect/src/index.ts index a21d4ff324b2..dcfbb9d7e7c9 100644 --- a/packages/angular_devkit/architect/src/index.ts +++ b/packages/angular_devkit/architect/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/index_spec.ts b/packages/angular_devkit/architect/src/index_spec.ts index 57d76c5a6497..1a7fc195bcfa 100644 --- a/packages/angular_devkit/architect/src/index_spec.ts +++ b/packages/angular_devkit/architect/src/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/internal.ts b/packages/angular_devkit/architect/src/internal.ts index deaf25047160..523e90344dc8 100644 --- a/packages/angular_devkit/architect/src/internal.ts +++ b/packages/angular_devkit/architect/src/internal.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/src/schedule-by-name.ts b/packages/angular_devkit/architect/src/schedule-by-name.ts index 40df0258bb10..427b1987c772 100644 --- a/packages/angular_devkit/architect/src/schedule-by-name.ts +++ b/packages/angular_devkit/architect/src/schedule-by-name.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/testing/index.ts b/packages/angular_devkit/architect/testing/index.ts index 7fa6e21ba74d..12e628b911ca 100644 --- a/packages/angular_devkit/architect/testing/index.ts +++ b/packages/angular_devkit/architect/testing/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/testing/test-project-host.ts b/packages/angular_devkit/architect/testing/test-project-host.ts index f8766c3a8260..6456444853bf 100644 --- a/packages/angular_devkit/architect/testing/test-project-host.ts +++ b/packages/angular_devkit/architect/testing/test-project-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect/testing/testing-architect-host.ts b/packages/angular_devkit/architect/testing/testing-architect-host.ts index c7d901f3906b..33f61a386b51 100644 --- a/packages/angular_devkit/architect/testing/testing-architect-host.ts +++ b/packages/angular_devkit/architect/testing/testing-architect-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index cbc3983702dc..04f0197bad29 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/architect_cli/src/progress.ts b/packages/angular_devkit/architect_cli/src/progress.ts index f326b3571731..3e787f0862de 100644 --- a/packages/angular_devkit/architect_cli/src/progress.ts +++ b/packages/angular_devkit/architect_cli/src/progress.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/command.ts b/packages/angular_devkit/benchmark/src/command.ts index 03003a0f11b1..371cba2a961d 100644 --- a/packages/angular_devkit/benchmark/src/command.ts +++ b/packages/angular_devkit/benchmark/src/command.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/default-reporter.ts b/packages/angular_devkit/benchmark/src/default-reporter.ts index 9224cbe8c057..811a7b978444 100644 --- a/packages/angular_devkit/benchmark/src/default-reporter.ts +++ b/packages/angular_devkit/benchmark/src/default-reporter.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/default-stats-capture.ts b/packages/angular_devkit/benchmark/src/default-stats-capture.ts index 8a733ca3d194..b4f383e0ae0d 100644 --- a/packages/angular_devkit/benchmark/src/default-stats-capture.ts +++ b/packages/angular_devkit/benchmark/src/default-stats-capture.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/default-stats-capture_spec.ts b/packages/angular_devkit/benchmark/src/default-stats-capture_spec.ts index 5c66a3c5636b..3a4a58688203 100644 --- a/packages/angular_devkit/benchmark/src/default-stats-capture_spec.ts +++ b/packages/angular_devkit/benchmark/src/default-stats-capture_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/index.ts b/packages/angular_devkit/benchmark/src/index.ts index ead611a2058c..769f577079a0 100644 --- a/packages/angular_devkit/benchmark/src/index.ts +++ b/packages/angular_devkit/benchmark/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/interfaces.ts b/packages/angular_devkit/benchmark/src/interfaces.ts index 99195ccf4284..5dde922dfd27 100644 --- a/packages/angular_devkit/benchmark/src/interfaces.ts +++ b/packages/angular_devkit/benchmark/src/interfaces.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/main.ts b/packages/angular_devkit/benchmark/src/main.ts index 96396c9bc544..c6b855fa296d 100644 --- a/packages/angular_devkit/benchmark/src/main.ts +++ b/packages/angular_devkit/benchmark/src/main.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/main_spec.ts b/packages/angular_devkit/benchmark/src/main_spec.ts index 61d69802f61a..77734a3d51cc 100644 --- a/packages/angular_devkit/benchmark/src/main_spec.ts +++ b/packages/angular_devkit/benchmark/src/main_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/monitored-process.ts b/packages/angular_devkit/benchmark/src/monitored-process.ts index 0a7435d8b202..68c5693e3007 100644 --- a/packages/angular_devkit/benchmark/src/monitored-process.ts +++ b/packages/angular_devkit/benchmark/src/monitored-process.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/monitored-process_spec.ts b/packages/angular_devkit/benchmark/src/monitored-process_spec.ts index 12757d6e8dac..ca515ed5c590 100644 --- a/packages/angular_devkit/benchmark/src/monitored-process_spec.ts +++ b/packages/angular_devkit/benchmark/src/monitored-process_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/run-benchmark-watch.ts b/packages/angular_devkit/benchmark/src/run-benchmark-watch.ts index 7bd6754bea84..8da0db60252d 100644 --- a/packages/angular_devkit/benchmark/src/run-benchmark-watch.ts +++ b/packages/angular_devkit/benchmark/src/run-benchmark-watch.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/run-benchmark.ts b/packages/angular_devkit/benchmark/src/run-benchmark.ts index bd551090dbd0..f79c8f558575 100644 --- a/packages/angular_devkit/benchmark/src/run-benchmark.ts +++ b/packages/angular_devkit/benchmark/src/run-benchmark.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/benchmark/src/utils.ts b/packages/angular_devkit/benchmark/src/utils.ts index ea8fc36205ee..304194173862 100644 --- a/packages/angular_devkit/benchmark/src/utils.ts +++ b/packages/angular_devkit/benchmark/src/utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/plugins/karma.ts b/packages/angular_devkit/build_angular/plugins/karma.ts index 0ba9afada7de..18409cffe9a9 100644 --- a/packages/angular_devkit/build_angular/plugins/karma.ts +++ b/packages/angular_devkit/build_angular/plugins/karma.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts b/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts index 0028a0c25318..e6e6e2166b03 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/app-shell/index.ts b/packages/angular_devkit/build_angular/src/app-shell/index.ts index 6c3c90907fa9..e20d01dad734 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/babel-bazel.d.ts b/packages/angular_devkit/build_angular/src/babel-bazel.d.ts index 9a5d06cfa771..fe265e4d3b23 100644 --- a/packages/angular_devkit/build_angular/src/babel-bazel.d.ts +++ b/packages/angular_devkit/build_angular/src/babel-bazel.d.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/babel/babel-loader.d.ts b/packages/angular_devkit/build_angular/src/babel/babel-loader.d.ts index 5a408783788d..1bc5380f631f 100644 --- a/packages/angular_devkit/build_angular/src/babel/babel-loader.d.ts +++ b/packages/angular_devkit/build_angular/src/babel/babel-loader.d.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index bd5ffcc6b52f..98f2d67863d4 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index c2f2f042c08d..964103e89a62 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/index.ts b/packages/angular_devkit/build_angular/src/browser/index.ts index df1e7cd85666..f406a666fa4c 100644 --- a/packages/angular_devkit/build_angular/src/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/browser/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/allow-js_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/allow-js_spec.ts index 0952c61b3f0a..e118ea340896 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/allow-js_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/allow-js_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/aot_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/aot_spec.ts index 51e855b10f71..5f6ab2a32012 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/aot_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/aot_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/assets_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/assets_spec.ts index 1e2483bd4ec6..2ec91d854c14 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/assets_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/assets_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/base-href_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/base-href_spec.ts index 5f1db812ab0d..7dcf3d1ac438 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/base-href_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/base-href_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/browser-support_spec.ts index 58ff90668a6e..f2935305cd2e 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/browser-support_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/browser-support_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/build-optimizer_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/build-optimizer_spec.ts index e5c88b01f68e..c80d88910ff1 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/build-optimizer_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/build-optimizer_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts index e8fbf1434282..3016a7881c88 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/bundle-budgets_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/circular-dependency_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/circular-dependency_spec.ts index ecd710e25841..474203bb5361 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/circular-dependency_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/circular-dependency_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/cross-origin_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/cross-origin_spec.ts index 65f4684caf48..bf83f20cfb18 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/cross-origin_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/cross-origin_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/deploy-url_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/deploy-url_spec.ts index 11205efaca1b..6392bc351317 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/deploy-url_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/deploy-url_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts index 1d66ab12631a..f8039bfe57e7 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/differential_loading_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/errors_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/errors_spec.ts index 8d9a44a36b41..67dd8d71276d 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/errors_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/errors_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/font-optimization_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/font-optimization_spec.ts index 8075059db024..e448cca3a8bd 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/font-optimization_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/font-optimization_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/i18n_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/i18n_spec.ts index 669a3bc6384c..12f6203726f1 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/i18n_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/i18n_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/index_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/index_spec.ts index f74d864b4ab2..b8a5ecd61d49 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/index_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts index a7d9d114559c..917f20b7453d 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts index 80673c321367..b00f7796e1c4 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/lazy-module_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/no-entry-module_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/no-entry-module_spec.ts index 705a035eb49b..d9c8dfd17a59 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/no-entry-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/no-entry-module_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/optimization-level_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/optimization-level_spec.ts index f5025f2d9dcb..7fe49602081f 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/optimization-level_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/optimization-level_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/output-path_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/output-path_spec.ts index beb600d77adc..e27ae3fc63b2 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/output-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/output-path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/poll_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/poll_spec.ts index 9f330fc759f5..8deb9abbee41 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/poll_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/poll_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/rebuild_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/rebuild_spec.ts index 9162cd0cda6b..10f209f5483b 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/rebuild_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/rebuild_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/replacements_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/replacements_spec.ts index 795cbadaf918..b0adf56849fd 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/replacements_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/replacements_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/resolve-json-module_spec.ts index 373ac3419984..4eb458472e36 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/resolve-json-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/resolve-json-module_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/resources-output-path_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/resources-output-path_spec.ts index fb9e0a87b6ae..b0c027bb2427 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/resources-output-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/resources-output-path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/rollup_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/rollup_spec.ts index 127e406cea24..d460055302e8 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/rollup_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/rollup_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/scripts-array_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/scripts-array_spec.ts index 1f8f5cd6aab4..a2569242ac6b 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/scripts-array_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/scripts-array_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/service-worker_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/service-worker_spec.ts index 7ce6b377b740..15ca52b5d050 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/service-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/service-worker_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/source-map_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/source-map_spec.ts index 73675b20f6dc..5e8981d9ac09 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/source-map_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/stats-json_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/stats-json_spec.ts index 4ef7c3a5c0b6..116828fe4bbe 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/stats-json_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/stats-json_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts index 577ca5a55c41..176b3b241df3 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/styles_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/svg_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/svg_spec.ts index 3e32677c00ff..d416c7c0a2da 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/svg_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/svg_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/tsconfig-paths_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/tsconfig-paths_spec.ts index 8e31ff766798..21eeaf44ea06 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/tsconfig-paths_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/tsconfig-paths_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/unused-files-warning_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/unused-files-warning_spec.ts index e8b920ab1fdc..7f62ebc53e81 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/unused-files-warning_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/unused-files-warning_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/vendor-chunk_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/vendor-chunk_spec.ts index e78237b25186..6fe4f211fd55 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/vendor-chunk_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/vendor-chunk_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts index b2c9a3373fc7..31e2124ec985 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/vendor-source-map_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/web-worker_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/web-worker_spec.ts index 9d8392c430ed..a9897e965889 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/web-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/web-worker_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/specs/works_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/works_spec.ts index 8de151c2ca8c..50bbce771bef 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts index 06d766cd23fa..3cc82124298f 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/behavior/rebuild-errors_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/behavior/typescript-target_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/behavior/typescript-target_spec.ts index 8ebb5f784d66..b9c7ba230e08 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/behavior/typescript-target_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/behavior/typescript-target_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/allowed-common-js-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/allowed-common-js-dependencies_spec.ts index f39c6877a96e..8da71c1b3315 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/allowed-common-js-dependencies_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/allowed-common-js-dependencies_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/assets_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/assets_spec.ts index 7893869156b7..cf9a6a97a9c1 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/assets_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/assets_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/extract-licenses_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/extract-licenses_spec.ts index 50b29d23ee1b..5a978435e76b 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/extract-licenses_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/extract-licenses_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/main_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/main_spec.ts index 021039529a92..62d8d64ab3fc 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/main_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/main_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/output-hashing_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/output-hashing_spec.ts index 6f046fcede67..14db3ee47213 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/output-hashing_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/output-hashing_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/polyfills_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/polyfills_spec.ts index 0f3d3893ec72..587fe85be84c 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/polyfills_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/polyfills_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/scripts_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/scripts_spec.ts index c3ad0d0a0702..abe0b4cc1b47 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/scripts_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/scripts_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/stats-json_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/stats-json_spec.ts index f458a2f04d0a..177799a51171 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/stats-json_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/stats-json_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/styles_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/styles_spec.ts index 7ee1a9005032..e726fbaf565a 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/styles_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/subresource-integrity_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/subresource-integrity_spec.ts index d7e31047b2b8..3561aa2c332a 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/subresource-integrity_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/subresource-integrity_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/tsconfig_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/tsconfig_spec.ts index f74bd5784e4e..289c5f780a01 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/tsconfig_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/tsconfig_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/options/watch_spec.ts b/packages/angular_devkit/build_angular/src/browser/tests/options/watch_spec.ts index 6c3dd37d505a..6b4bc73fb92d 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/options/watch_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/options/watch_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/browser/tests/setup.ts b/packages/angular_devkit/build_angular/src/browser/tests/setup.ts index 6c44764e064f..d511bd2ac8ad 100644 --- a/packages/angular_devkit/build_angular/src/browser/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/browser/tests/setup.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/allowed-hosts_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/allowed-hosts_spec.ts index c36d18182906..27b659128094 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/allowed-hosts_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/allowed-hosts_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/budgets_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/budgets_spec.ts index 735db97a68d6..f40df3e3ab26 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/budgets_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/budgets_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts index 309938c9b0ba..56cf7e7d8471 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/common-js-warning_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/deploy-url_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/deploy-url_spec.ts index 125b8cd05ae3..757d0ed1527a 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/deploy-url_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/deploy-url_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts index 90fdb568f476..a617ccd5a45b 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/hmr_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index c25eac0344f1..04ca568f61aa 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/index_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/index_spec.ts index ecaa8d98da31..32de590781fb 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts index a8ce70b3b740..4babe2db716a 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/live-reload_spec.ts index ad92b7fcf7f2..570d82f23fbc 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/live-reload_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/proxy_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/proxy_spec.ts index 684e639cbe33..e83fb0628431 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/proxy_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/proxy_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/public-host_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/public-host_spec.ts index b0389eb2a80f..9a3be224ac54 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/public-host_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/public-host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/serve-path_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/serve-path_spec.ts index 6edc51abeb51..acf779ff97fe 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/serve-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/serve-path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts index 9b2a39f3bc28..c14375efb0d8 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/ssl_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts index 9180cf5172c8..e50e5412d5dd 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts index ad8af9808f26..6b3556f50350 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/ivy-extract-loader.ts b/packages/angular_devkit/build_angular/src/extract-i18n/ivy-extract-loader.ts index 8cf600f93f72..07042e18d808 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/ivy-extract-loader.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/ivy-extract-loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts b/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts index 61e69f146878..67a5daa20c8b 100644 --- a/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/extract-i18n/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/index.ts b/packages/angular_devkit/build_angular/src/index.ts index 83613150fc33..dc462532a654 100644 --- a/packages/angular_devkit/build_angular/src/index.ts +++ b/packages/angular_devkit/build_angular/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/code-coverage_spec.ts b/packages/angular_devkit/build_angular/src/karma/code-coverage_spec.ts index 8afedef13ee7..934598f55fdb 100644 --- a/packages/angular_devkit/build_angular/src/karma/code-coverage_spec.ts +++ b/packages/angular_devkit/build_angular/src/karma/code-coverage_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/find-tests.ts b/packages/angular_devkit/build_angular/src/karma/find-tests.ts index 17f26197b9da..b02d22aaf3d4 100644 --- a/packages/angular_devkit/build_angular/src/karma/find-tests.ts +++ b/packages/angular_devkit/build_angular/src/karma/find-tests.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/index.ts b/packages/angular_devkit/build_angular/src/karma/index.ts index 9a4cc9587ffd..de12f6d8e66b 100644 --- a/packages/angular_devkit/build_angular/src/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/karma/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/rebuilds_spec.ts b/packages/angular_devkit/build_angular/src/karma/rebuilds_spec.ts index fd73eb706184..c05b56bae119 100644 --- a/packages/angular_devkit/build_angular/src/karma/rebuilds_spec.ts +++ b/packages/angular_devkit/build_angular/src/karma/rebuilds_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/selected_spec.ts b/packages/angular_devkit/build_angular/src/karma/selected_spec.ts index 0b4de133a0fa..1ea72fa40d50 100644 --- a/packages/angular_devkit/build_angular/src/karma/selected_spec.ts +++ b/packages/angular_devkit/build_angular/src/karma/selected_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/karma/works_spec.ts b/packages/angular_devkit/build_angular/src/karma/works_spec.ts index ad749f97fb1e..24feab4d6007 100644 --- a/packages/angular_devkit/build_angular/src/karma/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/karma/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/ng-packagr/index.ts b/packages/angular_devkit/build_angular/src/ng-packagr/index.ts index d8e2fa24262c..8258eebda601 100644 --- a/packages/angular_devkit/build_angular/src/ng-packagr/index.ts +++ b/packages/angular_devkit/build_angular/src/ng-packagr/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/ng-packagr/works_spec.ts b/packages/angular_devkit/build_angular/src/ng-packagr/works_spec.ts index 550a92f9ef9e..a331e50af15f 100644 --- a/packages/angular_devkit/build_angular/src/ng-packagr/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/ng-packagr/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/protractor/index.ts b/packages/angular_devkit/build_angular/src/protractor/index.ts index eb4b81578074..541e586b30d7 100644 --- a/packages/angular_devkit/build_angular/src/protractor/index.ts +++ b/packages/angular_devkit/build_angular/src/protractor/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/protractor/works_spec.ts b/packages/angular_devkit/build_angular/src/protractor/works_spec.ts index 011b936fbfd5..212a485538a9 100644 --- a/packages/angular_devkit/build_angular/src/protractor/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/protractor/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/server/base_spec.ts b/packages/angular_devkit/build_angular/src/server/base_spec.ts index 9923d1ffc36b..4d880741cca1 100644 --- a/packages/angular_devkit/build_angular/src/server/base_spec.ts +++ b/packages/angular_devkit/build_angular/src/server/base_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/server/external_dependencies_spec.ts b/packages/angular_devkit/build_angular/src/server/external_dependencies_spec.ts index e8ddba737bfa..30ecdc812b88 100644 --- a/packages/angular_devkit/build_angular/src/server/external_dependencies_spec.ts +++ b/packages/angular_devkit/build_angular/src/server/external_dependencies_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/server/index.ts b/packages/angular_devkit/build_angular/src/server/index.ts index 6ef274aa5c75..74cf6d41aeda 100644 --- a/packages/angular_devkit/build_angular/src/server/index.ts +++ b/packages/angular_devkit/build_angular/src/server/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/server/resources-output-path_spec.ts b/packages/angular_devkit/build_angular/src/server/resources-output-path_spec.ts index 643f1b272cc9..31c5df9e1048 100644 --- a/packages/angular_devkit/build_angular/src/server/resources-output-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/server/resources-output-path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/test-utils.ts b/packages/angular_devkit/build_angular/src/test-utils.ts index 8633b6de5823..65fc9426d21a 100644 --- a/packages/angular_devkit/build_angular/src/test-utils.ts +++ b/packages/angular_devkit/build_angular/src/test-utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts index 577ba868adc2..9234d0cb4799 100644 --- a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts +++ b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/testing/builder-harness_spec.ts b/packages/angular_devkit/build_angular/src/testing/builder-harness_spec.ts index e82402f02d59..ddbc2e195eac 100644 --- a/packages/angular_devkit/build_angular/src/testing/builder-harness_spec.ts +++ b/packages/angular_devkit/build_angular/src/testing/builder-harness_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/testing/file-watching.ts b/packages/angular_devkit/build_angular/src/testing/file-watching.ts index e47e6a19d5ff..868ef4769f1c 100644 --- a/packages/angular_devkit/build_angular/src/testing/file-watching.ts +++ b/packages/angular_devkit/build_angular/src/testing/file-watching.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/testing/index.ts b/packages/angular_devkit/build_angular/src/testing/index.ts index 3300346cf5d4..7887f1feebc1 100644 --- a/packages/angular_devkit/build_angular/src/testing/index.ts +++ b/packages/angular_devkit/build_angular/src/testing/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts b/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts index e393fa756719..d13dfd11c3af 100644 --- a/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts +++ b/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/transforms.ts b/packages/angular_devkit/build_angular/src/transforms.ts index c724aedab646..2e6399ca9acc 100644 --- a/packages/angular_devkit/build_angular/src/transforms.ts +++ b/packages/angular_devkit/build_angular/src/transforms.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/tslint/index.ts b/packages/angular_devkit/build_angular/src/tslint/index.ts index 3f5f4fe9df3b..777b97344662 100644 --- a/packages/angular_devkit/build_angular/src/tslint/index.ts +++ b/packages/angular_devkit/build_angular/src/tslint/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/tslint/works_spec.ts b/packages/angular_devkit/build_angular/src/tslint/works_spec.ts index 4206feb722be..ad0360941bd0 100644 --- a/packages/angular_devkit/build_angular/src/tslint/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/tslint/works_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/typings.d.ts b/packages/angular_devkit/build_angular/src/typings.d.ts index bdf566191697..121268adf4fb 100644 --- a/packages/angular_devkit/build_angular/src/typings.d.ts +++ b/packages/angular_devkit/build_angular/src/typings.d.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/action-cache.ts b/packages/angular_devkit/build_angular/src/utils/action-cache.ts index 6aa1b4c9afa6..f61869b0f506 100644 --- a/packages/angular_devkit/build_angular/src/utils/action-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/action-cache.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/action-executor.ts b/packages/angular_devkit/build_angular/src/utils/action-executor.ts index a57d59e28d20..921b3edd39a5 100644 --- a/packages/angular_devkit/build_angular/src/utils/action-executor.ts +++ b/packages/angular_devkit/build_angular/src/utils/action-executor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts b/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts index 29abf699a050..f1b783b2b258 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/build-browser-features_spec.ts b/packages/angular_devkit/build_angular/src/utils/build-browser-features_spec.ts index 17ef63fde0e3..09c9603a46d7 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-browser-features_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-browser-features_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 213dd5a80396..540d1b1546e3 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts b/packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts index a42d7b223b42..b1e9650e8901 100644 --- a/packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts +++ b/packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/bundle-calculator_spec.ts b/packages/angular_devkit/build_angular/src/utils/bundle-calculator_spec.ts index 7c0406bf4e1a..d0cbe3daa5ba 100644 --- a/packages/angular_devkit/build_angular/src/utils/bundle-calculator_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/bundle-calculator_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/cache-path.ts b/packages/angular_devkit/build_angular/src/utils/cache-path.ts index a6eeffdd7495..a1a9180b7242 100644 --- a/packages/angular_devkit/build_angular/src/utils/cache-path.ts +++ b/packages/angular_devkit/build_angular/src/utils/cache-path.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/check-port.ts b/packages/angular_devkit/build_angular/src/utils/check-port.ts index 1a21cfa61fb0..4048cc5866d2 100644 --- a/packages/angular_devkit/build_angular/src/utils/check-port.ts +++ b/packages/angular_devkit/build_angular/src/utils/check-port.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/color.ts b/packages/angular_devkit/build_angular/src/utils/color.ts index 6e7d11cb7fe2..c729fa6a5811 100644 --- a/packages/angular_devkit/build_angular/src/utils/color.ts +++ b/packages/angular_devkit/build_angular/src/utils/color.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts index 976796ce4cdd..d69a4c6e074a 100644 --- a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts +++ b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/copy-file.ts b/packages/angular_devkit/build_angular/src/utils/copy-file.ts index f935599fe95f..252f9475990b 100644 --- a/packages/angular_devkit/build_angular/src/utils/copy-file.ts +++ b/packages/angular_devkit/build_angular/src/utils/copy-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/default-progress.ts b/packages/angular_devkit/build_angular/src/utils/default-progress.ts index 258412b460f1..ce78668341a0 100644 --- a/packages/angular_devkit/build_angular/src/utils/default-progress.ts +++ b/packages/angular_devkit/build_angular/src/utils/default-progress.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts index bb8c648a1220..534e1e9a3229 100644 --- a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts +++ b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/environment-options.ts b/packages/angular_devkit/build_angular/src/utils/environment-options.ts index 5c1de06407ad..ff57506f3f9d 100644 --- a/packages/angular_devkit/build_angular/src/utils/environment-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/environment-options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/find-up.ts b/packages/angular_devkit/build_angular/src/utils/find-up.ts index d99687c5fdf9..7f5266f277f5 100644 --- a/packages/angular_devkit/build_angular/src/utils/find-up.ts +++ b/packages/angular_devkit/build_angular/src/utils/find-up.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/fs.ts b/packages/angular_devkit/build_angular/src/utils/fs.ts index 9b34e2ceed64..66240a1a0e99 100644 --- a/packages/angular_devkit/build_angular/src/utils/fs.ts +++ b/packages/angular_devkit/build_angular/src/utils/fs.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index ee1fb9e9e49d..ae60ad21c663 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index 384283c4006e..e21bc2553788 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts index d27516c8c3af..1799d261b338 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts index 29fac3a9a084..3baed5fb5b26 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts index 8cdf857d5cef..d012563a9e34 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts b/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts index 2ecd0d39c12c..1a8a1600f008 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/index-html-generator.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts index 3b6d0d4ec53b..ba2660f3cba3 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts index dd29f5da3019..5ec02900dba3 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index 7f570ad796c0..ff8f7fd651c5 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts index 506c69fbc229..1f797c87a52a 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/index.ts b/packages/angular_devkit/build_angular/src/utils/index.ts index 47bdbc914ce9..43a3a70cae25 100644 --- a/packages/angular_devkit/build_angular/src/utils/index.ts +++ b/packages/angular_devkit/build_angular/src/utils/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/is-directory.ts b/packages/angular_devkit/build_angular/src/utils/is-directory.ts index f4636a272531..9682c539538c 100644 --- a/packages/angular_devkit/build_angular/src/utils/is-directory.ts +++ b/packages/angular_devkit/build_angular/src/utils/is-directory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/load-translations.ts b/packages/angular_devkit/build_angular/src/utils/load-translations.ts index ac78333e0c27..63edde697372 100644 --- a/packages/angular_devkit/build_angular/src/utils/load-translations.ts +++ b/packages/angular_devkit/build_angular/src/utils/load-translations.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts index da17ac8d3568..a04759521876 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts index af539d597a3f..ee4b70a84aa4 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts @@ -1,7 +1,7 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts b/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts index 27d80d7491aa..c9cb6545fc89 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-optimization.ts b/packages/angular_devkit/build_angular/src/utils/normalize-optimization.ts index c7e7de05b26f..29c5880bf477 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-optimization.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-optimization.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-source-maps.ts b/packages/angular_devkit/build_angular/src/utils/normalize-source-maps.ts index ca873b59fa95..f4f8d804d65c 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-source-maps.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-source-maps.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/output-paths.ts b/packages/angular_devkit/build_angular/src/utils/output-paths.ts index 45f0729953cc..c581bf1d4d21 100644 --- a/packages/angular_devkit/build_angular/src/utils/output-paths.ts +++ b/packages/angular_devkit/build_angular/src/utils/output-paths.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts b/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts index 982c3f294c54..82864782f634 100644 --- a/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts +++ b/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js b/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js index b2b1965f4c67..aa51feffe3b5 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js @@ -1,9 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ require('../../../../../lib/bootstrap-local'); -module.exports = require('./process-bundle.ts'); \ No newline at end of file +module.exports = require('./process-bundle.ts'); diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 92bcd42bef14..b66d54afd8c9 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/read-tsconfig.ts b/packages/angular_devkit/build_angular/src/utils/read-tsconfig.ts index 9d58349af889..0f6f7de3eef7 100644 --- a/packages/angular_devkit/build_angular/src/utils/read-tsconfig.ts +++ b/packages/angular_devkit/build_angular/src/utils/read-tsconfig.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/run-module-as-observable-fork.ts b/packages/angular_devkit/build_angular/src/utils/run-module-as-observable-fork.ts index ab13efdb0e2b..6a7fff08744c 100644 --- a/packages/angular_devkit/build_angular/src/utils/run-module-as-observable-fork.ts +++ b/packages/angular_devkit/build_angular/src/utils/run-module-as-observable-fork.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/run-module-worker.js b/packages/angular_devkit/build_angular/src/utils/run-module-worker.js index 2370abead79b..86c96099c89e 100644 --- a/packages/angular_devkit/build_angular/src/utils/run-module-worker.js +++ b/packages/angular_devkit/build_angular/src/utils/run-module-worker.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -17,4 +17,3 @@ process.on('message', (message) => { } } }); - diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index 5edeb6abf539..01dcb210f49b 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/spinner.ts b/packages/angular_devkit/build_angular/src/utils/spinner.ts index 35c16486832d..b4b0ded050ed 100644 --- a/packages/angular_devkit/build_angular/src/utils/spinner.ts +++ b/packages/angular_devkit/build_angular/src/utils/spinner.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/strip-bom.ts b/packages/angular_devkit/build_angular/src/utils/strip-bom.ts index f4aba38228b3..564c3894777a 100644 --- a/packages/angular_devkit/build_angular/src/utils/strip-bom.ts +++ b/packages/angular_devkit/build_angular/src/utils/strip-bom.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/tty.ts b/packages/angular_devkit/build_angular/src/utils/tty.ts index dd5931e26fb6..1e5658ebfd57 100644 --- a/packages/angular_devkit/build_angular/src/utils/tty.ts +++ b/packages/angular_devkit/build_angular/src/utils/tty.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/url.ts b/packages/angular_devkit/build_angular/src/utils/url.ts index 39b047b407bb..936225d6fc82 100644 --- a/packages/angular_devkit/build_angular/src/utils/url.ts +++ b/packages/angular_devkit/build_angular/src/utils/url.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/url_spec.ts b/packages/angular_devkit/build_angular/src/utils/url_spec.ts index ca0d7935a741..9f8c6fa3c5e1 100644 --- a/packages/angular_devkit/build_angular/src/utils/url_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/url_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/version.ts b/packages/angular_devkit/build_angular/src/utils/version.ts index 0217bcca6147..72ca02702bf2 100644 --- a/packages/angular_devkit/build_angular/src/utils/version.ts +++ b/packages/angular_devkit/build_angular/src/utils/version.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts index 92654c02c15c..a82866993d1e 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts b/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts index d7ea3b4c44d6..43897ba03c0a 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-version.ts b/packages/angular_devkit/build_angular/src/utils/webpack-version.ts index 3cb37086265c..f32c33347b10 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-version.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-version.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/utils/workers.ts b/packages/angular_devkit/build_angular/src/utils/workers.ts index 83b4c778fff8..d0e47eb850cc 100644 --- a/packages/angular_devkit/build_angular/src/utils/workers.ts +++ b/packages/angular_devkit/build_angular/src/utils/workers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts index 4ed2d4abf67b..8ee843fa3cc0 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/browser.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 3fce2bfcb2a5..91fcdcabcc99 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index f88193878043..6daa8a274940 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/index.ts b/packages/angular_devkit/build_angular/src/webpack/configs/index.ts index badd91583a97..1a861884a64d 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/index.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/server.ts index 645d9154f073..1ba160f917e2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/server.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/stats.ts b/packages/angular_devkit/build_angular/src/webpack/configs/stats.ts index 920d3bd49910..5c68382f1aee 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/stats.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 89c9519e1e4b..6f70d3e4ec2a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/test.ts b/packages/angular_devkit/build_angular/src/webpack/configs/test.ts index ab89bb017d2b..47fd29ec2e7a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/test.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/test.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts index 77b67a14af09..3eca8df74416 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/typescript.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts b/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts index 9ef16f3bfe7d..e707eb49b4b2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/worker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/es5-jit-polyfills.js b/packages/angular_devkit/build_angular/src/webpack/es5-jit-polyfills.js index febcbb5329c9..f71bda480e05 100644 --- a/packages/angular_devkit/build_angular/src/webpack/es5-jit-polyfills.js +++ b/packages/angular_devkit/build_angular/src/webpack/es5-jit-polyfills.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/es5-polyfills.js b/packages/angular_devkit/build_angular/src/webpack/es5-polyfills.js index 284aa8b62e20..822576c69e7a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/es5-polyfills.js +++ b/packages/angular_devkit/build_angular/src/webpack/es5-polyfills.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -111,4 +111,4 @@ import 'core-js/modules/web.dom-collections.iterator'; import 'core-js/modules/es.promise'; import 'core-js/modules/es.json.to-string-tag'; -import 'regenerator-runtime/runtime'; \ No newline at end of file +import 'regenerator-runtime/runtime'; diff --git a/packages/angular_devkit/build_angular/src/webpack/jit-polyfills.js b/packages/angular_devkit/build_angular/src/webpack/jit-polyfills.js index b57ee9bd423a..13b61e7b2f44 100644 --- a/packages/angular_devkit/build_angular/src/webpack/jit-polyfills.js +++ b/packages/angular_devkit/build_angular/src/webpack/jit-polyfills.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts index 094f9e242d6b..587812c2b142 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts index e0266f68bdee..456fc9011544 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts index 8704f2b19b8c..dc5780056e24 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/builder-watch-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/builder-watch-plugin.ts index 3c2d8d4f6d6d..a5de101e3a15 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/builder-watch-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/builder-watch-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts index dbd73e027009..20b59d1c9c47 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/dedupe-module-resolve-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/dedupe-module-resolve-plugin.ts index 69614324ca5f..55832b2f4779 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/dedupe-module-resolve-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/dedupe-module-resolve-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-accept.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-accept.ts index 10aee6b52427..6e69748a13f7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-accept.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-accept.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts index c5f594f78129..bea890e9c738 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts index 9a065b9816b9..6b16dadad17a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/index.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/index.ts index c8cbcc181ee5..b8d1f3002930 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/index.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-webpack-failure-cb.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-webpack-failure-cb.ts index b4c02479bd6e..36733d5f0a71 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-webpack-failure-cb.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-webpack-failure-cb.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts index d86ca99bc379..b892c13ec246 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts index 1e2132672609..74f41914116f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts index 9bf2b4431da7..fc1620348534 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index dd44f6057388..b4f7bffbcc24 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/remove-hash-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/remove-hash-plugin.ts index 242193a9d54c..46625d83f298 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/remove-hash-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/remove-hash-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts index e0b5d117fb81..fe3122ba53c3 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts index 982fa4de5869..71c3a43af104 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/suppress-entry-chunks-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/suppress-entry-chunks-webpack-plugin.ts index 882506509ed6..32825bb6ff49 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/suppress-entry-chunks-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/suppress-entry-chunks-webpack-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/webpack-rollup-loader.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/webpack-rollup-loader.ts index 2253f1ccfb28..b83fa498837b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/webpack-rollup-loader.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/webpack-rollup-loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks.ts b/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks.ts index d2a48dbfb130..db06cc258dbc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks_spec.ts b/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks_spec.ts index da690efb05fd..91d4058b6e84 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks_spec.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/async-chunks_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index a64dbe8048d1..65aacf882cfa 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 558310f23e91..45877bb2b94a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -191,7 +191,7 @@ function statsToString(json: any, statsConfig: any, bundleState?: BundleStats[]) const statsTable = generateBuildStatsTable(changedChunksStats, colors, unchangedChunkNumber === 0); - // In some cases we do things outside of webpack context + // In some cases we do things outside of webpack context // Such us index generation, service worker augmentation etc... // This will correct the time and include these. const time = (Date.now() - json.builtAt) + json.time; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.e2e-spec.ts b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.e2e-spec.ts index 05f1adf816da..490111853678 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.e2e-spec.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.e2e-spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.po.ts b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.po.ts index a38be4b23cde..f6fd48651736 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.po.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/e2e/app.po.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js index 1b6b10b70e7c..6dab02886bb6 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js b/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js index 58a5d0170c76..0a14d0388a89 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.spec.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.spec.ts index d3dde56aacc1..018aa70b9590 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.spec.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.ts index 7ea162bf0946..a091388cb1a4 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.component.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.module.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.module.ts index c61881ebb3eb..08c28e5ddfac 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.module.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.server.module.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.server.module.ts index bb56e2795c22..0dbdc7eee555 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.server.module.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/app/app.server.module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts index 585b70e8c518..e68acec70d48 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts index 7a2b5a1e7ce5..53e1165805b4 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts index 340dffcdf657..f8d508c9c397 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts index cb8269cc1ad4..1fe7e025a009 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts index 397e95e012de..a465cfb842fc 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts index 9d5dd81e683f..51076cd255f3 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/typings.d.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/typings.d.ts index fe59b01a3b02..6259785e38ba 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/typings.d.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/typings.d.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js index 80b89d8439ac..88c06868c675 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/karma.conf.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.spec.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.spec.ts index 2694b8dea5a2..5d8eccaf3a47 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.spec.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts index 3fcbd0a37c78..90506137863d 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.module.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.module.ts index 4db2feed5ae3..ba9debdd7c3d 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.module.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.spec.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.spec.ts index a808deee36e3..c85aa5235c49 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.spec.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.ts index e8be2fbdc25e..ad3cff332127 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.service.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/public-api.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/public-api.ts index d3a2dc0db030..bd0f2b029a24 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/public-api.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/public-api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts index 92e85eee480c..79c2ad36094a 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/_golden-api.ts b/packages/angular_devkit/build_optimizer/src/_golden-api.ts index 06e63e7a2c84..9a87174f401e 100644 --- a/packages/angular_devkit/build_optimizer/src/_golden-api.ts +++ b/packages/angular_devkit/build_optimizer/src/_golden-api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts index 04bddef732f4..6baa6a2505aa 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts index a7b094d5589f..1644091247f9 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts index f09f53defddc..bf00e7dda320 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts index cb661c66abbe..b093f9817a4f 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts index ee0c91f8a6f1..84fb5dcb7930 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts index fbc273993021..228d3752fb8e 100644 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts +++ b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts @@ -1,7 +1,7 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts b/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts index d035dda72612..6466dfcd6e8d 100644 --- a/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts +++ b/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts b/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts index 91628bee2acf..a4143228aadb 100644 --- a/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts +++ b/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/index.ts b/packages/angular_devkit/build_optimizer/src/index.ts index 4d4c11ab9c79..3cc3149cd57d 100644 --- a/packages/angular_devkit/build_optimizer/src/index.ts +++ b/packages/angular_devkit/build_optimizer/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts index 77d01ab12491..ef8207affda2 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts index 21149b28bf00..e8a7dcced38d 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts index d058047284f9..6ae685c9c339 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts index ec7bb8fd0fdd..d3fc4fa1eede 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts index afdbdee7ad01..60563eaedc6c 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts index 80c045ef430c..23c46de0596c 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts index 2105cc6b6186..67399068885a 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts index 0789b1c5643b..fccb027e4d5a 100644 --- a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts +++ b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/index.ts b/packages/angular_devkit/build_webpack/src/index.ts index fbd92d0eb827..4bc5882c6b65 100644 --- a/packages/angular_devkit/build_webpack/src/index.ts +++ b/packages/angular_devkit/build_webpack/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/utils.ts b/packages/angular_devkit/build_webpack/src/utils.ts index e0905269e949..693ae900a002 100644 --- a/packages/angular_devkit/build_webpack/src/utils.ts +++ b/packages/angular_devkit/build_webpack/src/utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts index cb67b2e28e08..b8657ba07b37 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts index 0c62d1c1383f..1ac818f293d9 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/webpack/index.ts b/packages/angular_devkit/build_webpack/src/webpack/index.ts index 5121d8ecae97..f6530cc005a0 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts b/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts index ee09eaa6dce6..8c7068b645bf 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.spec.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.spec.ts index 869493ff9aeb..ac4005c4504a 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.spec.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.ts index 8366380cf61a..81881a3a3abd 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.component.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.module.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.module.ts index c61881ebb3eb..08c28e5ddfac 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.module.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/app/app.module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts index fac764c6d237..b747891fd137 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts index a3fe55067a9c..b92863c59b88 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts index 3d8f375e6f4f..a410d4d1c7d5 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/polyfills.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/polyfills.ts index 1b2d66b61857..114cfd897750 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/polyfills.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/polyfills.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/_golden-api.ts b/packages/angular_devkit/core/node/_golden-api.ts index 1e8277d996a8..60d68936181f 100644 --- a/packages/angular_devkit/core/node/_golden-api.ts +++ b/packages/angular_devkit/core/node/_golden-api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/cli-logger.ts b/packages/angular_devkit/core/node/cli-logger.ts index 07cb5ef39aa9..59582a757c8f 100644 --- a/packages/angular_devkit/core/node/cli-logger.ts +++ b/packages/angular_devkit/core/node/cli-logger.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/experimental/index.ts b/packages/angular_devkit/core/node/experimental/index.ts index 012ac72a4ae5..718ed0fb0820 100644 --- a/packages/angular_devkit/core/node/experimental/index.ts +++ b/packages/angular_devkit/core/node/experimental/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/experimental/jobs/index.ts b/packages/angular_devkit/core/node/experimental/jobs/index.ts index d931a0289414..f01c2aebe9d4 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/index.ts +++ b/packages/angular_devkit/core/node/experimental/jobs/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts b/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts index 6c60ef8c5069..cdeb8b64a2ac 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts +++ b/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts b/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts index 2a46aa873995..7c9672f31858 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts +++ b/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/fs.ts b/packages/angular_devkit/core/node/fs.ts index a09048e9a87d..0ea569824c2d 100644 --- a/packages/angular_devkit/core/node/fs.ts +++ b/packages/angular_devkit/core/node/fs.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/host.ts b/packages/angular_devkit/core/node/host.ts index 711dddce78c1..2359f72009a6 100644 --- a/packages/angular_devkit/core/node/host.ts +++ b/packages/angular_devkit/core/node/host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/host_spec.ts b/packages/angular_devkit/core/node/host_spec.ts index 7ac9615b5db3..a582cce001d7 100644 --- a/packages/angular_devkit/core/node/host_spec.ts +++ b/packages/angular_devkit/core/node/host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/index.ts b/packages/angular_devkit/core/node/index.ts index 3f3e175f4315..390bbdf32740 100644 --- a/packages/angular_devkit/core/node/index.ts +++ b/packages/angular_devkit/core/node/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/node/testing/index.ts b/packages/angular_devkit/core/node/testing/index.ts index d8a7dbea4c6b..a6d12e428d89 100644 --- a/packages/angular_devkit/core/node/testing/index.ts +++ b/packages/angular_devkit/core/node/testing/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/_golden-api.ts b/packages/angular_devkit/core/src/_golden-api.ts index 0c8c1c52f68d..6f395f81523e 100644 --- a/packages/angular_devkit/core/src/_golden-api.ts +++ b/packages/angular_devkit/core/src/_golden-api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/api.ts b/packages/angular_devkit/core/src/analytics/api.ts index f538d1ba088a..e1204d516581 100644 --- a/packages/angular_devkit/core/src/analytics/api.ts +++ b/packages/angular_devkit/core/src/analytics/api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/forwarder.ts b/packages/angular_devkit/core/src/analytics/forwarder.ts index 8c1ba6de6a92..ec592f449732 100644 --- a/packages/angular_devkit/core/src/analytics/forwarder.ts +++ b/packages/angular_devkit/core/src/analytics/forwarder.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/index.ts b/packages/angular_devkit/core/src/analytics/index.ts index a6ca6c5f1c00..a35968e78003 100644 --- a/packages/angular_devkit/core/src/analytics/index.ts +++ b/packages/angular_devkit/core/src/analytics/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/logging.ts b/packages/angular_devkit/core/src/analytics/logging.ts index e19785727ffe..55a2ef9ab2ec 100644 --- a/packages/angular_devkit/core/src/analytics/logging.ts +++ b/packages/angular_devkit/core/src/analytics/logging.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/multi.ts b/packages/angular_devkit/core/src/analytics/multi.ts index 141f0db38e0b..078019f49959 100644 --- a/packages/angular_devkit/core/src/analytics/multi.ts +++ b/packages/angular_devkit/core/src/analytics/multi.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/analytics/noop.ts b/packages/angular_devkit/core/src/analytics/noop.ts index a4592a75c174..b2beb01c008f 100644 --- a/packages/angular_devkit/core/src/analytics/noop.ts +++ b/packages/angular_devkit/core/src/analytics/noop.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/exception/exception.ts b/packages/angular_devkit/core/src/exception/exception.ts index 31dc67badb1a..ca587c135646 100644 --- a/packages/angular_devkit/core/src/exception/exception.ts +++ b/packages/angular_devkit/core/src/exception/exception.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/exception/index.ts b/packages/angular_devkit/core/src/exception/index.ts index b335f36dcb1d..078e9e1ae344 100644 --- a/packages/angular_devkit/core/src/exception/index.ts +++ b/packages/angular_devkit/core/src/exception/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental.ts b/packages/angular_devkit/core/src/experimental.ts index 320138422f53..76a23dec749f 100644 --- a/packages/angular_devkit/core/src/experimental.ts +++ b/packages/angular_devkit/core/src/experimental.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/api.ts b/packages/angular_devkit/core/src/experimental/jobs/api.ts index 2a5297833cf8..2a1282e2c668 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/api.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts b/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts index 08f381dc081f..0d8dc51cd28a 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts @@ -1,10 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - * */ import { Observable, Observer, Subject, Subscription, from, isObservable, of } from 'rxjs'; import { switchMap, tap } from 'rxjs/operators'; diff --git a/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts b/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts index c1dce056ed30..c605447301f9 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts @@ -1,10 +1,9 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - * */ import { JsonValue } from '../../json/index'; import { Readwrite } from '../../utils/index'; diff --git a/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts index 94a12cc53d07..e1aa07873cf4 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/exception.ts b/packages/angular_devkit/core/src/experimental/jobs/exception.ts index 0fcb761a978f..5225bed1b46b 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/exception.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/exception.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts b/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts index 4d2fa84dd658..dd2ad71227aa 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/index.ts b/packages/angular_devkit/core/src/experimental/jobs/index.ts index 70210cb22e9f..094fc23877db 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/index.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts index e5594fd0a05d..0df98092c26e 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts index 8683f6314171..f4bf4837f15b 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts index afae90f2aadf..b36cd587459f 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts index 47fec00b14c8..53345bd086c1 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts index aa538dcfb8b7..dd9f29b58025 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts index 9d49626a2a91..d979d52036bf 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/index.ts b/packages/angular_devkit/core/src/index.ts index 2df15fc70f9f..d9f2cef78107 100644 --- a/packages/angular_devkit/core/src/index.ts +++ b/packages/angular_devkit/core/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/index.ts b/packages/angular_devkit/core/src/json/index.ts index 16bc0d1ff55c..1a1a000c4d2f 100644 --- a/packages/angular_devkit/core/src/json/index.ts +++ b/packages/angular_devkit/core/src/json/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/interface.ts b/packages/angular_devkit/core/src/json/interface.ts index 8769239695cf..1b34b8270e5f 100644 --- a/packages/angular_devkit/core/src/json/interface.ts +++ b/packages/angular_devkit/core/src/json/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/parser.ts b/packages/angular_devkit/core/src/json/parser.ts index 243b51c4f0ea..212aa6a2228d 100644 --- a/packages/angular_devkit/core/src/json/parser.ts +++ b/packages/angular_devkit/core/src/json/parser.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/parser_spec.ts b/packages/angular_devkit/core/src/json/parser_spec.ts index 56405eb03aed..d8dda771a492 100644 --- a/packages/angular_devkit/core/src/json/parser_spec.ts +++ b/packages/angular_devkit/core/src/json/parser_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/index.ts b/packages/angular_devkit/core/src/json/schema/index.ts index 92a977ffe736..8d7df1d10f15 100644 --- a/packages/angular_devkit/core/src/json/schema/index.ts +++ b/packages/angular_devkit/core/src/json/schema/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/interface.ts b/packages/angular_devkit/core/src/json/schema/interface.ts index 88c644c5ce46..ca92ac71abe7 100644 --- a/packages/angular_devkit/core/src/json/schema/interface.ts +++ b/packages/angular_devkit/core/src/json/schema/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/pointer.ts b/packages/angular_devkit/core/src/json/schema/pointer.ts index 39d054169801..07828e35cb1c 100644 --- a/packages/angular_devkit/core/src/json/schema/pointer.ts +++ b/packages/angular_devkit/core/src/json/schema/pointer.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/prompt_spec.ts b/packages/angular_devkit/core/src/json/schema/prompt_spec.ts index b22b26b7a567..e9a57ad3ef74 100644 --- a/packages/angular_devkit/core/src/json/schema/prompt_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/prompt_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index 66bf8270818b..b078de35ef15 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/registry_spec.ts b/packages/angular_devkit/core/src/json/schema/registry_spec.ts index b5155e75919a..d4ab197dfdd0 100644 --- a/packages/angular_devkit/core/src/json/schema/registry_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/registry_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/schema.ts b/packages/angular_devkit/core/src/json/schema/schema.ts index fab3ff69e978..b7fea3533da4 100644 --- a/packages/angular_devkit/core/src/json/schema/schema.ts +++ b/packages/angular_devkit/core/src/json/schema/schema.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/transforms.ts b/packages/angular_devkit/core/src/json/schema/transforms.ts index 0148b3efb51c..1002c7608a56 100644 --- a/packages/angular_devkit/core/src/json/schema/transforms.ts +++ b/packages/angular_devkit/core/src/json/schema/transforms.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/transforms_spec.ts b/packages/angular_devkit/core/src/json/schema/transforms_spec.ts index 2e2e5a564a03..2ebf4cb4e5a0 100644 --- a/packages/angular_devkit/core/src/json/schema/transforms_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/transforms_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/utility.ts b/packages/angular_devkit/core/src/json/schema/utility.ts index 00b4a8278343..ea5b2d8776f6 100644 --- a/packages/angular_devkit/core/src/json/schema/utility.ts +++ b/packages/angular_devkit/core/src/json/schema/utility.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/visitor.ts b/packages/angular_devkit/core/src/json/schema/visitor.ts index 194c29eef4fe..874afc39f4a0 100644 --- a/packages/angular_devkit/core/src/json/schema/visitor.ts +++ b/packages/angular_devkit/core/src/json/schema/visitor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/json/schema/visitor_spec.ts b/packages/angular_devkit/core/src/json/schema/visitor_spec.ts index e938ccd56216..c067e5984190 100644 --- a/packages/angular_devkit/core/src/json/schema/visitor_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/visitor_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/indent.ts b/packages/angular_devkit/core/src/logger/indent.ts index 7eb1958fc855..14c8ed258cf4 100644 --- a/packages/angular_devkit/core/src/logger/indent.ts +++ b/packages/angular_devkit/core/src/logger/indent.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/indent_spec.ts b/packages/angular_devkit/core/src/logger/indent_spec.ts index a35ed3307a96..ab95d2f85fbc 100644 --- a/packages/angular_devkit/core/src/logger/indent_spec.ts +++ b/packages/angular_devkit/core/src/logger/indent_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/index.ts b/packages/angular_devkit/core/src/logger/index.ts index 63bc0860b0c8..7f2254b5b0d6 100644 --- a/packages/angular_devkit/core/src/logger/index.ts +++ b/packages/angular_devkit/core/src/logger/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/level.ts b/packages/angular_devkit/core/src/logger/level.ts index 7de3255d90c5..ce11a2f10a89 100644 --- a/packages/angular_devkit/core/src/logger/level.ts +++ b/packages/angular_devkit/core/src/logger/level.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/logger.ts b/packages/angular_devkit/core/src/logger/logger.ts index f684b2427299..c700d0122a80 100644 --- a/packages/angular_devkit/core/src/logger/logger.ts +++ b/packages/angular_devkit/core/src/logger/logger.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/logger_spec.ts b/packages/angular_devkit/core/src/logger/logger_spec.ts index 50439ca9a452..e04336e996bb 100644 --- a/packages/angular_devkit/core/src/logger/logger_spec.ts +++ b/packages/angular_devkit/core/src/logger/logger_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/null-logger.ts b/packages/angular_devkit/core/src/logger/null-logger.ts index 4a687840a1c3..ef5df25916ae 100644 --- a/packages/angular_devkit/core/src/logger/null-logger.ts +++ b/packages/angular_devkit/core/src/logger/null-logger.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/null-logger_spec.ts b/packages/angular_devkit/core/src/logger/null-logger_spec.ts index 52f1936e48f9..858b9a4723d2 100644 --- a/packages/angular_devkit/core/src/logger/null-logger_spec.ts +++ b/packages/angular_devkit/core/src/logger/null-logger_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/transform-logger.ts b/packages/angular_devkit/core/src/logger/transform-logger.ts index 4d024fd2ffb2..e9589afc2025 100644 --- a/packages/angular_devkit/core/src/logger/transform-logger.ts +++ b/packages/angular_devkit/core/src/logger/transform-logger.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/logger/transform-logger_spec.ts b/packages/angular_devkit/core/src/logger/transform-logger_spec.ts index d99e2f87269c..8a91872d7e02 100644 --- a/packages/angular_devkit/core/src/logger/transform-logger_spec.ts +++ b/packages/angular_devkit/core/src/logger/transform-logger_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/array.ts b/packages/angular_devkit/core/src/utils/array.ts index e1969c175723..240d87a04186 100644 --- a/packages/angular_devkit/core/src/utils/array.ts +++ b/packages/angular_devkit/core/src/utils/array.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/index.ts b/packages/angular_devkit/core/src/utils/index.ts index 5e6749ee9b95..c5117af9e05d 100644 --- a/packages/angular_devkit/core/src/utils/index.ts +++ b/packages/angular_devkit/core/src/utils/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/lang.ts b/packages/angular_devkit/core/src/utils/lang.ts index 032010566a7a..1286a52e2ab6 100644 --- a/packages/angular_devkit/core/src/utils/lang.ts +++ b/packages/angular_devkit/core/src/utils/lang.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/literals.ts b/packages/angular_devkit/core/src/utils/literals.ts index bfa16c201c98..b61d88e112f6 100644 --- a/packages/angular_devkit/core/src/utils/literals.ts +++ b/packages/angular_devkit/core/src/utils/literals.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/literals_spec.ts b/packages/angular_devkit/core/src/utils/literals_spec.ts index 0883eb685535..83420d1722a0 100644 --- a/packages/angular_devkit/core/src/utils/literals_spec.ts +++ b/packages/angular_devkit/core/src/utils/literals_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/object.ts b/packages/angular_devkit/core/src/utils/object.ts index 395af8abbfd5..f377aba9f375 100644 --- a/packages/angular_devkit/core/src/utils/object.ts +++ b/packages/angular_devkit/core/src/utils/object.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/object_spec.ts b/packages/angular_devkit/core/src/utils/object_spec.ts index 67756e5f31b7..9751c1fd14d3 100644 --- a/packages/angular_devkit/core/src/utils/object_spec.ts +++ b/packages/angular_devkit/core/src/utils/object_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/partially-ordered-set.ts b/packages/angular_devkit/core/src/utils/partially-ordered-set.ts index 2127f521eef2..f131c4886532 100644 --- a/packages/angular_devkit/core/src/utils/partially-ordered-set.ts +++ b/packages/angular_devkit/core/src/utils/partially-ordered-set.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/partially-ordered-set_spec.ts b/packages/angular_devkit/core/src/utils/partially-ordered-set_spec.ts index 31aa667cb54e..da2a5b90bbc7 100644 --- a/packages/angular_devkit/core/src/utils/partially-ordered-set_spec.ts +++ b/packages/angular_devkit/core/src/utils/partially-ordered-set_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/priority-queue.ts b/packages/angular_devkit/core/src/utils/priority-queue.ts index 9d5008487d47..faeaf99f88cb 100644 --- a/packages/angular_devkit/core/src/utils/priority-queue.ts +++ b/packages/angular_devkit/core/src/utils/priority-queue.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/priority-queue_spec.ts b/packages/angular_devkit/core/src/utils/priority-queue_spec.ts index ef850273de4e..92f41cfbf1bf 100644 --- a/packages/angular_devkit/core/src/utils/priority-queue_spec.ts +++ b/packages/angular_devkit/core/src/utils/priority-queue_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/strings.ts b/packages/angular_devkit/core/src/utils/strings.ts index ff3c0ce7cec3..7e8dfc3d970d 100644 --- a/packages/angular_devkit/core/src/utils/strings.ts +++ b/packages/angular_devkit/core/src/utils/strings.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/utils/template.ts b/packages/angular_devkit/core/src/utils/template.ts index 1ed86bd81098..b412421b5695 100644 --- a/packages/angular_devkit/core/src/utils/template.ts +++ b/packages/angular_devkit/core/src/utils/template.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/alias.ts b/packages/angular_devkit/core/src/virtual-fs/host/alias.ts index 4df9c6b1fbe2..5c03cc365bbf 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/alias.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/alias.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts index ff852af9910e..e709779f95b4 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts b/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts index 08a988d25306..20866af9ffaa 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/create.ts b/packages/angular_devkit/core/src/virtual-fs/host/create.ts index 8002f1dea48b..2a4ed479e392 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/create.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/create.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/empty.ts b/packages/angular_devkit/core/src/virtual-fs/host/empty.ts index 791b27c6e7cf..07291fe2e601 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/empty.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/empty.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/index.ts b/packages/angular_devkit/core/src/virtual-fs/host/index.ts index a795f4209fc6..affdcc3b2fa6 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/index.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/interface.ts b/packages/angular_devkit/core/src/virtual-fs/host/interface.ts index 9c48e58f5d0d..cdc1ce88b21e 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/interface.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/memory.ts b/packages/angular_devkit/core/src/virtual-fs/host/memory.ts index ca80bc7ea916..a86c625fc949 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/memory.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/memory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts index bf9df7a106c9..1768879a6eb2 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/pattern.ts b/packages/angular_devkit/core/src/virtual-fs/host/pattern.ts index 9880c1e67903..4ce1633b2266 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/pattern.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/pattern.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts index eb10ea21c1e0..7066b3c090ac 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/record.ts b/packages/angular_devkit/core/src/virtual-fs/host/record.ts index 899c445d735e..60882c717268 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/record.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/record.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts index 2500cc66bb5d..eb3839055923 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/resolver.ts b/packages/angular_devkit/core/src/virtual-fs/host/resolver.ts index 69c53d642e2f..45d342ecac68 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/resolver.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/resolver.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/safe.ts b/packages/angular_devkit/core/src/virtual-fs/host/safe.ts index fd4ef719261c..dc92a5150b78 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/safe.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/safe.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/scoped.ts b/packages/angular_devkit/core/src/virtual-fs/host/scoped.ts index da6e884bc266..b79bbab63b19 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/scoped.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/scoped.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/sync.ts b/packages/angular_devkit/core/src/virtual-fs/host/sync.ts index cbc8629081cc..2949b3471da9 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/sync.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/sync.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/test.ts b/packages/angular_devkit/core/src/virtual-fs/host/test.ts index 4e90c409e3c1..945f45098538 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/test.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/test.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/host/test_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/test_spec.ts index 4e0cb296a155..e1f7953252ce 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/test_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/test_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/index.ts b/packages/angular_devkit/core/src/virtual-fs/index.ts index 988c3b40d449..353fe31e1e92 100644 --- a/packages/angular_devkit/core/src/virtual-fs/index.ts +++ b/packages/angular_devkit/core/src/virtual-fs/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/path.ts b/packages/angular_devkit/core/src/virtual-fs/path.ts index d5edd6da300a..fd622bcead09 100644 --- a/packages/angular_devkit/core/src/virtual-fs/path.ts +++ b/packages/angular_devkit/core/src/virtual-fs/path.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/virtual-fs/path_spec.ts b/packages/angular_devkit/core/src/virtual-fs/path_spec.ts index 3e66387cd38e..4d7676a0a772 100644 --- a/packages/angular_devkit/core/src/virtual-fs/path_spec.ts +++ b/packages/angular_devkit/core/src/virtual-fs/path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/core.ts b/packages/angular_devkit/core/src/workspace/core.ts index ad5ae8be981f..ec60aff612dd 100644 --- a/packages/angular_devkit/core/src/workspace/core.ts +++ b/packages/angular_devkit/core/src/workspace/core.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/core_spec.ts b/packages/angular_devkit/core/src/workspace/core_spec.ts index f92170be2586..5117af8a78f5 100644 --- a/packages/angular_devkit/core/src/workspace/core_spec.ts +++ b/packages/angular_devkit/core/src/workspace/core_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/definitions.ts b/packages/angular_devkit/core/src/workspace/definitions.ts index 53b21259116b..719faecdf744 100644 --- a/packages/angular_devkit/core/src/workspace/definitions.ts +++ b/packages/angular_devkit/core/src/workspace/definitions.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/definitions_spec.ts b/packages/angular_devkit/core/src/workspace/definitions_spec.ts index 9c640e2f5eb6..511d432e4541 100644 --- a/packages/angular_devkit/core/src/workspace/definitions_spec.ts +++ b/packages/angular_devkit/core/src/workspace/definitions_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/host.ts b/packages/angular_devkit/core/src/workspace/host.ts index d9d75c0cf171..316311f3b8a0 100644 --- a/packages/angular_devkit/core/src/workspace/host.ts +++ b/packages/angular_devkit/core/src/workspace/host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/host_spec.ts b/packages/angular_devkit/core/src/workspace/host_spec.ts index 079885b60d25..c431300a56e6 100644 --- a/packages/angular_devkit/core/src/workspace/host_spec.ts +++ b/packages/angular_devkit/core/src/workspace/host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/index.ts b/packages/angular_devkit/core/src/workspace/index.ts index 88c1071ae2f7..721f198eae16 100644 --- a/packages/angular_devkit/core/src/workspace/index.ts +++ b/packages/angular_devkit/core/src/workspace/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/metadata.ts b/packages/angular_devkit/core/src/workspace/json/metadata.ts index bc7d2c58bd5d..61aa7e9a72a2 100644 --- a/packages/angular_devkit/core/src/workspace/json/metadata.ts +++ b/packages/angular_devkit/core/src/workspace/json/metadata.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 24c5f34afe74..9d12e86de9bc 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index b6ac75b95971..14c3bf9f83a8 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/utilities.ts b/packages/angular_devkit/core/src/workspace/json/utilities.ts index 151f8202a08f..ce179696038c 100644 --- a/packages/angular_devkit/core/src/workspace/json/utilities.ts +++ b/packages/angular_devkit/core/src/workspace/json/utilities.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/writer.ts b/packages/angular_devkit/core/src/workspace/json/writer.ts index 8087d810e5ff..35606f8571a6 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts index 23af2d1c525f..f8c07a4e07de 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/_golden-api.ts b/packages/angular_devkit/schematics/src/_golden-api.ts index 9d9ea4ddacbe..c9aff4613f4a 100644 --- a/packages/angular_devkit/schematics/src/_golden-api.ts +++ b/packages/angular_devkit/schematics/src/_golden-api.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/engine/engine.ts b/packages/angular_devkit/schematics/src/engine/engine.ts index a3ca4caa515e..696be1233d75 100644 --- a/packages/angular_devkit/schematics/src/engine/engine.ts +++ b/packages/angular_devkit/schematics/src/engine/engine.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/engine/index.ts b/packages/angular_devkit/schematics/src/engine/index.ts index 9f8b476cc297..666c8c406df7 100644 --- a/packages/angular_devkit/schematics/src/engine/index.ts +++ b/packages/angular_devkit/schematics/src/engine/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/engine/interface.ts b/packages/angular_devkit/schematics/src/engine/interface.ts index dea18164acac..8e003c6bc497 100644 --- a/packages/angular_devkit/schematics/src/engine/interface.ts +++ b/packages/angular_devkit/schematics/src/engine/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/engine/schematic.ts b/packages/angular_devkit/schematics/src/engine/schematic.ts index ba16af352624..134a5ca19b1e 100644 --- a/packages/angular_devkit/schematics/src/engine/schematic.ts +++ b/packages/angular_devkit/schematics/src/engine/schematic.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/engine/schematic_spec.ts b/packages/angular_devkit/schematics/src/engine/schematic_spec.ts index 5f16ed347644..c93aef49bc0a 100644 --- a/packages/angular_devkit/schematics/src/engine/schematic_spec.ts +++ b/packages/angular_devkit/schematics/src/engine/schematic_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/exception/exception.ts b/packages/angular_devkit/schematics/src/exception/exception.ts index f7f419bfc145..191122ac4e2a 100644 --- a/packages/angular_devkit/schematics/src/exception/exception.ts +++ b/packages/angular_devkit/schematics/src/exception/exception.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/format-validator.ts b/packages/angular_devkit/schematics/src/formats/format-validator.ts index 863a5b3e214a..d9881e2b420c 100644 --- a/packages/angular_devkit/schematics/src/formats/format-validator.ts +++ b/packages/angular_devkit/schematics/src/formats/format-validator.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/html-selector.ts b/packages/angular_devkit/schematics/src/formats/html-selector.ts index b048482d2eb7..506c20078869 100644 --- a/packages/angular_devkit/schematics/src/formats/html-selector.ts +++ b/packages/angular_devkit/schematics/src/formats/html-selector.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/html-selector_spec.ts b/packages/angular_devkit/schematics/src/formats/html-selector_spec.ts index 411d1df67df9..c39195edd3e2 100644 --- a/packages/angular_devkit/schematics/src/formats/html-selector_spec.ts +++ b/packages/angular_devkit/schematics/src/formats/html-selector_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/index.ts b/packages/angular_devkit/schematics/src/formats/index.ts index 2cfab19db670..4586e1b54c86 100644 --- a/packages/angular_devkit/schematics/src/formats/index.ts +++ b/packages/angular_devkit/schematics/src/formats/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/path.ts b/packages/angular_devkit/schematics/src/formats/path.ts index 0c854957f15a..c804a1540dea 100644 --- a/packages/angular_devkit/schematics/src/formats/path.ts +++ b/packages/angular_devkit/schematics/src/formats/path.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/formats/path_spec.ts b/packages/angular_devkit/schematics/src/formats/path_spec.ts index 24901f08a72f..e0e923716dbb 100644 --- a/packages/angular_devkit/schematics/src/formats/path_spec.ts +++ b/packages/angular_devkit/schematics/src/formats/path_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/index.ts b/packages/angular_devkit/schematics/src/index.ts index d0951eb363ad..acb6f8aaa91a 100644 --- a/packages/angular_devkit/schematics/src/index.ts +++ b/packages/angular_devkit/schematics/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/base.ts b/packages/angular_devkit/schematics/src/rules/base.ts index d5c390026145..c5236461203d 100644 --- a/packages/angular_devkit/schematics/src/rules/base.ts +++ b/packages/angular_devkit/schematics/src/rules/base.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/base_spec.ts b/packages/angular_devkit/schematics/src/rules/base_spec.ts index 3f199ab9dbef..e414cf8ec0ad 100644 --- a/packages/angular_devkit/schematics/src/rules/base_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/base_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/call.ts b/packages/angular_devkit/schematics/src/rules/call.ts index a9f2762e3c96..9927c8cdcab5 100644 --- a/packages/angular_devkit/schematics/src/rules/call.ts +++ b/packages/angular_devkit/schematics/src/rules/call.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/call_spec.ts b/packages/angular_devkit/schematics/src/rules/call_spec.ts index b4ec2d4b43e5..a6a320aff257 100644 --- a/packages/angular_devkit/schematics/src/rules/call_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/call_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/move.ts b/packages/angular_devkit/schematics/src/rules/move.ts index 211d00f01837..11245bffbd69 100644 --- a/packages/angular_devkit/schematics/src/rules/move.ts +++ b/packages/angular_devkit/schematics/src/rules/move.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/move_spec.ts b/packages/angular_devkit/schematics/src/rules/move_spec.ts index 96bfcc896331..596b8cc11348 100644 --- a/packages/angular_devkit/schematics/src/rules/move_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/move_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/random.ts b/packages/angular_devkit/schematics/src/rules/random.ts index a2575f57a5b0..d4971b155041 100644 --- a/packages/angular_devkit/schematics/src/rules/random.ts +++ b/packages/angular_devkit/schematics/src/rules/random.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/rename.ts b/packages/angular_devkit/schematics/src/rules/rename.ts index 2405d5302273..06b3b09fd786 100644 --- a/packages/angular_devkit/schematics/src/rules/rename.ts +++ b/packages/angular_devkit/schematics/src/rules/rename.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/rename_spec.ts b/packages/angular_devkit/schematics/src/rules/rename_spec.ts index c9fdda3cdd4a..e2c7f027e001 100644 --- a/packages/angular_devkit/schematics/src/rules/rename_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/rename_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/schematic.ts b/packages/angular_devkit/schematics/src/rules/schematic.ts index 22002c131ff6..86220ab39e27 100644 --- a/packages/angular_devkit/schematics/src/rules/schematic.ts +++ b/packages/angular_devkit/schematics/src/rules/schematic.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/template.ts b/packages/angular_devkit/schematics/src/rules/template.ts index 5b34acf90444..173e2b089f76 100644 --- a/packages/angular_devkit/schematics/src/rules/template.ts +++ b/packages/angular_devkit/schematics/src/rules/template.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/template_spec.ts b/packages/angular_devkit/schematics/src/rules/template_spec.ts index 56e99f9a90dd..63df3ef7bab9 100644 --- a/packages/angular_devkit/schematics/src/rules/template_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/template_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/rules/url.ts b/packages/angular_devkit/schematics/src/rules/url.ts index 027bf62a4f90..1d6e96ae6224 100644 --- a/packages/angular_devkit/schematics/src/rules/url.ts +++ b/packages/angular_devkit/schematics/src/rules/url.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/sink/dryrun.ts b/packages/angular_devkit/schematics/src/sink/dryrun.ts index b17ddff12aa9..e99b9f04673a 100644 --- a/packages/angular_devkit/schematics/src/sink/dryrun.ts +++ b/packages/angular_devkit/schematics/src/sink/dryrun.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts index 9f624137865e..a297d19c874e 100644 --- a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts +++ b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/sink/host.ts b/packages/angular_devkit/schematics/src/sink/host.ts index aa498ea2a60a..edf51e40fc90 100644 --- a/packages/angular_devkit/schematics/src/sink/host.ts +++ b/packages/angular_devkit/schematics/src/sink/host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/sink/host_spec.ts b/packages/angular_devkit/schematics/src/sink/host_spec.ts index 8ad2ef8c8cbb..9694d5a002ae 100644 --- a/packages/angular_devkit/schematics/src/sink/host_spec.ts +++ b/packages/angular_devkit/schematics/src/sink/host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/sink/sink.ts b/packages/angular_devkit/schematics/src/sink/sink.ts index fe0c2d5adff6..eea80de2fab8 100644 --- a/packages/angular_devkit/schematics/src/sink/sink.ts +++ b/packages/angular_devkit/schematics/src/sink/sink.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/action.ts b/packages/angular_devkit/schematics/src/tree/action.ts index 30dace1305db..61839a916325 100644 --- a/packages/angular_devkit/schematics/src/tree/action.ts +++ b/packages/angular_devkit/schematics/src/tree/action.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/action_spec.ts b/packages/angular_devkit/schematics/src/tree/action_spec.ts index 20c76278a026..155308aa8503 100644 --- a/packages/angular_devkit/schematics/src/tree/action_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/action_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/common_spec.ts b/packages/angular_devkit/schematics/src/tree/common_spec.ts index 141a744a24a6..13f5bc1bfa7b 100644 --- a/packages/angular_devkit/schematics/src/tree/common_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/common_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/delegate.ts b/packages/angular_devkit/schematics/src/tree/delegate.ts index 5e51ac7b1547..a7514cb8fd83 100644 --- a/packages/angular_devkit/schematics/src/tree/delegate.ts +++ b/packages/angular_devkit/schematics/src/tree/delegate.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/empty.ts b/packages/angular_devkit/schematics/src/tree/empty.ts index 04f598841368..1447855c3fe2 100644 --- a/packages/angular_devkit/schematics/src/tree/empty.ts +++ b/packages/angular_devkit/schematics/src/tree/empty.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/entry.ts b/packages/angular_devkit/schematics/src/tree/entry.ts index a4dd2c02d723..d37077d41657 100644 --- a/packages/angular_devkit/schematics/src/tree/entry.ts +++ b/packages/angular_devkit/schematics/src/tree/entry.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/host-tree.ts b/packages/angular_devkit/schematics/src/tree/host-tree.ts index f6cd47f88850..ef897fa93a68 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts index a6d0c6c231cf..f66e918eba52 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/interface.ts b/packages/angular_devkit/schematics/src/tree/interface.ts index df763916b351..5895e89101b6 100644 --- a/packages/angular_devkit/schematics/src/tree/interface.ts +++ b/packages/angular_devkit/schematics/src/tree/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/null.ts b/packages/angular_devkit/schematics/src/tree/null.ts index cd0a9ba535d4..ae4243baa809 100644 --- a/packages/angular_devkit/schematics/src/tree/null.ts +++ b/packages/angular_devkit/schematics/src/tree/null.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/recorder.ts b/packages/angular_devkit/schematics/src/tree/recorder.ts index 8b18b8182e55..a01d0830357e 100644 --- a/packages/angular_devkit/schematics/src/tree/recorder.ts +++ b/packages/angular_devkit/schematics/src/tree/recorder.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts index 0840191ceb1c..c16b32182ad2 100644 --- a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/scoped.ts b/packages/angular_devkit/schematics/src/tree/scoped.ts index e503d76878f1..8fdcaaf71d1e 100644 --- a/packages/angular_devkit/schematics/src/tree/scoped.ts +++ b/packages/angular_devkit/schematics/src/tree/scoped.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/scoped_spec.ts b/packages/angular_devkit/schematics/src/tree/scoped_spec.ts index 35fb3ae3a83e..e6272606e3db 100644 --- a/packages/angular_devkit/schematics/src/tree/scoped_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/scoped_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/tree/static.ts b/packages/angular_devkit/schematics/src/tree/static.ts index 516169abee24..72852cc062c0 100644 --- a/packages/angular_devkit/schematics/src/tree/static.ts +++ b/packages/angular_devkit/schematics/src/tree/static.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/utility/linked-list.ts b/packages/angular_devkit/schematics/src/utility/linked-list.ts index 39b57a4a69ab..1b8a6ff39593 100644 --- a/packages/angular_devkit/schematics/src/utility/linked-list.ts +++ b/packages/angular_devkit/schematics/src/utility/linked-list.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer.ts b/packages/angular_devkit/schematics/src/utility/update-buffer.ts index 4389f8ab2471..b7eade1c0242 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts index 64e650feeb29..cd0ec2f924ef 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/workflow/base.ts b/packages/angular_devkit/schematics/src/workflow/base.ts index 54d58d00e08f..5ff40f58cd77 100644 --- a/packages/angular_devkit/schematics/src/workflow/base.ts +++ b/packages/angular_devkit/schematics/src/workflow/base.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/workflow/index.ts b/packages/angular_devkit/schematics/src/workflow/index.ts index bec7bf5d64d4..3abed265b609 100644 --- a/packages/angular_devkit/schematics/src/workflow/index.ts +++ b/packages/angular_devkit/schematics/src/workflow/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/src/workflow/interface.ts b/packages/angular_devkit/schematics/src/workflow/interface.ts index 01de696707ce..d40560ae3d89 100644 --- a/packages/angular_devkit/schematics/src/workflow/interface.ts +++ b/packages/angular_devkit/schematics/src/workflow/interface.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/index.ts b/packages/angular_devkit/schematics/tasks/index.ts index 893b35b83e4a..9e41b28127ae 100644 --- a/packages/angular_devkit/schematics/tasks/index.ts +++ b/packages/angular_devkit/schematics/tasks/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/node/index.ts b/packages/angular_devkit/schematics/tasks/node/index.ts index d711d291803b..a712d36b5ea6 100644 --- a/packages/angular_devkit/schematics/tasks/node/index.ts +++ b/packages/angular_devkit/schematics/tasks/node/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts index a7237b529648..83edf99fc67f 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/package-manager/install-task.ts b/packages/angular_devkit/schematics/tasks/package-manager/install-task.ts index 028e6da74f9a..b94ee64e65cb 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/install-task.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/install-task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/package-manager/link-task.ts b/packages/angular_devkit/schematics/tasks/package-manager/link-task.ts index 900a47f9ff20..b28fa3188b45 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/link-task.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/link-task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/package-manager/options.ts b/packages/angular_devkit/schematics/tasks/package-manager/options.ts index e9a665424d90..4864730dcce3 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/options.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/repo-init/executor.ts b/packages/angular_devkit/schematics/tasks/repo-init/executor.ts index de1ef00933f2..98cfc45f038d 100644 --- a/packages/angular_devkit/schematics/tasks/repo-init/executor.ts +++ b/packages/angular_devkit/schematics/tasks/repo-init/executor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/repo-init/init-task.ts b/packages/angular_devkit/schematics/tasks/repo-init/init-task.ts index df2a2888d4bd..882fc1910863 100644 --- a/packages/angular_devkit/schematics/tasks/repo-init/init-task.ts +++ b/packages/angular_devkit/schematics/tasks/repo-init/init-task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/repo-init/options.ts b/packages/angular_devkit/schematics/tasks/repo-init/options.ts index 8153764058f8..3654a1aef7d2 100644 --- a/packages/angular_devkit/schematics/tasks/repo-init/options.ts +++ b/packages/angular_devkit/schematics/tasks/repo-init/options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/run-schematic/executor.ts b/packages/angular_devkit/schematics/tasks/run-schematic/executor.ts index 4aae9a071c8e..4b552aeb0d86 100644 --- a/packages/angular_devkit/schematics/tasks/run-schematic/executor.ts +++ b/packages/angular_devkit/schematics/tasks/run-schematic/executor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/run-schematic/options.ts b/packages/angular_devkit/schematics/tasks/run-schematic/options.ts index a7d90f632755..9eec38b0e27d 100644 --- a/packages/angular_devkit/schematics/tasks/run-schematic/options.ts +++ b/packages/angular_devkit/schematics/tasks/run-schematic/options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/run-schematic/task.ts b/packages/angular_devkit/schematics/tasks/run-schematic/task.ts index b8f17d307802..38e7bbcee5e2 100644 --- a/packages/angular_devkit/schematics/tasks/run-schematic/task.ts +++ b/packages/angular_devkit/schematics/tasks/run-schematic/task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/executor.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/executor.ts index 793b19a5756f..8294cb239ec7 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/executor.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/executor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/executor_spec.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/executor_spec.ts index a25497ec6a50..05c6348c9f1c 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/executor_spec.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/executor_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/options.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/options.ts index 5071dc305c8e..9dd50ebc1770 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/options.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/task.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/task.ts index 12ad5c4e1e20..72d17206e14a 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/task.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/test/custom-rule.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/test/custom-rule.ts index d8c233911864..560a7c5d3113 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/test/custom-rule.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/test/custom-rule.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/test/rules/customRuleRule.js b/packages/angular_devkit/schematics/tasks/tslint-fix/test/rules/customRuleRule.js index 68c4882e0f5a..b7daabdd10cb 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/test/rules/customRuleRule.js +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/test/rules/customRuleRule.js @@ -1,7 +1,7 @@ "use strict"; /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tasks/tslint-fix/test/run-task.ts b/packages/angular_devkit/schematics/tasks/tslint-fix/test/run-task.ts index 571c08d978e3..7d62d8041887 100644 --- a/packages/angular_devkit/schematics/tasks/tslint-fix/test/run-task.ts +++ b/packages/angular_devkit/schematics/tasks/tslint-fix/test/run-task.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/testing/index.ts b/packages/angular_devkit/schematics/testing/index.ts index 05ba43117ca3..3c315c83bbbf 100644 --- a/packages/angular_devkit/schematics/testing/index.ts +++ b/packages/angular_devkit/schematics/testing/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts index bae056e799f4..a5c21fafc188 100644 --- a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts +++ b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/description.ts b/packages/angular_devkit/schematics/tools/description.ts index 52ee09d13f7c..02d8d21cc64c 100644 --- a/packages/angular_devkit/schematics/tools/description.ts +++ b/packages/angular_devkit/schematics/tools/description.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/export-ref.ts b/packages/angular_devkit/schematics/tools/export-ref.ts index a4bf7b89e759..3318f4109946 100644 --- a/packages/angular_devkit/schematics/tools/export-ref.ts +++ b/packages/angular_devkit/schematics/tools/export-ref.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/export-ref_spec.ts b/packages/angular_devkit/schematics/tools/export-ref_spec.ts index 782464c65cce..8a7022181435 100644 --- a/packages/angular_devkit/schematics/tools/export-ref_spec.ts +++ b/packages/angular_devkit/schematics/tools/export-ref_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/fallback-engine-host.ts b/packages/angular_devkit/schematics/tools/fallback-engine-host.ts index d6d0c61eeb22..3e516dd6a54b 100644 --- a/packages/angular_devkit/schematics/tools/fallback-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/fallback-engine-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index bae042aa74d8..c49a24fcef46 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host.ts index 3b200afe7a05..6daa5ebccfc6 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts index 905525e2aa79..c1afc276dfc8 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/file-system-utility.ts b/packages/angular_devkit/schematics/tools/file-system-utility.ts index 06784b347254..bde14f3fa303 100644 --- a/packages/angular_devkit/schematics/tools/file-system-utility.ts +++ b/packages/angular_devkit/schematics/tools/file-system-utility.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/index.ts b/packages/angular_devkit/schematics/tools/index.ts index 97c7b85d7338..2521569485c4 100644 --- a/packages/angular_devkit/schematics/tools/index.ts +++ b/packages/angular_devkit/schematics/tools/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts index df203880699c..f5b2d2d5fec3 100644 --- a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/node-module-engine-host_spec.ts b/packages/angular_devkit/schematics/tools/node-module-engine-host_spec.ts index 7e02d9ff585e..0e2d0be19ade 100644 --- a/packages/angular_devkit/schematics/tools/node-module-engine-host_spec.ts +++ b/packages/angular_devkit/schematics/tools/node-module-engine-host_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/node-modules-test-engine-host.ts b/packages/angular_devkit/schematics/tools/node-modules-test-engine-host.ts index a2b336695287..a7e421c97cab 100644 --- a/packages/angular_devkit/schematics/tools/node-modules-test-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/node-modules-test-engine-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/schema-option-transform.ts b/packages/angular_devkit/schematics/tools/schema-option-transform.ts index 1c7491ecb60a..0a5b6345840f 100644 --- a/packages/angular_devkit/schematics/tools/schema-option-transform.ts +++ b/packages/angular_devkit/schematics/tools/schema-option-transform.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts index 8f20d6ccd71f..825bb725165e 100644 --- a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts +++ b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics/tools/workflow/node-workflow_spec.ts b/packages/angular_devkit/schematics/tools/workflow/node-workflow_spec.ts index df2af3c9d94c..539e24ee9fce 100644 --- a/packages/angular_devkit/schematics/tools/workflow/node-workflow_spec.ts +++ b/packages/angular_devkit/schematics/tools/workflow/node-workflow_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 13433a699d8a..9b4f8098d1c7 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts b/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts index 1955aac0777f..3c71096915c6 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/angular_compiler_plugin.ts b/packages/ngtools/webpack/src/angular_compiler_plugin.ts index 87b971432ec8..31df7666e6e1 100644 --- a/packages/ngtools/webpack/src/angular_compiler_plugin.ts +++ b/packages/ngtools/webpack/src/angular_compiler_plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/benchmark.ts b/packages/ngtools/webpack/src/benchmark.ts index b54f5d39f5fb..5b7528a7e0fd 100644 --- a/packages/ngtools/webpack/src/benchmark.ts +++ b/packages/ngtools/webpack/src/benchmark.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/compiler_host.ts b/packages/ngtools/webpack/src/compiler_host.ts index 302670628b79..5be172ff7268 100644 --- a/packages/ngtools/webpack/src/compiler_host.ts +++ b/packages/ngtools/webpack/src/compiler_host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/diagnostics.ts b/packages/ngtools/webpack/src/diagnostics.ts index 674aecb7a657..3104fdb5a84c 100644 --- a/packages/ngtools/webpack/src/diagnostics.ts +++ b/packages/ngtools/webpack/src/diagnostics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/entry_resolver.ts b/packages/ngtools/webpack/src/entry_resolver.ts index 0f0fa51051a9..cfbd81863dac 100644 --- a/packages/ngtools/webpack/src/entry_resolver.ts +++ b/packages/ngtools/webpack/src/entry_resolver.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/index.ts b/packages/ngtools/webpack/src/index.ts index 35de314a7db3..be4850ac5a41 100644 --- a/packages/ngtools/webpack/src/index.ts +++ b/packages/ngtools/webpack/src/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/interfaces.ts b/packages/ngtools/webpack/src/interfaces.ts index 956220b95e6a..3bb9dddedb97 100644 --- a/packages/ngtools/webpack/src/interfaces.ts +++ b/packages/ngtools/webpack/src/interfaces.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/cache.ts b/packages/ngtools/webpack/src/ivy/cache.ts index f4fddc179116..f9dee8f553d1 100644 --- a/packages/ngtools/webpack/src/ivy/cache.ts +++ b/packages/ngtools/webpack/src/ivy/cache.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/diagnostics.ts b/packages/ngtools/webpack/src/ivy/diagnostics.ts index 4ddd0b739ba9..4367fc4a7c39 100644 --- a/packages/ngtools/webpack/src/ivy/diagnostics.ts +++ b/packages/ngtools/webpack/src/ivy/diagnostics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/host.ts b/packages/ngtools/webpack/src/ivy/host.ts index 97b4b142fc1a..8685ff88e24e 100644 --- a/packages/ngtools/webpack/src/ivy/host.ts +++ b/packages/ngtools/webpack/src/ivy/host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/index.ts b/packages/ngtools/webpack/src/ivy/index.ts index b5e2985745ad..54e16b32f125 100644 --- a/packages/ngtools/webpack/src/ivy/index.ts +++ b/packages/ngtools/webpack/src/ivy/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/loader.ts b/packages/ngtools/webpack/src/ivy/loader.ts index 5b4a7a513f04..28eaa423db8c 100644 --- a/packages/ngtools/webpack/src/ivy/loader.ts +++ b/packages/ngtools/webpack/src/ivy/loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/paths.ts b/packages/ngtools/webpack/src/ivy/paths.ts index ff3b9e1b2800..52a69db43657 100644 --- a/packages/ngtools/webpack/src/ivy/paths.ts +++ b/packages/ngtools/webpack/src/ivy/paths.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index 9929d66e4922..fdbd755edd4e 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/symbol.ts b/packages/ngtools/webpack/src/ivy/symbol.ts index 2b1f171f410e..69192af85031 100644 --- a/packages/ngtools/webpack/src/ivy/symbol.ts +++ b/packages/ngtools/webpack/src/ivy/symbol.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/system.ts b/packages/ngtools/webpack/src/ivy/system.ts index bb1f65dc2238..ede6f3af5337 100644 --- a/packages/ngtools/webpack/src/ivy/system.ts +++ b/packages/ngtools/webpack/src/ivy/system.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ivy/transformation.ts b/packages/ngtools/webpack/src/ivy/transformation.ts index 29eee28d6e3e..c59289cc6d9e 100644 --- a/packages/ngtools/webpack/src/ivy/transformation.ts +++ b/packages/ngtools/webpack/src/ivy/transformation.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/lazy_routes.ts b/packages/ngtools/webpack/src/lazy_routes.ts index a836936cf1c8..0cdf2cb6ff2a 100644 --- a/packages/ngtools/webpack/src/lazy_routes.ts +++ b/packages/ngtools/webpack/src/lazy_routes.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/loader.ts b/packages/ngtools/webpack/src/loader.ts index f3a94b41449a..c738b14eb811 100644 --- a/packages/ngtools/webpack/src/loader.ts +++ b/packages/ngtools/webpack/src/loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/ngcc_processor.ts b/packages/ngtools/webpack/src/ngcc_processor.ts index dff9419ea092..b410d20a33b3 100644 --- a/packages/ngtools/webpack/src/ngcc_processor.ts +++ b/packages/ngtools/webpack/src/ngcc_processor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/paths-plugin.ts b/packages/ngtools/webpack/src/paths-plugin.ts index 4b461cf91f1d..579a65ce488b 100644 --- a/packages/ngtools/webpack/src/paths-plugin.ts +++ b/packages/ngtools/webpack/src/paths-plugin.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/refactor.ts b/packages/ngtools/webpack/src/refactor.ts index 3aa5a6f001a0..8eea144340d3 100644 --- a/packages/ngtools/webpack/src/refactor.ts +++ b/packages/ngtools/webpack/src/refactor.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index 9e50d6caeff3..5f228e1b7094 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/ast_helpers.ts b/packages/ngtools/webpack/src/transformers/ast_helpers.ts index 75dd12d729ac..8ef1e71d453d 100644 --- a/packages/ngtools/webpack/src/transformers/ast_helpers.ts +++ b/packages/ngtools/webpack/src/transformers/ast_helpers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/elide_imports.ts b/packages/ngtools/webpack/src/transformers/elide_imports.ts index 5a1daa6292a9..2726a17be39f 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts index 997e60ec8af6..42d0810c50df 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/export_lazy_module_map.ts b/packages/ngtools/webpack/src/transformers/export_lazy_module_map.ts index 9898dc20b4a4..0cd4eee356f1 100644 --- a/packages/ngtools/webpack/src/transformers/export_lazy_module_map.ts +++ b/packages/ngtools/webpack/src/transformers/export_lazy_module_map.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/export_lazy_module_map_spec.ts b/packages/ngtools/webpack/src/transformers/export_lazy_module_map_spec.ts index f485a0a93e47..f752d0cf2781 100644 --- a/packages/ngtools/webpack/src/transformers/export_lazy_module_map_spec.ts +++ b/packages/ngtools/webpack/src/transformers/export_lazy_module_map_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/export_ngfactory.ts b/packages/ngtools/webpack/src/transformers/export_ngfactory.ts index 49627e39394f..083cfb79f671 100644 --- a/packages/ngtools/webpack/src/transformers/export_ngfactory.ts +++ b/packages/ngtools/webpack/src/transformers/export_ngfactory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/export_ngfactory_spec.ts b/packages/ngtools/webpack/src/transformers/export_ngfactory_spec.ts index 1a92d4851dac..d0f84adbc8e6 100644 --- a/packages/ngtools/webpack/src/transformers/export_ngfactory_spec.ts +++ b/packages/ngtools/webpack/src/transformers/export_ngfactory_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/find_resources.ts b/packages/ngtools/webpack/src/transformers/find_resources.ts index 11ceeb92c7fd..391f4ea1a1b1 100644 --- a/packages/ngtools/webpack/src/transformers/find_resources.ts +++ b/packages/ngtools/webpack/src/transformers/find_resources.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/find_resources_spec.ts b/packages/ngtools/webpack/src/transformers/find_resources_spec.ts index 0e0cf9cbaaa8..5dafe812d428 100644 --- a/packages/ngtools/webpack/src/transformers/find_resources_spec.ts +++ b/packages/ngtools/webpack/src/transformers/find_resources_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/import_factory.ts b/packages/ngtools/webpack/src/transformers/import_factory.ts index bef697a2ce4f..cb1c25572ea4 100644 --- a/packages/ngtools/webpack/src/transformers/import_factory.ts +++ b/packages/ngtools/webpack/src/transformers/import_factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/import_factory_spec.ts b/packages/ngtools/webpack/src/transformers/import_factory_spec.ts index 9a21797f0132..ea6bbe0b2fe1 100644 --- a/packages/ngtools/webpack/src/transformers/import_factory_spec.ts +++ b/packages/ngtools/webpack/src/transformers/import_factory_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/index.ts b/packages/ngtools/webpack/src/transformers/index.ts index 95ed09de0ce9..9b87dd36d555 100644 --- a/packages/ngtools/webpack/src/transformers/index.ts +++ b/packages/ngtools/webpack/src/transformers/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/insert_import.ts b/packages/ngtools/webpack/src/transformers/insert_import.ts index a45d98cfbaf0..79792845705f 100644 --- a/packages/ngtools/webpack/src/transformers/insert_import.ts +++ b/packages/ngtools/webpack/src/transformers/insert_import.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/interfaces.ts b/packages/ngtools/webpack/src/transformers/interfaces.ts index 4eb35afcae88..1b1534ba02ce 100644 --- a/packages/ngtools/webpack/src/transformers/interfaces.ts +++ b/packages/ngtools/webpack/src/transformers/interfaces.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/make_transform.ts b/packages/ngtools/webpack/src/transformers/make_transform.ts index 2541d231b4f2..c7d7c188931e 100644 --- a/packages/ngtools/webpack/src/transformers/make_transform.ts +++ b/packages/ngtools/webpack/src/transformers/make_transform.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/multiple_transformers_spec.ts b/packages/ngtools/webpack/src/transformers/multiple_transformers_spec.ts index 5f9a8a42d156..2535b82f8389 100644 --- a/packages/ngtools/webpack/src/transformers/multiple_transformers_spec.ts +++ b/packages/ngtools/webpack/src/transformers/multiple_transformers_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/register_locale_data.ts b/packages/ngtools/webpack/src/transformers/register_locale_data.ts index c7479f7fbe0a..91d2e2331c09 100644 --- a/packages/ngtools/webpack/src/transformers/register_locale_data.ts +++ b/packages/ngtools/webpack/src/transformers/register_locale_data.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/register_locale_data_spec.ts b/packages/ngtools/webpack/src/transformers/register_locale_data_spec.ts index 3765bfcdb599..98d0845f5c79 100644 --- a/packages/ngtools/webpack/src/transformers/register_locale_data_spec.ts +++ b/packages/ngtools/webpack/src/transformers/register_locale_data_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls.ts b/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls.ts index 343d6e978bfa..002b41239bb8 100644 --- a/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls.ts +++ b/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls_spec.ts b/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls_spec.ts index 99145f97f53e..bd74983c39e5 100644 --- a/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls_spec.ts +++ b/packages/ngtools/webpack/src/transformers/remove-ivy-jit-support-calls_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/remove_decorators.ts b/packages/ngtools/webpack/src/transformers/remove_decorators.ts index 7c0c72bdaf7c..d5b1d0abcf4c 100644 --- a/packages/ngtools/webpack/src/transformers/remove_decorators.ts +++ b/packages/ngtools/webpack/src/transformers/remove_decorators.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/remove_decorators_spec.ts b/packages/ngtools/webpack/src/transformers/remove_decorators_spec.ts index 9cd037c23048..cc9a52e049b3 100644 --- a/packages/ngtools/webpack/src/transformers/remove_decorators_spec.ts +++ b/packages/ngtools/webpack/src/transformers/remove_decorators_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_bootstrap.ts b/packages/ngtools/webpack/src/transformers/replace_bootstrap.ts index 23db9e237c61..d524f90e2fcb 100644 --- a/packages/ngtools/webpack/src/transformers/replace_bootstrap.ts +++ b/packages/ngtools/webpack/src/transformers/replace_bootstrap.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_bootstrap_spec.ts b/packages/ngtools/webpack/src/transformers/replace_bootstrap_spec.ts index 2a9afa19952c..481232c5ea1a 100644 --- a/packages/ngtools/webpack/src/transformers/replace_bootstrap_spec.ts +++ b/packages/ngtools/webpack/src/transformers/replace_bootstrap_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_resources.ts b/packages/ngtools/webpack/src/transformers/replace_resources.ts index 80ec4b146374..98bae4ae1190 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts b/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts index c07660351a15..b157019693ba 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_server_bootstrap.ts b/packages/ngtools/webpack/src/transformers/replace_server_bootstrap.ts index 910775cf1dff..cfdb944c5710 100644 --- a/packages/ngtools/webpack/src/transformers/replace_server_bootstrap.ts +++ b/packages/ngtools/webpack/src/transformers/replace_server_bootstrap.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/replace_server_bootstrap_spec.ts b/packages/ngtools/webpack/src/transformers/replace_server_bootstrap_spec.ts index bd7b51fdcc9d..0ddb849bccfd 100644 --- a/packages/ngtools/webpack/src/transformers/replace_server_bootstrap_spec.ts +++ b/packages/ngtools/webpack/src/transformers/replace_server_bootstrap_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/transformers/spec_helpers.ts b/packages/ngtools/webpack/src/transformers/spec_helpers.ts index e4e7ca04f3b4..40711899b962 100644 --- a/packages/ngtools/webpack/src/transformers/spec_helpers.ts +++ b/packages/ngtools/webpack/src/transformers/spec_helpers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/type_checker.ts b/packages/ngtools/webpack/src/type_checker.ts index ea50676bc10c..afc448483f08 100644 --- a/packages/ngtools/webpack/src/type_checker.ts +++ b/packages/ngtools/webpack/src/type_checker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/type_checker_bootstrap.js b/packages/ngtools/webpack/src/type_checker_bootstrap.js index da95c57aaca5..006b4478c740 100644 --- a/packages/ngtools/webpack/src/type_checker_bootstrap.js +++ b/packages/ngtools/webpack/src/type_checker_bootstrap.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/type_checker_messages.ts b/packages/ngtools/webpack/src/type_checker_messages.ts index d42c0492d6c0..670985fc7f74 100644 --- a/packages/ngtools/webpack/src/type_checker_messages.ts +++ b/packages/ngtools/webpack/src/type_checker_messages.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/type_checker_worker.ts b/packages/ngtools/webpack/src/type_checker_worker.ts index 488f34b24e84..6036d098a0bd 100644 --- a/packages/ngtools/webpack/src/type_checker_worker.ts +++ b/packages/ngtools/webpack/src/type_checker_worker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/utils.ts b/packages/ngtools/webpack/src/utils.ts index 3b21d591ed36..17f121c261ac 100644 --- a/packages/ngtools/webpack/src/utils.ts +++ b/packages/ngtools/webpack/src/utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/utils_spec.ts b/packages/ngtools/webpack/src/utils_spec.ts index 6da7940a0eb7..70a02669cb7d 100644 --- a/packages/ngtools/webpack/src/utils_spec.ts +++ b/packages/ngtools/webpack/src/utils_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/virtual_file_system_decorator.ts b/packages/ngtools/webpack/src/virtual_file_system_decorator.ts index 65ad145b3c5a..ec413cd558b2 100644 --- a/packages/ngtools/webpack/src/virtual_file_system_decorator.ts +++ b/packages/ngtools/webpack/src/virtual_file_system_decorator.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/webpack-diagnostics.ts b/packages/ngtools/webpack/src/webpack-diagnostics.ts index d7ea3b4c44d6..43897ba03c0a 100644 --- a/packages/ngtools/webpack/src/webpack-diagnostics.ts +++ b/packages/ngtools/webpack/src/webpack-diagnostics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/webpack-input-host.ts b/packages/ngtools/webpack/src/webpack-input-host.ts index 9fb36a0be029..f3ee4d22022a 100644 --- a/packages/ngtools/webpack/src/webpack-input-host.ts +++ b/packages/ngtools/webpack/src/webpack-input-host.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/webpack-version.ts b/packages/ngtools/webpack/src/webpack-version.ts index db2760083367..46a602b7c1af 100644 --- a/packages/ngtools/webpack/src/webpack-version.ts +++ b/packages/ngtools/webpack/src/webpack-version.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/ngtools/webpack/src/webpack.ts b/packages/ngtools/webpack/src/webpack.ts index 547ded545824..1e716660bf2e 100644 --- a/packages/ngtools/webpack/src/webpack.ts +++ b/packages/ngtools/webpack/src/webpack.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/app-shell/index.ts b/packages/schematics/angular/app-shell/index.ts index 5afa57a707ad..fc13fed3c0bb 100644 --- a/packages/schematics/angular/app-shell/index.ts +++ b/packages/schematics/angular/app-shell/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/app-shell/index_spec.ts b/packages/schematics/angular/app-shell/index_spec.ts index 16c7d3e756ec..2049c2c8147c 100644 --- a/packages/schematics/angular/app-shell/index_spec.ts +++ b/packages/schematics/angular/app-shell/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 93053a0e6086..8ba5d17f3bb2 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index c4da27dba88a..1b66324c4430 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/class/index.ts b/packages/schematics/angular/class/index.ts index d01184b655a8..5db79902d35a 100644 --- a/packages/schematics/angular/class/index.ts +++ b/packages/schematics/angular/class/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/class/index_spec.ts b/packages/schematics/angular/class/index_spec.ts index 674d083d759d..878c4f419884 100644 --- a/packages/schematics/angular/class/index_spec.ts +++ b/packages/schematics/angular/class/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/component/index.ts b/packages/schematics/angular/component/index.ts index b6220a803e25..84a5ac04b963 100644 --- a/packages/schematics/angular/component/index.ts +++ b/packages/schematics/angular/component/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index 3cfd659fd329..819d9401dde7 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/directive/index.ts b/packages/schematics/angular/directive/index.ts index 056455fb6b3b..a8a859a8208a 100644 --- a/packages/schematics/angular/directive/index.ts +++ b/packages/schematics/angular/directive/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/directive/index_spec.ts b/packages/schematics/angular/directive/index_spec.ts index b77e976340a1..add3a43b38d4 100644 --- a/packages/schematics/angular/directive/index_spec.ts +++ b/packages/schematics/angular/directive/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index 2e6f56bb78e5..57e961be4058 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/e2e/index_spec.ts b/packages/schematics/angular/e2e/index_spec.ts index fb63f66adea4..0e5738991c2f 100644 --- a/packages/schematics/angular/e2e/index_spec.ts +++ b/packages/schematics/angular/e2e/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/enum/index.ts b/packages/schematics/angular/enum/index.ts index 6219358cba41..8f8bbc87a781 100644 --- a/packages/schematics/angular/enum/index.ts +++ b/packages/schematics/angular/enum/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/enum/index_spec.ts b/packages/schematics/angular/enum/index_spec.ts index a6992409f914..fcc8632adacb 100644 --- a/packages/schematics/angular/enum/index_spec.ts +++ b/packages/schematics/angular/enum/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/guard/index.ts b/packages/schematics/angular/guard/index.ts index 6f82bac6600c..87f1d007acb8 100644 --- a/packages/schematics/angular/guard/index.ts +++ b/packages/schematics/angular/guard/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index 01740b088f1f..b06758c00b36 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/interceptor/index.ts b/packages/schematics/angular/interceptor/index.ts index 3aa33e65f589..e796c8f58424 100755 --- a/packages/schematics/angular/interceptor/index.ts +++ b/packages/schematics/angular/interceptor/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/interceptor/index_spec.ts b/packages/schematics/angular/interceptor/index_spec.ts index f0eba471aa8d..6fd3c70892df 100755 --- a/packages/schematics/angular/interceptor/index_spec.ts +++ b/packages/schematics/angular/interceptor/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/interface/index.ts b/packages/schematics/angular/interface/index.ts index 7e06cfc17ab7..06cc6cafacfc 100644 --- a/packages/schematics/angular/interface/index.ts +++ b/packages/schematics/angular/interface/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/interface/index_spec.ts b/packages/schematics/angular/interface/index_spec.ts index eac43cca3cae..45748dc02079 100644 --- a/packages/schematics/angular/interface/index_spec.ts +++ b/packages/schematics/angular/interface/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 6e1bc5ebabe4..f2bfd492fdd5 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index e92194858a77..be71b40d98f0 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint.ts b/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint.ts index 71e5bafeb136..64364ab80d34 100644 --- a/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint.ts +++ b/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint_spec.ts b/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint_spec.ts index f32c800c6c68..f4492d6d9575 100644 --- a/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint_spec.ts +++ b/packages/schematics/angular/migrations/update-10/add-deprecation-rule-tslint_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/remove-es5-browser-support.ts b/packages/schematics/angular/migrations/update-10/remove-es5-browser-support.ts index e3c594137657..8a7ab6e09013 100644 --- a/packages/schematics/angular/migrations/update-10/remove-es5-browser-support.ts +++ b/packages/schematics/angular/migrations/update-10/remove-es5-browser-support.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/remove-es5-browser-support_spec.ts b/packages/schematics/angular/migrations/update-10/remove-es5-browser-support_spec.ts index 5989b07140d5..34b0dc66ad9a 100644 --- a/packages/schematics/angular/migrations/update-10/remove-es5-browser-support_spec.ts +++ b/packages/schematics/angular/migrations/update-10/remove-es5-browser-support_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig.ts b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig.ts index 69c05a6fe9ee..90ee17ed201e 100644 --- a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig.ts +++ b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts index f431127bf48b..5fecdb92d9f8 100644 --- a/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts +++ b/packages/schematics/angular/migrations/update-10/remove-solution-style-tsconfig_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/rename-browserslist-config.ts b/packages/schematics/angular/migrations/update-10/rename-browserslist-config.ts index e6ef2630927e..6001f8dfd8d5 100644 --- a/packages/schematics/angular/migrations/update-10/rename-browserslist-config.ts +++ b/packages/schematics/angular/migrations/update-10/rename-browserslist-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/rename-browserslist-config_spec.ts b/packages/schematics/angular/migrations/update-10/rename-browserslist-config_spec.ts index 7162b1921032..226f426a0fcc 100644 --- a/packages/schematics/angular/migrations/update-10/rename-browserslist-config_spec.ts +++ b/packages/schematics/angular/migrations/update-10/rename-browserslist-config_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-angular-config.ts b/packages/schematics/angular/migrations/update-10/update-angular-config.ts index c64101afdc1c..970ff367e8f6 100644 --- a/packages/schematics/angular/migrations/update-10/update-angular-config.ts +++ b/packages/schematics/angular/migrations/update-10/update-angular-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-angular-config_spec.ts b/packages/schematics/angular/migrations/update-10/update-angular-config_spec.ts index 15ca9df73121..61fda51aa245 100644 --- a/packages/schematics/angular/migrations/update-10/update-angular-config_spec.ts +++ b/packages/schematics/angular/migrations/update-10/update-angular-config_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-dependencies.ts b/packages/schematics/angular/migrations/update-10/update-dependencies.ts index 6c0529f694b6..c690ddc42814 100644 --- a/packages/schematics/angular/migrations/update-10/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-10/update-dependencies.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-libraries-tslib.ts b/packages/schematics/angular/migrations/update-10/update-libraries-tslib.ts index 510fa9e87044..157eefb99cbd 100644 --- a/packages/schematics/angular/migrations/update-10/update-libraries-tslib.ts +++ b/packages/schematics/angular/migrations/update-10/update-libraries-tslib.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-libraries-tslib_spec.ts b/packages/schematics/angular/migrations/update-10/update-libraries-tslib_spec.ts index 53dd1bb37ec8..816605c0364d 100644 --- a/packages/schematics/angular/migrations/update-10/update-libraries-tslib_spec.ts +++ b/packages/schematics/angular/migrations/update-10/update-libraries-tslib_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options.ts b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options.ts index 1680dbf50a9b..29e1b2974450 100644 --- a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options.ts +++ b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts index a0a979d3df04..2c9a2f524875 100644 --- a/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts +++ b/packages/schematics/angular/migrations/update-10/update-module-and-target-compiler-options_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-tslint.ts b/packages/schematics/angular/migrations/update-10/update-tslint.ts index 23a77a3e2089..94c4ff0be821 100644 --- a/packages/schematics/angular/migrations/update-10/update-tslint.ts +++ b/packages/schematics/angular/migrations/update-10/update-tslint.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-10/update-tslint_spec.ts b/packages/schematics/angular/migrations/update-10/update-tslint_spec.ts index c97aa2533041..fe958843b3c3 100644 --- a/packages/schematics/angular/migrations/update-10/update-tslint_spec.ts +++ b/packages/schematics/angular/migrations/update-10/update-tslint_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option.ts b/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option.ts index c922087df8d9..d43c3ad569ed 100644 --- a/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option.ts +++ b/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option_spec.ts b/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option_spec.ts index e001f9c43f22..09b1f90a6c30 100644 --- a/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option_spec.ts +++ b/packages/schematics/angular/migrations/update-11/add-declaration-map-compiler-option_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder.ts b/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder.ts index 2117252a1b62..5204e46cd4c2 100644 --- a/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder.ts +++ b/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder_spec.ts b/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder_spec.ts index fa1560a993a4..6d770b5f780c 100644 --- a/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder_spec.ts +++ b/packages/schematics/angular/migrations/update-11/replace-ng-packagr-builder_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/update-angular-config.ts b/packages/schematics/angular/migrations/update-11/update-angular-config.ts index 005ed5ec706c..99c7c9e19f06 100644 --- a/packages/schematics/angular/migrations/update-11/update-angular-config.ts +++ b/packages/schematics/angular/migrations/update-11/update-angular-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/update-angular-config_spec.ts b/packages/schematics/angular/migrations/update-11/update-angular-config_spec.ts index 8d25c2f90186..9f6ec3f7e675 100644 --- a/packages/schematics/angular/migrations/update-11/update-angular-config_spec.ts +++ b/packages/schematics/angular/migrations/update-11/update-angular-config_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-11/update-dependencies.ts b/packages/schematics/angular/migrations/update-11/update-dependencies.ts index 1ad1d5c6b9e4..580f8e7decd4 100644 --- a/packages/schematics/angular/migrations/update-11/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-11/update-dependencies.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-6/config.ts b/packages/schematics/angular/migrations/update-6/config.ts index c4d16d0ce0fa..240382d8e00f 100644 --- a/packages/schematics/angular/migrations/update-6/config.ts +++ b/packages/schematics/angular/migrations/update-6/config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-6/index.ts b/packages/schematics/angular/migrations/update-6/index.ts index 4e85fa9d3681..a0d517bdc46f 100644 --- a/packages/schematics/angular/migrations/update-6/index.ts +++ b/packages/schematics/angular/migrations/update-6/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-6/index_spec.ts b/packages/schematics/angular/migrations/update-6/index_spec.ts index bd4d4532da10..fd532ce6e41d 100644 --- a/packages/schematics/angular/migrations/update-6/index_spec.ts +++ b/packages/schematics/angular/migrations/update-6/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/devkit-ng-packagr.ts b/packages/schematics/angular/migrations/update-7/devkit-ng-packagr.ts index d52aefce47d3..036fdc6fc6d8 100644 --- a/packages/schematics/angular/migrations/update-7/devkit-ng-packagr.ts +++ b/packages/schematics/angular/migrations/update-7/devkit-ng-packagr.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/devkit-ng-packagr_spec.ts b/packages/schematics/angular/migrations/update-7/devkit-ng-packagr_spec.ts index a606dfdc3725..dbcf736d8d24 100644 --- a/packages/schematics/angular/migrations/update-7/devkit-ng-packagr_spec.ts +++ b/packages/schematics/angular/migrations/update-7/devkit-ng-packagr_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/index.ts b/packages/schematics/angular/migrations/update-7/index.ts index 5359f37ef4ef..bff86c21c2ce 100644 --- a/packages/schematics/angular/migrations/update-7/index.ts +++ b/packages/schematics/angular/migrations/update-7/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/polyfill-metadata.ts b/packages/schematics/angular/migrations/update-7/polyfill-metadata.ts index 5195568b7997..d5a0d2142c31 100644 --- a/packages/schematics/angular/migrations/update-7/polyfill-metadata.ts +++ b/packages/schematics/angular/migrations/update-7/polyfill-metadata.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/polyfill-metadata_spec.ts b/packages/schematics/angular/migrations/update-7/polyfill-metadata_spec.ts index bf3c8ae80e55..b4fd9102e160 100644 --- a/packages/schematics/angular/migrations/update-7/polyfill-metadata_spec.ts +++ b/packages/schematics/angular/migrations/update-7/polyfill-metadata_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/typescript-helpers.ts b/packages/schematics/angular/migrations/update-7/typescript-helpers.ts index 6d0d9e5439be..6c13769cdf1b 100644 --- a/packages/schematics/angular/migrations/update-7/typescript-helpers.ts +++ b/packages/schematics/angular/migrations/update-7/typescript-helpers.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-7/typescript-helpers_spec.ts b/packages/schematics/angular/migrations/update-7/typescript-helpers_spec.ts index 136fa29c4628..aa1b9c06c1eb 100644 --- a/packages/schematics/angular/migrations/update-7/typescript-helpers_spec.ts +++ b/packages/schematics/angular/migrations/update-7/typescript-helpers_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/codelyzer-5.ts b/packages/schematics/angular/migrations/update-8/codelyzer-5.ts index a52bb01a8f1e..4ddf63429b69 100644 --- a/packages/schematics/angular/migrations/update-8/codelyzer-5.ts +++ b/packages/schematics/angular/migrations/update-8/codelyzer-5.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/codelyzer-5_spec.ts b/packages/schematics/angular/migrations/update-8/codelyzer-5_spec.ts index 7604ca99dc08..64819ff950e2 100644 --- a/packages/schematics/angular/migrations/update-8/codelyzer-5_spec.ts +++ b/packages/schematics/angular/migrations/update-8/codelyzer-5_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/differential-loading.ts b/packages/schematics/angular/migrations/update-8/differential-loading.ts index 4108d9df62b9..2074a3375414 100644 --- a/packages/schematics/angular/migrations/update-8/differential-loading.ts +++ b/packages/schematics/angular/migrations/update-8/differential-loading.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/differential-loading_spec.ts b/packages/schematics/angular/migrations/update-8/differential-loading_spec.ts index 874687ff6d38..4042eee5c48f 100644 --- a/packages/schematics/angular/migrations/update-8/differential-loading_spec.ts +++ b/packages/schematics/angular/migrations/update-8/differential-loading_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/drop-es6-polyfills.ts b/packages/schematics/angular/migrations/update-8/drop-es6-polyfills.ts index cb337d39980c..accbc18c3b43 100644 --- a/packages/schematics/angular/migrations/update-8/drop-es6-polyfills.ts +++ b/packages/schematics/angular/migrations/update-8/drop-es6-polyfills.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/drop-es6-polyfills_spec.ts b/packages/schematics/angular/migrations/update-8/drop-es6-polyfills_spec.ts index d0dd837f64ef..6f1f1444c87b 100644 --- a/packages/schematics/angular/migrations/update-8/drop-es6-polyfills_spec.ts +++ b/packages/schematics/angular/migrations/update-8/drop-es6-polyfills_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/index.ts b/packages/schematics/angular/migrations/update-8/index.ts index 6e84be4837d9..ea382a54caed 100644 --- a/packages/schematics/angular/migrations/update-8/index.ts +++ b/packages/schematics/angular/migrations/update-8/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/remove-angular-http.ts b/packages/schematics/angular/migrations/update-8/remove-angular-http.ts index d9279aeff5c2..076277f1b43f 100644 --- a/packages/schematics/angular/migrations/update-8/remove-angular-http.ts +++ b/packages/schematics/angular/migrations/update-8/remove-angular-http.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/remove-angular-http_spec.ts b/packages/schematics/angular/migrations/update-8/remove-angular-http_spec.ts index 913cf8de5022..afafdb4324c5 100644 --- a/packages/schematics/angular/migrations/update-8/remove-angular-http_spec.ts +++ b/packages/schematics/angular/migrations/update-8/remove-angular-http_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/update-dependencies.ts b/packages/schematics/angular/migrations/update-8/update-dependencies.ts index e10c8707d67c..37658e7f9d83 100644 --- a/packages/schematics/angular/migrations/update-8/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-8/update-dependencies.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/update-lazy-module-paths.ts b/packages/schematics/angular/migrations/update-8/update-lazy-module-paths.ts index c2147575b178..345e0e14f12f 100644 --- a/packages/schematics/angular/migrations/update-8/update-lazy-module-paths.ts +++ b/packages/schematics/angular/migrations/update-8/update-lazy-module-paths.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-8/update-lazy-module-paths_spec.ts b/packages/schematics/angular/migrations/update-8/update-lazy-module-paths_spec.ts index 0a72a836cd75..4211ab50b851 100644 --- a/packages/schematics/angular/migrations/update-8/update-lazy-module-paths_spec.ts +++ b/packages/schematics/angular/migrations/update-8/update-lazy-module-paths_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/add-tslib.ts b/packages/schematics/angular/migrations/update-9/add-tslib.ts index ca4eca9fa776..49e818b52848 100644 --- a/packages/schematics/angular/migrations/update-9/add-tslib.ts +++ b/packages/schematics/angular/migrations/update-9/add-tslib.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/index.ts b/packages/schematics/angular/migrations/update-9/index.ts index 174ec88d9a74..01fa93a35c13 100644 --- a/packages/schematics/angular/migrations/update-9/index.ts +++ b/packages/schematics/angular/migrations/update-9/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/ivy-libraries.ts b/packages/schematics/angular/migrations/update-9/ivy-libraries.ts index 1a84d3e25ae3..258cd3e8f169 100644 --- a/packages/schematics/angular/migrations/update-9/ivy-libraries.ts +++ b/packages/schematics/angular/migrations/update-9/ivy-libraries.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/ivy-libraries_spec.ts b/packages/schematics/angular/migrations/update-9/ivy-libraries_spec.ts index 5ede412d83ef..bace2acc4d15 100644 --- a/packages/schematics/angular/migrations/update-9/ivy-libraries_spec.ts +++ b/packages/schematics/angular/migrations/update-9/ivy-libraries_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/ngsw-config.ts b/packages/schematics/angular/migrations/update-9/ngsw-config.ts index e48120340576..a897d0508bce 100644 --- a/packages/schematics/angular/migrations/update-9/ngsw-config.ts +++ b/packages/schematics/angular/migrations/update-9/ngsw-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/ngsw-config_spec.ts b/packages/schematics/angular/migrations/update-9/ngsw-config_spec.ts index b9c10c76cc65..c41f08961807 100644 --- a/packages/schematics/angular/migrations/update-9/ngsw-config_spec.ts +++ b/packages/schematics/angular/migrations/update-9/ngsw-config_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/remove-tsickle.ts b/packages/schematics/angular/migrations/update-9/remove-tsickle.ts index 1f8d4575266d..50d71e6ab62a 100644 --- a/packages/schematics/angular/migrations/update-9/remove-tsickle.ts +++ b/packages/schematics/angular/migrations/update-9/remove-tsickle.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/remove-tsickle_spec.ts b/packages/schematics/angular/migrations/update-9/remove-tsickle_spec.ts index 52a1284deaa9..6000b971f3b8 100644 --- a/packages/schematics/angular/migrations/update-9/remove-tsickle_spec.ts +++ b/packages/schematics/angular/migrations/update-9/remove-tsickle_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/schematic-options.ts b/packages/schematics/angular/migrations/update-9/schematic-options.ts index 0d96634d4c4f..77a9299863ae 100644 --- a/packages/schematics/angular/migrations/update-9/schematic-options.ts +++ b/packages/schematics/angular/migrations/update-9/schematic-options.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/schematic-options_spec.ts b/packages/schematics/angular/migrations/update-9/schematic-options_spec.ts index 7e9f3c985a10..396efce212fb 100644 --- a/packages/schematics/angular/migrations/update-9/schematic-options_spec.ts +++ b/packages/schematics/angular/migrations/update-9/schematic-options_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs.ts b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs.ts index 25e6763001a5..9676162c9457 100644 --- a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs.ts +++ b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts index 34ac9c9e339a..24566d1c2fc2 100644 --- a/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts +++ b/packages/schematics/angular/migrations/update-9/update-app-tsconfigs_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-dependencies.ts b/packages/schematics/angular/migrations/update-9/update-dependencies.ts index 3a447135f6ec..ad86618243ad 100644 --- a/packages/schematics/angular/migrations/update-9/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-9/update-dependencies.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-i18n.ts b/packages/schematics/angular/migrations/update-9/update-i18n.ts index 6beb17ebd54d..70110c94b929 100644 --- a/packages/schematics/angular/migrations/update-9/update-i18n.ts +++ b/packages/schematics/angular/migrations/update-9/update-i18n.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-i18n_spec.ts b/packages/schematics/angular/migrations/update-9/update-i18n_spec.ts index af3464533fb2..5c0137a52bb0 100644 --- a/packages/schematics/angular/migrations/update-9/update-i18n_spec.ts +++ b/packages/schematics/angular/migrations/update-9/update-i18n_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-server-main-file.ts b/packages/schematics/angular/migrations/update-9/update-server-main-file.ts index c015e8502b75..62dac29621f2 100644 --- a/packages/schematics/angular/migrations/update-9/update-server-main-file.ts +++ b/packages/schematics/angular/migrations/update-9/update-server-main-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-server-main-file_spec.ts b/packages/schematics/angular/migrations/update-9/update-server-main-file_spec.ts index 0d2531415299..a77e54b7f837 100644 --- a/packages/schematics/angular/migrations/update-9/update-server-main-file_spec.ts +++ b/packages/schematics/angular/migrations/update-9/update-server-main-file_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-workspace-config.ts b/packages/schematics/angular/migrations/update-9/update-workspace-config.ts index dc0c4ef01dbe..7a9916860330 100644 --- a/packages/schematics/angular/migrations/update-9/update-workspace-config.ts +++ b/packages/schematics/angular/migrations/update-9/update-workspace-config.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/update-workspace-config_spec.ts b/packages/schematics/angular/migrations/update-9/update-workspace-config_spec.ts index 9523041460df..26be0046ade6 100644 --- a/packages/schematics/angular/migrations/update-9/update-workspace-config_spec.ts +++ b/packages/schematics/angular/migrations/update-9/update-workspace-config_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/utils.ts b/packages/schematics/angular/migrations/update-9/utils.ts index 5f339e74d5c2..0c1e2b26c378 100644 --- a/packages/schematics/angular/migrations/update-9/utils.ts +++ b/packages/schematics/angular/migrations/update-9/utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/migrations/update-9/utils_spec.ts b/packages/schematics/angular/migrations/update-9/utils_spec.ts index 0726bb04bc8a..30db02307237 100644 --- a/packages/schematics/angular/migrations/update-9/utils_spec.ts +++ b/packages/schematics/angular/migrations/update-9/utils_spec.ts @@ -1,7 +1,7 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index 6b74fa7d0949..5781d3a7c90c 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { Path, normalize, strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/module/index_spec.ts b/packages/schematics/angular/module/index_spec.ts index 8cd9f1c62c21..2bf99852df43 100644 --- a/packages/schematics/angular/module/index_spec.ts +++ b/packages/schematics/angular/module/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/ng-new/index.ts b/packages/schematics/angular/ng-new/index.ts index 5882311fc085..df8d9888758a 100644 --- a/packages/schematics/angular/ng-new/index.ts +++ b/packages/schematics/angular/ng-new/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/ng-new/index_spec.ts b/packages/schematics/angular/ng-new/index_spec.ts index f5bb57985542..971cf591972e 100644 --- a/packages/schematics/angular/ng-new/index_spec.ts +++ b/packages/schematics/angular/ng-new/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/no_typescript_runtime_dep_spec.js b/packages/schematics/angular/no_typescript_runtime_dep_spec.js index df1cc2f2332a..2a455952461f 100644 --- a/packages/schematics/angular/no_typescript_runtime_dep_spec.js +++ b/packages/schematics/angular/no_typescript_runtime_dep_spec.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index 0e6345076490..29fae68246a8 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/pipe/index_spec.ts b/packages/schematics/angular/pipe/index_spec.ts index 263236bd72b4..586b54b8dd48 100644 --- a/packages/schematics/angular/pipe/index_spec.ts +++ b/packages/schematics/angular/pipe/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/resolver/index.ts b/packages/schematics/angular/resolver/index.ts index 73f3282982d3..c70d548b7118 100644 --- a/packages/schematics/angular/resolver/index.ts +++ b/packages/schematics/angular/resolver/index.ts @@ -1,10 +1,10 @@ /** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ import { strings } from '@angular-devkit/core'; import { Rule, diff --git a/packages/schematics/angular/resolver/index_spec.ts b/packages/schematics/angular/resolver/index_spec.ts index f7b599cb26e9..f0965987697a 100644 --- a/packages/schematics/angular/resolver/index_spec.ts +++ b/packages/schematics/angular/resolver/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/service-worker/index.ts b/packages/schematics/angular/service-worker/index.ts index ab29f8653a97..667c315fd22a 100644 --- a/packages/schematics/angular/service-worker/index.ts +++ b/packages/schematics/angular/service-worker/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/service-worker/index_spec.ts b/packages/schematics/angular/service-worker/index_spec.ts index 328e13bdd116..064ed6f995fc 100644 --- a/packages/schematics/angular/service-worker/index_spec.ts +++ b/packages/schematics/angular/service-worker/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/service-worker/schema.d.ts b/packages/schematics/angular/service-worker/schema.d.ts index 571d59ed771f..c9287f454c00 100644 --- a/packages/schematics/angular/service-worker/schema.d.ts +++ b/packages/schematics/angular/service-worker/schema.d.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/service/index.ts b/packages/schematics/angular/service/index.ts index c509f05c164f..d51f819823da 100644 --- a/packages/schematics/angular/service/index.ts +++ b/packages/schematics/angular/service/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/service/index_spec.ts b/packages/schematics/angular/service/index_spec.ts index df7fe66014c4..225fc4e0cf1d 100644 --- a/packages/schematics/angular/service/index_spec.ts +++ b/packages/schematics/angular/service/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 67d6be6f7be8..dfe9c220e00a 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 86c4563ca7c5..f94d17d3f62f 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/ast-utils.ts b/packages/schematics/angular/utility/ast-utils.ts index 63fe5d43603f..c986f037ea6c 100644 --- a/packages/schematics/angular/utility/ast-utils.ts +++ b/packages/schematics/angular/utility/ast-utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/ast-utils_spec.ts b/packages/schematics/angular/utility/ast-utils_spec.ts index 286a757df47e..38336eefd7e1 100644 --- a/packages/schematics/angular/utility/ast-utils_spec.ts +++ b/packages/schematics/angular/utility/ast-utils_spec.ts @@ -1,7 +1,7 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/change.ts b/packages/schematics/angular/utility/change.ts index f1ddcc964a33..64a71b900fc8 100644 --- a/packages/schematics/angular/utility/change.ts +++ b/packages/schematics/angular/utility/change.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/dependencies.ts b/packages/schematics/angular/utility/dependencies.ts index 2a2a86191557..4591e9968fec 100644 --- a/packages/schematics/angular/utility/dependencies.ts +++ b/packages/schematics/angular/utility/dependencies.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/dependencies_spec.ts b/packages/schematics/angular/utility/dependencies_spec.ts index 61a95a765fc3..80fdba530c78 100644 --- a/packages/schematics/angular/utility/dependencies_spec.ts +++ b/packages/schematics/angular/utility/dependencies_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/find-module.ts b/packages/schematics/angular/utility/find-module.ts index 9d1866dc1ae6..8e4d80f0d597 100644 --- a/packages/schematics/angular/utility/find-module.ts +++ b/packages/schematics/angular/utility/find-module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/find-module_spec.ts b/packages/schematics/angular/utility/find-module_spec.ts index c7e44f594836..65e9955c47fb 100644 --- a/packages/schematics/angular/utility/find-module_spec.ts +++ b/packages/schematics/angular/utility/find-module_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/json-file.ts b/packages/schematics/angular/utility/json-file.ts index 8ca21030d9a1..5aebc493a727 100644 --- a/packages/schematics/angular/utility/json-file.ts +++ b/packages/schematics/angular/utility/json-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 02c8cf26c291..7061593407f5 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/lint-fix.ts b/packages/schematics/angular/utility/lint-fix.ts index f794bf681fd2..2a1dd3139c1d 100644 --- a/packages/schematics/angular/utility/lint-fix.ts +++ b/packages/schematics/angular/utility/lint-fix.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/ng-ast-utils.ts b/packages/schematics/angular/utility/ng-ast-utils.ts index 9462d3b8e697..c8895804e509 100644 --- a/packages/schematics/angular/utility/ng-ast-utils.ts +++ b/packages/schematics/angular/utility/ng-ast-utils.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/parse-name.ts b/packages/schematics/angular/utility/parse-name.ts index cac57b08680b..1de912bba515 100644 --- a/packages/schematics/angular/utility/parse-name.ts +++ b/packages/schematics/angular/utility/parse-name.ts @@ -1,7 +1,7 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/parse-name_spec.ts b/packages/schematics/angular/utility/parse-name_spec.ts index 3c969d6ca9df..b1c2ac6b272d 100644 --- a/packages/schematics/angular/utility/parse-name_spec.ts +++ b/packages/schematics/angular/utility/parse-name_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/paths.ts b/packages/schematics/angular/utility/paths.ts index 35729a641713..dffa9e841d04 100644 --- a/packages/schematics/angular/utility/paths.ts +++ b/packages/schematics/angular/utility/paths.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/paths_spec.ts b/packages/schematics/angular/utility/paths_spec.ts index 1cdc3e031631..e3a483defc8d 100644 --- a/packages/schematics/angular/utility/paths_spec.ts +++ b/packages/schematics/angular/utility/paths_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/project-targets.ts b/packages/schematics/angular/utility/project-targets.ts index e99293f10e83..7f4b7ba8c647 100644 --- a/packages/schematics/angular/utility/project-targets.ts +++ b/packages/schematics/angular/utility/project-targets.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/test/create-app-module.ts b/packages/schematics/angular/utility/test/create-app-module.ts index 5847d5cb109e..e7d46b3a2628 100644 --- a/packages/schematics/angular/utility/test/create-app-module.ts +++ b/packages/schematics/angular/utility/test/create-app-module.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/test/get-file-content.ts b/packages/schematics/angular/utility/test/get-file-content.ts index 0e9dfe82c3c5..2b9a123a236c 100644 --- a/packages/schematics/angular/utility/test/get-file-content.ts +++ b/packages/schematics/angular/utility/test/get-file-content.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/test/index.ts b/packages/schematics/angular/utility/test/index.ts index afb74bfa8b84..a05d72b679b3 100644 --- a/packages/schematics/angular/utility/test/index.ts +++ b/packages/schematics/angular/utility/test/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/validation.ts b/packages/schematics/angular/utility/validation.ts index 923b819df9da..876f9b830c40 100644 --- a/packages/schematics/angular/utility/validation.ts +++ b/packages/schematics/angular/utility/validation.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/workspace-models.ts b/packages/schematics/angular/utility/workspace-models.ts index 28cecea39e5f..1f7fdaffdace 100644 --- a/packages/schematics/angular/utility/workspace-models.ts +++ b/packages/schematics/angular/utility/workspace-models.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/utility/workspace.ts b/packages/schematics/angular/utility/workspace.ts index f916871d0e41..4d77b4ac77a9 100644 --- a/packages/schematics/angular/utility/workspace.ts +++ b/packages/schematics/angular/utility/workspace.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/web-worker/index.ts b/packages/schematics/angular/web-worker/index.ts index 1ebf4942355b..396a155dacee 100644 --- a/packages/schematics/angular/web-worker/index.ts +++ b/packages/schematics/angular/web-worker/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/web-worker/index_spec.ts b/packages/schematics/angular/web-worker/index_spec.ts index b8d169a12eab..3b0cd2cf439c 100644 --- a/packages/schematics/angular/web-worker/index_spec.ts +++ b/packages/schematics/angular/web-worker/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/workspace/index.ts b/packages/schematics/angular/workspace/index.ts index 05282267baf5..8b79f822495c 100644 --- a/packages/schematics/angular/workspace/index.ts +++ b/packages/schematics/angular/workspace/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index e3ff5984f204..e5c3a46b5f3c 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/schematics/blank/factory.ts b/packages/schematics/schematics/blank/factory.ts index 996b0522e217..def925df159d 100644 --- a/packages/schematics/schematics/blank/factory.ts +++ b/packages/schematics/schematics/blank/factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/schematics/schematic/factory.ts b/packages/schematics/schematics/schematic/factory.ts index 46fedd3a11d6..2f5dab5a3541 100644 --- a/packages/schematics/schematics/schematic/factory.ts +++ b/packages/schematics/schematics/schematic/factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/migrate/index.ts b/packages/schematics/update/migrate/index.ts index 3f3529575d2c..e8412ec7d76b 100644 --- a/packages/schematics/update/migrate/index.ts +++ b/packages/schematics/update/migrate/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/migrate/index_spec.ts b/packages/schematics/update/migrate/index_spec.ts index 8e2b197ca753..fda3e9f535ce 100644 --- a/packages/schematics/update/migrate/index_spec.ts +++ b/packages/schematics/update/migrate/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/migrate/test/t1.ts b/packages/schematics/update/migrate/test/t1.ts index 9122c812c269..a7b89b419cd4 100644 --- a/packages/schematics/update/migrate/test/t1.ts +++ b/packages/schematics/update/migrate/test/t1.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/update/index.ts b/packages/schematics/update/update/index.ts index 0e33b1fc157f..a0ce8cbd7343 100644 --- a/packages/schematics/update/update/index.ts +++ b/packages/schematics/update/update/index.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/update/index_spec.ts b/packages/schematics/update/update/index_spec.ts index dfa1dd51695d..de1948b564e4 100644 --- a/packages/schematics/update/update/index_spec.ts +++ b/packages/schematics/update/update/index_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/update/npm-package-json.ts b/packages/schematics/update/update/npm-package-json.ts index 675c45c0fffb..93bcea36f8ef 100644 --- a/packages/schematics/update/update/npm-package-json.ts +++ b/packages/schematics/update/update/npm-package-json.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/update/npm.ts b/packages/schematics/update/update/npm.ts index d7e48ab7737d..39fc3419905c 100644 --- a/packages/schematics/update/update/npm.ts +++ b/packages/schematics/update/update/npm.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/packages/schematics/update/update/package-json.ts b/packages/schematics/update/update/package-json.ts index b4162f6fd232..d29d77869cc6 100644 --- a/packages/schematics/update/update/package-json.ts +++ b/packages/schematics/update/update/package-json.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/benchmark.ts b/scripts/benchmark.ts index 4c02e85ca11f..498267d46660 100644 --- a/scripts/benchmark.ts +++ b/scripts/benchmark.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/build-schema.ts b/scripts/build-schema.ts index a5d64ae462fb..bdd3d384d8e1 100644 --- a/scripts/build-schema.ts +++ b/scripts/build-schema.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/build.ts b/scripts/build.ts index e936dc04b140..357635d904f2 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/changelog.ts b/scripts/changelog.ts index 498fc98250be..622970e13d33 100644 --- a/scripts/changelog.ts +++ b/scripts/changelog.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/create.ts b/scripts/create.ts index a54a527ddc2b..897e75469837 100644 --- a/scripts/create.ts +++ b/scripts/create.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/dist-tag.ts b/scripts/dist-tag.ts index de19b977952d..da09925ce911 100644 --- a/scripts/dist-tag.ts +++ b/scripts/dist-tag.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/packages.ts b/scripts/packages.ts index 8dcf0e649899..15fc742e8675 100644 --- a/scripts/packages.ts +++ b/scripts/packages.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/publish.ts b/scripts/publish.ts index 0f6cedde9bcb..5f892f7357ab 100644 --- a/scripts/publish.ts +++ b/scripts/publish.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 2c65de4b083f..c36750ed388a 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/templates.ts b/scripts/templates.ts index e0d22c303af7..e9bcdb6606de 100644 --- a/scripts/templates.ts +++ b/scripts/templates.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/test.ts b/scripts/test.ts index ada83ef6484a..4e166d98f683 100644 --- a/scripts/test.ts +++ b/scripts/test.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/validate-build-files.ts b/scripts/validate-build-files.ts index f9d1388b6175..3257d385307f 100644 --- a/scripts/validate-build-files.ts +++ b/scripts/validate-build-files.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/validate-licenses.ts b/scripts/validate-licenses.ts index 0501d6c0cd55..eff5e1ff471e 100644 --- a/scripts/validate-licenses.ts +++ b/scripts/validate-licenses.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/validate-user-analytics.ts b/scripts/validate-user-analytics.ts index 725e2447ec81..de497d8540b6 100644 --- a/scripts/validate-user-analytics.ts +++ b/scripts/validate-user-analytics.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/scripts/validate.ts b/scripts/validate.ts index da0b0bae1c51..825d3c52fca8 100644 --- a/scripts/validate.ts +++ b/scripts/validate.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/angular_devkit/core/json/schema/serializers/0.0.javascript_spec.ts b/tests/angular_devkit/core/json/schema/serializers/0.0.javascript_spec.ts index bc9e7f048881..ab31747be1c5 100644 --- a/tests/angular_devkit/core/json/schema/serializers/0.0.javascript_spec.ts +++ b/tests/angular_devkit/core/json/schema/serializers/0.0.javascript_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/angular_devkit/core/json/schema/serializers/1.0.javascript_spec.ts b/tests/angular_devkit/core/json/schema/serializers/1.0.javascript_spec.ts index 9d37e38db4f4..091657cf2326 100644 --- a/tests/angular_devkit/core/json/schema/serializers/1.0.javascript_spec.ts +++ b/tests/angular_devkit/core/json/schema/serializers/1.0.javascript_spec.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/angular_devkit/core/node/jobs/add.ts b/tests/angular_devkit/core/node/jobs/add.ts index c271d8cfd031..0aeb41e68f4a 100644 --- a/tests/angular_devkit/core/node/jobs/add.ts +++ b/tests/angular_devkit/core/node/jobs/add.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/extra-properties/factory.ts b/tests/angular_devkit/schematics/tools/file-system-engine-host/extra-properties/factory.ts index a0fe71e473a0..96755620d008 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/extra-properties/factory.ts +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/extra-properties/factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -17,4 +17,3 @@ export default function(options: {}) { ); }; } - diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/file-tasks/factory.ts b/tests/angular_devkit/schematics/tools/file-system-engine-host/file-tasks/factory.ts index dba7a8f554c5..8941900db2ad 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/file-tasks/factory.ts +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/file-tasks/factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/null-factory.ts b/tests/angular_devkit/schematics/tools/file-system-engine-host/null-factory.ts index a65cdc0316f4..5a6d8b90e828 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/null-factory.ts +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/null-factory.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/basic/ivy-opt-out.ts b/tests/legacy-cli/e2e/tests/basic/ivy-opt-out.ts index 5c6e0c913dc9..eb6ebfb0577b 100644 --- a/tests/legacy-cli/e2e/tests/basic/ivy-opt-out.ts +++ b/tests/legacy-cli/e2e/tests/basic/ivy-opt-out.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/basic/ivy.ts b/tests/legacy-cli/e2e/tests/basic/ivy.ts index 816d575c7b57..aa021802d233 100644 --- a/tests/legacy-cli/e2e/tests/basic/ivy.ts +++ b/tests/legacy-cli/e2e/tests/basic/ivy.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts b/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts index fb6996319467..8ad6fec5bd92 100644 --- a/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts +++ b/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts index cab1f74ccfc6..9f31e320f469 100644 --- a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts +++ b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts index 8426c8a354d0..f9313f936838 100644 --- a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts +++ b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/build/rollup.ts b/tests/legacy-cli/e2e/tests/build/rollup.ts index 8b480092b64a..ab87f8990307 100644 --- a/tests/legacy-cli/e2e/tests/build/rollup.ts +++ b/tests/legacy-cli/e2e/tests/build/rollup.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/build/worker.ts b/tests/legacy-cli/e2e/tests/build/worker.ts index c509abec9590..be1d2eda642e 100644 --- a/tests/legacy-cli/e2e/tests/build/worker.ts +++ b/tests/legacy-cli/e2e/tests/build/worker.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts index 6ec11b72e9a4..b82a896a0377 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts index 14f58c413db8..92216e352666 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts index 4d0628f571b5..ef8c45d8d612 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts index 1c144214dd8c..e59a78344950 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts index 0fd335e2cea7..d601638df964 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tests/schematics/update/packages/update-migrations/v1_5.js b/tests/schematics/update/packages/update-migrations/v1_5.js index 7e79eda93d49..123e9657930b 100644 --- a/tests/schematics/update/packages/update-migrations/v1_5.js +++ b/tests/schematics/update/packages/update-migrations/v1_5.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tools/npm_integration_test/test_runner.js b/tools/npm_integration_test/test_runner.js index f1bb67ebc4e1..0427f3a6017c 100644 --- a/tools/npm_integration_test/test_runner.js +++ b/tools/npm_integration_test/test_runner.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/tools/quicktype_runner.js b/tools/quicktype_runner.js index d2e37b6fe48d..c555928c343d 100644 --- a/tools/quicktype_runner.js +++ b/tools/quicktype_runner.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -96,8 +96,8 @@ class FetchingJSONSchemaStore extends JSONSchemaStore { /** * Create the TS file from the schema, and overwrite the outPath (or log). - * @param {string} inPath - * @param {string} outPath + * @param {string} inPath + * @param {string} outPath */ async function main(inPath, outPath) { const content = await generate(inPath); diff --git a/tools/rebase-pr.js b/tools/rebase-pr.js index e74b6156d9c0..dbbcafc7e5b2 100644 --- a/tools/rebase-pr.js +++ b/tools/rebase-pr.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -89,4 +89,4 @@ return Promise.resolve() console.log('Failed to rebase on top or target branch.\n'); console.error(err); process.exitCode = 1; - }); \ No newline at end of file + }); diff --git a/tools/yarn/check-yarn.js b/tools/yarn/check-yarn.js index 2e7d66ef63c4..8fc301063902 100644 --- a/tools/yarn/check-yarn.js +++ b/tools/yarn/check-yarn.js @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license From f708852f3fc4c3f0da27ee129c463463133437e7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 26 Apr 2021 20:06:20 -0400 Subject: [PATCH 653/696] build: update prettier configuration and ignore files Quoted properties are now configured to be preserved within code and is needed for cases of closure compiler usage. The ignore files list is also updated to now ignore all directories that contain code that should not be formatted; either because the code is auto-generated, an output directory, or third party vendor code. (cherry picked from commit ee86327167a0d70973409957ea9b9b06f8a0b730) --- .prettierignore | 8 ++++++++ .prettierrc | 1 + 2 files changed, 9 insertions(+) diff --git a/.prettierignore b/.prettierignore index fbcd212375a5..04975244c3e8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,9 @@ +/bazel-out/ +/dist-schema/ /etc/api +/tests/ +/README.md +/CONTRIBUTING.md +.yarn/ +dist/ +third_party/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 5e2863a11f68..8ef20e3c1ea0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,6 @@ { "printWidth": 100, + "quoteProps": "preserve", "singleQuote": true, "trailingComma": "all" } From 126d0a164e240b7cf22173be001cbf3f71c918c3 Mon Sep 17 00:00:00 2001 From: Billy Lando Date: Mon, 1 Feb 2021 12:47:59 +0100 Subject: [PATCH 654/696] fix(@schematics/angular): avoid unuse imports for canLoad guard generation (cherry picked from commit 30815248a8cf972034d336f8cd076d3b7cce8e29) --- .../__name@dasherize__.guard.ts.template | 2 +- packages/schematics/angular/guard/index.ts | 19 +++++- .../schematics/angular/guard/index_spec.ts | 61 ++++++++++++++----- 3 files changed, 62 insertions(+), 20 deletions(-) diff --git a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template b/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template index e41530b35898..3dc36a017893 100644 --- a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template +++ b/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { <%= implementationImports %>ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router'; +import { <%= implementationImports %> } from '@angular/router'; import { Observable } from 'rxjs'; @Injectable({ diff --git a/packages/schematics/angular/guard/index.ts b/packages/schematics/angular/guard/index.ts index 87f1d007acb8..b83b52fbc1f1 100644 --- a/packages/schematics/angular/guard/index.ts +++ b/packages/schematics/angular/guard/index.ts @@ -38,12 +38,25 @@ export default function (options: GuardOptions): Rule { const implementations = options.implements .map(implement => implement === 'CanDeactivate' ? 'CanDeactivate' : implement) .join(', '); - let implementationImports = `${options.implements.join(', ')}, `; - // As long as we aren't in IE... ;) + const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; + const routerNamedImports: string[] = [...options.implements, 'UrlTree']; + if (options.implements.includes(GuardInterface.CanLoad)) { - implementationImports = `${implementationImports}Route, UrlSegment, `; + routerNamedImports.push( + 'Route', + 'UrlSegment', + ); + + if (options.implements.length > 1) { + routerNamedImports.push(...commonRouterNameImports); + } + } else { + routerNamedImports.push(...commonRouterNameImports); } + routerNamedImports.sort(); + + const implementationImports = routerNamedImports.join(', '); const parsedPath = parseName(options.path, options.name); options.name = parsedPath.name; options.path = parsedPath.path; diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index b06758c00b36..1c76d6406da8 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -37,12 +37,14 @@ describe('Guard Schematic', () => { let appTree: UnitTestTree; beforeEach(async () => { appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner.runSchematicAsync('application', appOptions, appTree) + appTree = await schematicRunner + .runSchematicAsync('application', appOptions, appTree) .toPromise(); }); it('should create a guard', async () => { - const tree = await schematicRunner.runSchematicAsync('guard', defaultOptions, appTree) + const tree = await schematicRunner + .runSchematicAsync('guard', defaultOptions, appTree) .toPromise(); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.guard.spec.ts'); @@ -52,8 +54,7 @@ describe('Guard Schematic', () => { it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const files = tree.files; expect(files).not.toContain('/projects/bar/src/app/foo.guard.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.guard.ts'); @@ -62,8 +63,7 @@ describe('Guard Schematic', () => { it('should respect the flat flag', async () => { const options = { ...defaultOptions, flat: false }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.guard.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.guard.ts'); @@ -73,15 +73,13 @@ describe('Guard Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner.runSchematicAsync('guard', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematicAsync('guard', defaultOptions, appTree).toPromise(); expect(appTree.files).toContain('/projects/bar/custom/app/foo.guard.ts'); }); it('should respect the implements value', async () => { - const options = { ...defaultOptions, implements: ['CanActivate']}; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree) - .toPromise(); + const options = { ...defaultOptions, implements: ['CanActivate'] }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain('CanActivate'); expect(fileString).toContain('canActivate'); @@ -93,9 +91,8 @@ describe('Guard Schematic', () => { it('should respect the implements values', async () => { const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; - const options = { ...defaultOptions, implements: implementationOptions}; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree) - .toPromise(); + const options = { ...defaultOptions, implements: implementationOptions }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); // Should contain all implementations @@ -108,8 +105,7 @@ describe('Guard Schematic', () => { it('should use CanActivate if no implements value', async () => { const options = { ...defaultOptions, implements: undefined }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain('CanActivate'); expect(fileString).toContain('canActivate'); @@ -118,4 +114,37 @@ describe('Guard Schematic', () => { expect(fileString).not.toContain('CanLoad'); expect(fileString).not.toContain('canLoad'); }); + + it('should add correct imports based on CanLoad implementation', async () => { + const implementationOptions = ['CanLoad']; + const options = { ...defaultOptions, implements: implementationOptions }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = `import { CanLoad, Route, UrlSegment, UrlTree } from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); + + it('should add correct imports based on CanActivate implementation', async () => { + const implementationOptions = ['CanActivate']; + const options = { ...defaultOptions, implements: implementationOptions }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = `import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); + + it('should add correct imports if multiple implementations was selected', async () => { + const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; + const options = { ...defaultOptions, implements: implementationOptions }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = + `import ` + + `{ ActivatedRouteSnapshot, CanActivate, CanActivateChild, CanLoad, Route, RouterStateSnapshot, UrlSegment, UrlTree } ` + + `from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); }); From 9691181da1f29fdcc32ebe7b484755c9ffebd8f4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 28 Apr 2021 13:04:47 -0400 Subject: [PATCH 655/696] ci: update lock workflow action to latest sha version The latest version fixes a runtime warning concerning an invalid configuration property. Warning: `Unexpected input(s) 'lock-bot-key', valid inputs are ['lock-bot-token', 'locks-per-execution']` (cherry picked from commit b9309c1d4c461db593e7fb5223afc1c4b3d72f6a) --- .github/workflows/lock-closed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index b43e8601204e..c8e81beac98a 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@0fc6f4d839e93312ed0dd9a2be88d4c11e947a0b + - uses: angular/dev-infra/github-actions/lock-closed@4f335a4c1f01f20bf905acee2d68c7248f50f2a0 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} From 06613671fffc87e4cf313eab3e04efde7c6408c8 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 28 Apr 2021 13:13:04 -0700 Subject: [PATCH 656/696] release: v11.2.11 --- packages/schematics/angular/utility/latest-versions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 7061593407f5..1b13a2f7d82c 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.2.11', + Angular: '~11.2.12', RxJs: '~6.6.0', ZoneJs: '~0.11.3', TypeScript: '~4.1.5', From e4959d11c83560436b61c3e79e8b3aaa3a691d15 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 28 Apr 2021 15:46:00 -0700 Subject: [PATCH 657/696] build: bump version to v11.2.12 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index fdf0bc64dc2e..ae69494564a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.11", + "version": "11.2.12", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 1b13a2f7d82c..6deb332821fd 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.11', - DevkitBuildNgPackagr: '~0.1102.11', - DevkitBuildWebpack: '~0.1102.11', + DevkitBuildAngular: '~0.1102.12', + DevkitBuildNgPackagr: '~0.1102.12', + DevkitBuildWebpack: '~0.1102.12', ngPackagr: '^11.0.0', }; From 97f4cba016b41407640c5e138e31382e48de16e4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 5 May 2021 10:49:48 +0200 Subject: [PATCH 658/696] fix(@angular-devkit/build-angular): disable CSS declaration sorting optimizations CSS declaration orders matters in some cases. This optimization is currently causing broken CSS output. Closes #20693 --- .../plugins/optimize-css-webpack-plugin.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts index fc1620348534..4175b52ba001 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/optimize-css-webpack-plugin.ts @@ -97,12 +97,19 @@ export class OptimizeCssWebpackPlugin { } const cssNanoOptions: cssNano.CssNanoOptions = { - preset: ['default', { - // Disable SVG optimizations, as this can cause optimizations which are not compatible in all browsers. - svgo: false, - // Disable `calc` optimizations, due to several issues. #16910, #16875, #17890 - calc: false, - }], + preset: [ + 'default', + { + // Disable SVG optimizations, as this can cause optimizations which are not compatible in all browsers. + svgo: false, + // Disable `calc` optimizations, due to several issues. #16910, #16875, #17890 + calc: false, + // Disable CSS rules sorted due to several issues #20693 + // https://github.com/ionic-team/ionic-framework/issues/23266 and + // https://github.com/cssnano/cssnano/issues/1054 + cssDeclarationSorter: false, + }, + ], }; const postCssOptions: ProcessOptions = { From 9343ccd363bbd19a3f60ebf549a46414a603fdcb Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Wed, 5 May 2021 16:58:51 -0700 Subject: [PATCH 659/696] release: v11.2.12 --- packages/schematics/angular/utility/latest-versions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 6deb332821fd..02ca354d5714 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.2.12', + Angular: '~11.2.13', RxJs: '~6.6.0', ZoneJs: '~0.11.3', TypeScript: '~4.1.5', From 61ec3b8bfeac39afdf0a9495cb728f8e77236e79 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 7 May 2021 13:15:38 -0400 Subject: [PATCH 660/696] fix(@angular-devkit/build-angular): update cssnano/postcss to fix optimization defects Updates cssnano to v5.0.2 and postcss to v8.2.14 Fixes #20673 --- package.json | 4 +-- .../angular_devkit/build_angular/package.json | 4 +-- yarn.lock | 36 +++++++++---------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index ae69494564a4..dc1d38def42d 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "core-js": "3.8.3", "critters": "0.0.7", "css-loader": "5.0.1", - "cssnano": "5.0.1", + "cssnano": "5.0.2", "debug": "^4.1.1", "enhanced-resolve": "5.7.0", "express": "4.17.1", @@ -192,7 +192,7 @@ "pidusage": "^2.0.17", "pnp-webpack-plugin": "1.6.4", "popper.js": "^1.14.1", - "postcss": "8.2.13", + "postcss": "8.2.14", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9d8ea97e43a7..668a3e48b37c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -32,7 +32,7 @@ "core-js": "3.8.3", "critters": "0.0.7", "css-loader": "5.0.1", - "cssnano": "5.0.1", + "cssnano": "5.0.2", "file-loader": "6.2.0", "find-cache-dir": "3.3.1", "glob": "7.1.6", @@ -50,7 +50,7 @@ "ora": "5.3.0", "parse5-html-rewriting-stream": "6.0.1", "pnp-webpack-plugin": "1.6.4", - "postcss": "8.2.13", + "postcss": "8.2.14", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "raw-loader": "4.0.2", diff --git a/yarn.lock b/yarn.lock index 130167194199..221b5b734a5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4154,10 +4154,10 @@ cssnano-preset-default@^4.0.7: postcss-svgo "^4.0.2" postcss-unique-selectors "^4.0.1" -cssnano-preset-default@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.0.0.tgz#94c03ecc1cb47ecdc23c0aea3ca05170ebbb7e33" - integrity sha512-zsLppqF7PxY6Tk+ghVx8djf4o1jIOu2GNufqy9lMxldt7gGpSy3FQ6jn7FCd5DZWCaBa7A/1/HVh8CK3BdFSJg== +cssnano-preset-default@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.0.1.tgz#76adc00f7aae36ae80552b8356e21bec4b233ca2" + integrity sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q== dependencies: css-declaration-sorter "6.0.0" cssnano-utils "^2.0.0" @@ -4168,7 +4168,7 @@ cssnano-preset-default@^5.0.0: postcss-discard-duplicates "^5.0.0" postcss-discard-empty "^5.0.0" postcss-discard-overridden "^5.0.0" - postcss-merge-longhand "^5.0.0" + postcss-merge-longhand "^5.0.1" postcss-merge-rules "^5.0.0" postcss-minify-font-values "^5.0.0" postcss-minify-gradients "^5.0.0" @@ -4216,13 +4216,13 @@ cssnano-utils@^2.0.0: resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.0.tgz#b04baaa312aa3dd5a854b7f61d76b9d94be07f74" integrity sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA== -cssnano@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.1.tgz#ed4822c4a9212f22f6820717859c52a6b7f9cf5c" - integrity sha512-5WubEmKcK2cqw43DUAayRBiIlTdX7iX3ZowrWDVxSVcW3hyohVnbJ4K4mbnWtJp5rfJnUwHg5H4mDAGzmuCM3g== +cssnano@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.2.tgz#3f6de4fd5ecb7b5fb636c1a606de5f38cd241493" + integrity sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q== dependencies: cosmiconfig "^7.0.0" - cssnano-preset-default "^5.0.0" + cssnano-preset-default "^5.0.1" is-resolvable "^1.1.0" csso@^4.0.2, csso@^4.2.0: @@ -9313,10 +9313,10 @@ postcss-merge-longhand@^4.0.11: postcss-value-parser "^3.0.0" stylehacks "^4.0.0" -postcss-merge-longhand@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.0.tgz#103dee28c55491df727f17d7b8e91e93e7a472ee" - integrity sha512-VZNFA40K8BYHzJNA6jHPdg1Nofsz/nK5Dkszrcb5IgWcLroSBZOD6I/iNQzpejSU/3XwpOiZNaYAdBV4KcvxWA== +postcss-merge-longhand@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.1.tgz#1a008ff72d14cd3e2f3d32accc2ad37948bcabf4" + integrity sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw== dependencies: css-color-names "^1.0.1" postcss-value-parser "^4.1.0" @@ -9743,10 +9743,10 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@8.2.13: - version "8.2.13" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.13.tgz#dbe043e26e3c068e45113b1ed6375d2d37e2129f" - integrity sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ== +postcss@8.2.14: + version "8.2.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.14.tgz#dcf313eb8247b3ce8078d048c0e8262ca565ad2b" + integrity sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w== dependencies: colorette "^1.2.2" nanoid "^3.1.22" From dd3eb33170b2f7070b8e2b3d81219da60e6454c0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 7 May 2021 15:35:28 -0400 Subject: [PATCH 661/696] fix(@schematics/angular): pin `karma-jasmine-html-reporter` to patches in new projects Synchronizes the version pinning strategy with the other karma and jasmine project dependencies. Allows project's created with npm 7+ to successfully install. `karma-jasmine-html-reporter@1.6` requires dependency versions not present in a new 11.2.x project. Fixes #20719 --- .../schematics/angular/workspace/files/package.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/workspace/files/package.json.template b/packages/schematics/angular/workspace/files/package.json.template index 0b2abe9030e8..7097c08df161 100644 --- a/packages/schematics/angular/workspace/files/package.json.template +++ b/packages/schematics/angular/workspace/files/package.json.template @@ -34,7 +34,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", + "karma-jasmine-html-reporter": "~1.5.0", "protractor": "~7.0.0", "ts-node": "~8.3.0", "tslint": "~6.1.0",<% } %> From 5eeb8ef67d50b576d9cd0803a798c3def4cbafd4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 10 May 2021 16:43:51 +0200 Subject: [PATCH 662/696] fix(@angular-devkit/build-angular): update dependency resolve-url-loader to v4 Closes #20733 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 154 +++--------------- 3 files changed, 22 insertions(+), 136 deletions(-) diff --git a/package.json b/package.json index dc1d38def42d..ed4ac5d98ace 100644 --- a/package.json +++ b/package.json @@ -201,7 +201,7 @@ "quicktype-core": "^6.0.69", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.2", + "resolve-url-loader": "4.0.0", "rimraf": "3.0.2", "rollup": "2.38.4", "rxjs": "6.6.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 668a3e48b37c..08d5232c01c6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -55,7 +55,7 @@ "postcss-loader": "4.2.0", "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.2", + "resolve-url-loader": "4.0.0", "rimraf": "3.0.2", "rollup": "2.38.4", "rxjs": "6.6.3", diff --git a/yarn.lock b/yarn.lock index 221b5b734a5f..b981137f5b69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2207,10 +2207,10 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= -adjust-sourcemap-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" - integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" + integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== dependencies: loader-utils "^2.0.0" regex-parser "^2.2.11" @@ -2406,11 +2406,6 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3154,16 +3149,16 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" @@ -3554,13 +3549,6 @@ component-emitter@^1.2.1, component-emitter@~1.3.0: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -3785,18 +3773,13 @@ conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: through2 "^4.0.0" trim-off-newlines "^1.0.0" -convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -4271,14 +4254,6 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - damerau-levenshtein@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" @@ -4777,11 +4752,6 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -4938,24 +4908,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -4968,14 +4920,6 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5162,13 +5106,6 @@ express@4.17.1, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== - dependencies: - type "^2.0.0" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -7373,15 +7310,6 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" @@ -8186,11 +8114,6 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - ng-packagr@~11.1.0: version "11.1.2" resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.1.2.tgz#d9e9439911d57603d80c4ea33cb31418ce9a36c1" @@ -9725,7 +9648,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -"postcss@5 - 7", postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.32: +"postcss@5 - 7", postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.32, postcss@^7.0.35: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -9734,15 +9657,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^ source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - postcss@8.2.14: version "8.2.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.14.tgz#dcf313eb8247b3ce8078d048c0e8262ca565ad2b" @@ -10468,20 +10382,15 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-url-loader@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" - integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== - dependencies: - adjust-sourcemap-loader "3.0.0" - camelcase "5.3.1" - compose-function "3.0.3" - convert-source-map "1.7.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.21" - rework "1.0.1" - rework-visit "1.0.0" +resolve-url-loader@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" + integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== + dependencies: + adjust-sourcemap-loader "^4.0.0" + convert-source-map "^1.7.0" + loader-utils "^2.0.0" + postcss "^7.0.35" source-map "0.6.1" resolve-url@^0.2.1: @@ -10532,19 +10441,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - rfdc@^1.1.4: version "1.2.0" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.2.0.tgz#9e9894258f48f284b43c3143c68070a4f373b949" @@ -12155,16 +12051,6 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" - integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== - typed-graphqlify@^2.3.0: version "2.4.5" resolved "https://registry.yarnpkg.com/typed-graphqlify/-/typed-graphqlify-2.4.5.tgz#e881f8a90911c32aec76a112e8e5077ead36e151" From a9771947ca3598684aaf6e94aa4f35d57cb4c5e7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 11 May 2021 13:29:52 +0200 Subject: [PATCH 663/696] test(@angular-devkit/build-angular): update E2E test to use node-sass version 5 The current version of sass-loader doesn't support node-sass@6 --- tests/legacy-cli/e2e/tests/build/styles/node-sass.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/build/styles/node-sass.ts b/tests/legacy-cli/e2e/tests/build/styles/node-sass.ts index cedd8378360d..3c8bb410fa19 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/node-sass.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/node-sass.ts @@ -33,7 +33,7 @@ export default async function () { await silentExec('rm', '-rf', 'node_modules/sass'); await expectToFail(() => ng('build', '--extract-css', '--source-map')); - await installPackage('node-sass'); + await installPackage('node-sass@5'); await silentExec('rm', '-rf', 'node_modules/sass'); await ng('build', '--extract-css', '--source-map'); From 4a545f96c61e8a5d1fc547996ca515e91310921c Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Wed, 12 May 2021 15:13:38 -0700 Subject: [PATCH 664/696] release: v11.2.13 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ed4ac5d98ace..c42f58d7e68e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.12", + "version": "11.2.13", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 02ca354d5714..15749534b7cf 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -8,7 +8,7 @@ export const latestVersions = { // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~11.2.13', + Angular: '~11.2.14', RxJs: '~6.6.0', ZoneJs: '~0.11.3', TypeScript: '~4.1.5', @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.12', - DevkitBuildNgPackagr: '~0.1102.12', - DevkitBuildWebpack: '~0.1102.12', + DevkitBuildAngular: '~0.1102.13', + DevkitBuildNgPackagr: '~0.1102.13', + DevkitBuildWebpack: '~0.1102.13', ngPackagr: '^11.0.0', }; From 1031557dcf0aab5223f63fd62228944e561f5025 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 21 May 2021 14:59:20 +0200 Subject: [PATCH 665/696] fix(@angular-devkit/build-angular): update to postcss 8.2.15 Closes #20888 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index c42f58d7e68e..d4543d18ed8c 100644 --- a/package.json +++ b/package.json @@ -192,7 +192,7 @@ "pidusage": "^2.0.17", "pnp-webpack-plugin": "1.6.4", "popper.js": "^1.14.1", - "postcss": "8.2.14", + "postcss": "8.2.15", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 08d5232c01c6..cc2b072765c4 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -50,7 +50,7 @@ "ora": "5.3.0", "parse5-html-rewriting-stream": "6.0.1", "pnp-webpack-plugin": "1.6.4", - "postcss": "8.2.14", + "postcss": "8.2.15", "postcss-import": "14.0.0", "postcss-loader": "4.2.0", "raw-loader": "4.0.2", diff --git a/yarn.lock b/yarn.lock index b981137f5b69..6def5295ce29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8063,10 +8063,10 @@ nanoid@^3.1.20: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== -nanoid@^3.1.22: - version "3.1.22" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" - integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== +nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== nanomatch@^1.2.9: version "1.2.13" @@ -9657,13 +9657,13 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^ source-map "^0.6.1" supports-color "^6.1.0" -postcss@8.2.14: - version "8.2.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.14.tgz#dcf313eb8247b3ce8078d048c0e8262ca565ad2b" - integrity sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w== +postcss@8.2.15: + version "8.2.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" + integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== dependencies: colorette "^1.2.2" - nanoid "^3.1.22" + nanoid "^3.1.23" source-map "^0.6.1" postcss@^8.1.4: From d002bb70753bef18c00fae8c60c6907eabae450d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 21 May 2021 18:50:47 +0200 Subject: [PATCH 666/696] test(@angular/cli): several fixes to update-8 E2E test Previously in `update-8` test we used the Angular CLI in node_modules which caused incorrect result. We now don't run `ng update @angular/core --next` or `ng update @angular/core`. This is due to our bumping strategy, which causes a period were `@angular/cli@latest` (v12.0.0) `@angular/core@latest` (v11.2.x) are of different major/minor version on the local NPM server. This causes `ng update` to fail. NB: `ng update @angula/cli` will still cause `@angular/core` packages to be updated. (cherry picked from commit 6d5043ba50764bd4aade3baeec0acc7f293ac6c7) --- .../legacy-cli/e2e/setup/010-local-publish.ts | 20 +++----- tests/legacy-cli/e2e/tests/update/update-8.ts | 46 +++++++++++++------ tests/legacy-cli/e2e/utils/packages.ts | 21 ++++++++- tests/legacy-cli/e2e/utils/project.ts | 10 ++-- 4 files changed, 62 insertions(+), 35 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index d3de2917e378..d6a761a2b60d 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,11 +1,10 @@ -import { prerelease } from 'semver'; -import { packages } from '../../../../lib/packages'; import { getGlobalVariable } from '../utils/env'; import { npm } from '../utils/process'; +import { isPrereleaseCli } from '../utils/project'; -export default async function() { +export default async function () { const testRegistry = getGlobalVariable('package-registry'); - const publishArgs = [ + await npm( 'run', 'admin', '--', @@ -13,14 +12,7 @@ export default async function() { '--no-versionCheck', '--no-branchCheck', `--registry=${testRegistry}`, - ]; - - const pre = prerelease(packages['@angular/cli'].version); - if (pre && pre.length > 0) { - publishArgs.push('--tag', 'next'); - } else { - publishArgs.push('--tag', 'latest'); - } - - await npm(...publishArgs); + '--tag', + isPrereleaseCli() ? 'next' : 'latest', + ); } diff --git a/tests/legacy-cli/e2e/tests/update/update-8.ts b/tests/legacy-cli/e2e/tests/update/update-8.ts index 91023429de55..d3edf64af2fc 100644 --- a/tests/legacy-cli/e2e/tests/update/update-8.ts +++ b/tests/legacy-cli/e2e/tests/update/update-8.ts @@ -1,23 +1,43 @@ import { createProjectFromAsset } from '../../utils/assets'; import { expectFileMatchToExist } from '../../utils/fs'; -import { installWorkspacePackages } from '../../utils/packages'; -import { ng, noSilentNg, silentNpm } from '../../utils/process'; -import { isPrereleaseCli, useBuiltPackages, useCIChrome, useCIDefaults } from '../../utils/project'; +import { installPackage, installWorkspacePackages, setRegistry } from '../../utils/packages'; +import { ng, noSilentNg } from '../../utils/process'; +import { isPrereleaseCli, useCIChrome, useCIDefaults } from '../../utils/project'; -export default async function() { - await createProjectFromAsset('8.0-project'); - await ng('update', '@angular/cli', '--migrate-only', '--from=8'); +export default async function () { + // We need to use the public registry because in the local NPM server we don't have + // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. + try { + await createProjectFromAsset('8.0-project', true, true); - // Use the packages we are building in this commit, and CI Chrome. - await useBuiltPackages(); + await setRegistry(false); + await installWorkspacePackages(); + + // Update Angular to 9 + await installPackage('@angular/cli@8'); + const { stdout } = await ng('update', '@angular/cli@9.x', '@angular/core@9.x'); + if (!stdout.includes("Executing migrations of package '@angular/cli'")) { + throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); + } + + // Update Angular to 10 + await ng('update', '@angular/cli@10', '@angular/core@10'); + } finally { + await setRegistry(true); + } + + // Update Angular current build + const extraUpdateArgs = isPrereleaseCli() ? ['--next', '--force'] : ['--force']; + // For the latest/next release we purposely don't add `@angular/core`. + // This is due to our bumping strategy, which causes a period were `@angular/cli@latest` (v12.0.0) `@angular/core@latest` (v11.2.x) + // are of different major/minor version on the local NPM server. This causes `ng update` to fail. + // NB: `ng update @angula/cli` will still cause `@angular/core` packages to be updated. + await ng('update', '@angular/cli', ...extraUpdateArgs); + + // Setup testing to use CI Chrome. await useCIChrome('./'); await useCIChrome('./e2e/'); await useCIDefaults('eight-project'); - await installWorkspacePackages(); - - // Update Angular. - const extraUpdateArgs = await isPrereleaseCli() ? ['--next', '--force'] : []; - await ng('update', '@angular/core', ...extraUpdateArgs); // Run CLI commands. await ng('generate', 'component', 'my-comp'); diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index e51ffa961d16..bf1069b6ad2b 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -1,5 +1,6 @@ import { getGlobalVariable } from './env'; -import { ProcessOutput, silentNpm, silentYarn } from './process'; +import { writeFile } from './fs'; +import { npm, ProcessOutput, silentNpm, silentYarn } from './process'; export function getActivePackageManager(): 'npm' | 'yarn' { const value = getGlobalVariable('package-manager'); @@ -39,3 +40,21 @@ export async function uninstallPackage(name: string): Promise { return silentYarn('remove', name); } } + +export async function setRegistry(useTestRegistry: boolean): Promise { + const url = useTestRegistry + ? getGlobalVariable('package-registry') + : 'https://registry.npmjs.org'; + + const isCI = getGlobalVariable('ci'); + + // Ensure local test registry is used when outside a project + if (isCI) { + // Safe to set a user configuration on CI + await npm('config', 'set', 'registry', url); + } else { + // Yarn does not use the environment variable so an .npmrc file is also required + await writeFile('.npmrc', `registry=${url}`); + process.env['NPM_CONFIG_REGISTRY'] = url; + } +} diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 8e8e727b9a87..f0bc9cbc1213 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -7,9 +7,6 @@ import { gitCommit } from './git'; import { installWorkspacePackages } from './packages'; import { execAndWaitForOutputToMatch, git, ng, npm } from './process'; -const tsConfigPath = 'tsconfig.json'; - - export function updateJsonFile(filePath: string, fn: (json: any) => any | void) { return readFile(filePath) .then(tsConfigJson => { @@ -23,7 +20,7 @@ export function updateJsonFile(filePath: string, fn: (json: any) => any | void) export function updateTsConfig(fn: (json: any) => any | void) { - return updateJsonFile(tsConfigPath, fn); + return updateJsonFile('tsconfig.json', fn); } @@ -293,9 +290,8 @@ export function useCIChrome(projectDir: string) { }); } -export async function isPrereleaseCli() { - const angularCliPkgJson = JSON.parse(await readFile('node_modules/@angular/cli/package.json')); - const pre = prerelease(angularCliPkgJson.version); +export function isPrereleaseCli(): boolean { + const pre = prerelease(packages['@angular/cli'].version); return pre && pre.length > 0; } From f768929ab8a11a8df63c6ab924cff7442baa6282 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 2 Jun 2021 14:54:36 -0400 Subject: [PATCH 667/696] test(@angular/cli): locally publish LTS tooling packages for E2E update tests The tooling packages needed to perform a canonical update process are now published to the local test package registry. This removes the need to switch back and forth between the npm registry and the test registry during E2E tests. It also ensures that CLI versions are used that are compatible with the Node.js version used for the tests. --- .../legacy-cli/e2e/setup/010-local-publish.ts | 64 ++++++++++++++++++- tests/legacy-cli/e2e/tests/update/update-8.ts | 30 ++++----- 2 files changed, 74 insertions(+), 20 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index d6a761a2b60d..6b2fe88c636a 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,7 +1,18 @@ import { getGlobalVariable } from '../utils/env'; -import { npm } from '../utils/process'; +import { npm, silentNpm } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; +async function publishLocal(specifier: string, tags: string[], registry: string): Promise { + const { stdout: stdoutPack1 } = await silentNpm( + 'pack', + specifier, + '--registry=https://registry.npmjs.org', + ); + for (const tag of tags) { + await silentNpm('publish', stdoutPack1.trim(), `--registry=${registry}`, `--tag=${tag}`); + } +} + export default async function () { const testRegistry = getGlobalVariable('package-registry'); await npm( @@ -15,4 +26,55 @@ export default async function () { '--tag', isPrereleaseCli() ? 'next' : 'latest', ); + + const basePackages = [ + '@angular/cli', + '@angular-devkit/architect', + '@angular-devkit/build-angular', + '@angular-devkit/build-optimizer', + '@angular-devkit/build-webpack', + '@angular-devkit/core', + '@angular-devkit/schematics', + '@ngtools/webpack', + '@schematics/angular', + '@schematics/update', + ]; + + const ltsVersions = { + '8': [...basePackages], + '9': [...basePackages], + '10': [...basePackages], + }; + for (const [ltsVersion, ltsPackages] of Object.entries(ltsVersions)) { + const tag = `v${ltsVersion}-lts`; + + for (const packageName of ltsPackages) { + await publishLocal( + `${packageName}@${tag}`, + [tag], + testRegistry, + ); + } + } + + const v8OriginalPackages = [ + '@angular/cli@8.0', + '@angular-devkit/architect@0.800', + '@angular-devkit/build-angular@0.800', + '@angular-devkit/build-optimizer@0.800', + '@angular-devkit/build-webpack@0.800', + '@angular-devkit/core@8.0', + '@angular-devkit/schematics@8.0', + '@ngtools/webpack@8.0.6', + '@schematics/angular@8.0', + '@schematics/update@0.800', + ]; + + for (const fullPackageSpecifier of v8OriginalPackages) { + await publishLocal( + fullPackageSpecifier, + ['v8-original'], + testRegistry, + ); + } } diff --git a/tests/legacy-cli/e2e/tests/update/update-8.ts b/tests/legacy-cli/e2e/tests/update/update-8.ts index d3edf64af2fc..f0c1dbd11225 100644 --- a/tests/legacy-cli/e2e/tests/update/update-8.ts +++ b/tests/legacy-cli/e2e/tests/update/update-8.ts @@ -5,27 +5,19 @@ import { ng, noSilentNg } from '../../utils/process'; import { isPrereleaseCli, useCIChrome, useCIDefaults } from '../../utils/project'; export default async function () { - // We need to use the public registry because in the local NPM server we don't have - // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - try { - await createProjectFromAsset('8.0-project', true, true); - - await setRegistry(false); - await installWorkspacePackages(); - - // Update Angular to 9 - await installPackage('@angular/cli@8'); - const { stdout } = await ng('update', '@angular/cli@9.x', '@angular/core@9.x'); - if (!stdout.includes("Executing migrations of package '@angular/cli'")) { - throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); - } - - // Update Angular to 10 - await ng('update', '@angular/cli@10', '@angular/core@10'); - } finally { - await setRegistry(true); + await createProjectFromAsset('8.0-project', true, true); + await installWorkspacePackages(); + + // Update Angular to 9 + await installPackage('@angular/cli@8'); + const { stdout } = await ng('update', '@angular/cli@9.x', '@angular/core@9.x'); + if (!stdout.includes("Executing migrations of package '@angular/cli'")) { + throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); } + // Update Angular to 10 + await ng('update', '@angular/cli@10', '@angular/core@10'); + // Update Angular current build const extraUpdateArgs = isPrereleaseCli() ? ['--next', '--force'] : ['--force']; // For the latest/next release we purposely don't add `@angular/core`. From 2224e296573ee01397b2d64033047815e1d8720e Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 3 Jun 2021 09:58:38 -0700 Subject: [PATCH 668/696] release: v11.2.14 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4543d18ed8c..24313c1c92d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.13", + "version": "11.2.14", "private": true, "description": "Software Development Kit for Angular", "bin": { From 09579021f3e2a5f8fce23e646ba7dee002a0ab97 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 23 Jun 2021 21:48:05 -0700 Subject: [PATCH 669/696] build: update to new remote instance name for RBE Update to use remote instance name, primary_instance, for RBE (cherry picked from commit 4d31fc6a74b68968707ff8aa12b0842e0ea5dd10) --- .bazelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index 872b401b8af9..247086af2541 100644 --- a/.bazelrc +++ b/.bazelrc @@ -92,7 +92,7 @@ test --test_output=errors ################################ # Use the Angular team internal GCP instance for remote execution. -build:remote --remote_instance_name=projects/internal-200822/instances/default_instance +build:remote --remote_instance_name=projects/internal-200822/instances/primary_instance build:remote --project_id=internal-200822 # Starting with Bazel 0.27.0 strategies do not need to be explicitly From fefc11535243b6302b1b649252058978e851b48c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Jun 2021 13:09:30 +0200 Subject: [PATCH 670/696] ci: add nightly CI for `11.2.x` branch --- .circleci/config.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2663636486c9..bd37a66f34a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -427,3 +427,30 @@ workflows: - build - test - e2e-cli + + nightly: + triggers: + - schedule: + cron: "0 0 * * *" + filters: + branches: + only: + - 11.2.x + jobs: + # Linux jobs + - setup + - build: + requires: + - setup + - e2e-cli: + name: e2e-cli-nightly + requires: + - build + - e2e-cli: + name: e2e-cli-ve-nightly + ve: true + requires: + - build + - test-browsers: + requires: + - build \ No newline at end of file From 7f36f8b2e4ab3223fce2e5db4b98f96f32a5f88c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Oct 2021 11:55:06 +0200 Subject: [PATCH 671/696] fix(@angular-devkit/build-angular): update `critters` to version `0.0.12` This change brings in a security fix causes was causes by an outdated dependency. See https://github.com/GoogleChromeLabs/critters/pull/82 for more information. Also, remote stylesheets are excluded from processing, were previously this caused build failures. Closes #20794 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- .../src/app-shell/app-shell_spec.ts | 2 +- .../inline-critical-css-optimization_spec.ts | 6 +- .../inline-critical-css-optimization_spec.ts | 2 +- .../utils/index-file/inline-critical-css.ts | 19 +++-- .../index-file/inline-critical-css_spec.ts | 26 +++---- yarn.lock | 69 +++++++++++++++---- 8 files changed, 83 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 24313c1c92d8..ae5784104458 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "6.3.2", "core-js": "3.8.3", - "critters": "0.0.7", + "critters": "0.0.12", "css-loader": "5.0.1", "cssnano": "5.0.2", "debug": "^4.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index cc2b072765c4..fbef1d15446b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "6.3.2", "core-js": "3.8.3", - "critters": "0.0.7", + "critters": "0.0.12", "css-loader": "5.0.1", "cssnano": "5.0.2", "file-loader": "6.2.0", diff --git a/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts b/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts index e6e6e2166b03..4e4ef3d53296 100644 --- a/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts +++ b/packages/angular_devkit/build_angular/src/app-shell/app-shell_spec.ts @@ -290,7 +290,7 @@ describe('AppShell Builder', () => { const content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName))); expect(content).toContain('app-shell works!'); - expect(content).toContain('p{color:#000;}'); + expect(content).toContain('p{color:#000}'); expect(content).toMatch(//); }); }); diff --git a/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts b/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts index 917f20b7453d..7782b288d61d 100644 --- a/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts +++ b/packages/angular_devkit/build_angular/src/browser/specs/inline-critical-css-optimization_spec.ts @@ -39,20 +39,20 @@ describe('Browser Builder inline critical CSS optimization', () => { const { files } = await browserBuild(architect, host, target, overrides); const html = await files['index.html']; expect(html).toContain(``); - expect(html).toContain(`body{color:#000;}`); + expect(html).toContain(`body{color:#000}`); }); it('works with deployUrl', async () => { const { files } = await browserBuild(architect, host, target, { ...overrides, deployUrl: 'http://cdn.com/' }); const html = await files['index.html']; expect(html).toContain(``); - expect(html).toContain(`body{color:#000;}`); + expect(html).toContain(`body{color:#000}`); }); it('should not inline critical css when option is disabled', async () => { const { files } = await browserBuild(architect, host, target, { optimization: false }); const html = await files['index.html']; expect(html).toContain(``); - expect(html).not.toContain(`body{color:#000;}`); + expect(html).not.toContain(`body{color:#000}`); }); }); diff --git a/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts b/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts index 4babe2db716a..d16ef5084b5d 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/inline-critical-css-optimization_spec.ts @@ -43,7 +43,7 @@ describe('Dev Server Builder inline critical CSS optimization', () => { mergeMap(async output => { expect(output.success).toBe(true); const response = await fetch(`${output.baseUrl}/index.html`); - expect(await response.text()).toContain(`body{color:#000;}`); + expect(await response.text()).toContain(`body{color:#000}`); }), ).toPromise(); diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts index ba2660f3cba3..b93be164e775 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css.ts @@ -23,13 +23,16 @@ class CrittersExtended extends Critters { readonly warnings: string[] = []; readonly errors: string[] = []; - constructor(private readonly optionsExtended: InlineCriticalCssProcessorOptions & InlineCriticalCssProcessOptions) { + constructor( + private readonly optionsExtended: InlineCriticalCssProcessorOptions & + InlineCriticalCssProcessOptions, + ) { super({ logger: { warn: (s: string) => this.warnings.push(s), error: (s: string) => this.errors.push(s), - log: () => { }, - info: () => { }, + log: () => {}, + info: () => {}, }, path: optionsExtended.outputPath, publicPath: optionsExtended.deployUrl, @@ -44,7 +47,7 @@ class CrittersExtended extends Critters { } as any); } - protected readFile(path: string): Promise { + public readFile(path: string): Promise { const readAsset = this.optionsExtended.readAsset; return readAsset ? readAsset(path) : readFile(path, 'utf-8'); @@ -52,10 +55,12 @@ class CrittersExtended extends Critters { } export class InlineCriticalCssProcessor { - constructor(protected readonly options: InlineCriticalCssProcessorOptions) { } + constructor(protected readonly options: InlineCriticalCssProcessorOptions) {} - async process(html: string, options: InlineCriticalCssProcessOptions) - : Promise<{ content: string, warnings: string[], errors: string[] }> { + async process( + html: string, + options: InlineCriticalCssProcessOptions, + ): Promise<{ content: string; warnings: string[]; errors: string[] }> { const critters = new CrittersExtended({ ...this.options, ...options }); const content = await critters.process(html); diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts index 5ec02900dba3..069c424cfba4 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-critical-css_spec.ts @@ -53,14 +53,10 @@ describe('InlineCriticalCssProcessor', () => { expect(content).toContain(``); expect(content).not.toContain('color: blue'); expect(tags.stripIndents`${content}`).toContain(tags.stripIndents` - - `); + `); }); it('should inline critical css when using deployUrl', async () => { @@ -76,14 +72,10 @@ describe('InlineCriticalCssProcessor', () => { expect(content).toContain(``); expect(content).toContain(``); expect(tags.stripIndents`${content}`).toContain(tags.stripIndents` - - `); + `); }); it('should compress inline critical css when minify is enabled', async () => { @@ -98,6 +90,6 @@ describe('InlineCriticalCssProcessor', () => { expect(content).toContain(``); expect(content).toContain(``); - expect(content).toContain(''); + expect(content).toContain(''); }); }); diff --git a/yarn.lock b/yarn.lock index 6def5295ce29..26cbfd5fe64e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3912,15 +3912,16 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -critters@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.7.tgz#548b470360f4f3c51e622de3b7aa733c8f0b17bf" - integrity sha512-qUF2SaAWFYjNPdCcPpu68p2DnHiosia84yx5mPTlUMQjkjChR+n6sO1/I7yn2U2qNDgSPTd2SoaTIDQcUL+EwQ== +critters@0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.12.tgz#32baa87526e053a41b67e19921673ed92264e2ab" + integrity sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw== dependencies: chalk "^4.1.0" - css "^3.0.0" + css-select "^4.1.3" parse5 "^6.0.1" parse5-htmlparser2-tree-adapter "^6.0.1" + postcss "^8.3.7" pretty-bytes "^5.3.0" cross-spawn@^6.0.0: @@ -4036,6 +4037,17 @@ css-select@^3.1.2: domutils "^2.4.3" nth-check "^2.0.0" +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-selector-tokenizer@^0.7.1: version "0.7.3" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" @@ -4070,6 +4082,11 @@ css-what@^4.0.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -4080,15 +4097,6 @@ css@^2.0.0: source-map-resolve "^0.5.2" urix "^0.1.0" -css@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - cssauron@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" @@ -4663,6 +4671,15 @@ domutils@^2.4.3: domelementtype "^2.2.0" domhandler "^4.2.0" +domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -8068,6 +8085,11 @@ nanoid@^3.1.23: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== +nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9007,6 +9029,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -9675,6 +9702,15 @@ postcss@^8.1.4: nanoid "^3.1.20" source-map "^0.6.1" +postcss@^8.3.7: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^0.6.2" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -10996,6 +11032,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-loader@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" From d4ddb3d1ad5320cd945ceab438f37654590a23ca Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 27 Oct 2021 12:05:56 -0700 Subject: [PATCH 672/696] release: v11.2.15 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae5784104458..0a5cfb41c37b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.14", + "version": "11.2.15", "private": true, "description": "Software Development Kit for Angular", "bin": { From 776d1210a9e62bf2531d977138f49f93820a8b87 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 24 Nov 2021 11:11:58 +0100 Subject: [PATCH 673/696] fix(@angular/cli): update `ng update` output for Angular packages With #21986 we now error when updating `@angular/` and `@nguniversal/` packages across multiple major versions. With this change we update `ng update` output to show the correct instructions. Before ``` $ ng update --next We analyzed your package.json, there are some packages to update: Name Version Command to update -------------------------------------------------------------------------------- @angular/cli 12.2.12 -> 13.0.0-rc.2 ng update @angular/cli --next @angular/core 11.2.14 -> 13.0.0-rc.2 ng update @angular/core --next ``` Now ``` $ ng update --next We analyzed your package.json, there are some packages to update: Name Version Command to update -------------------------------------------------------------------------------- @angular/cli 12.2.12 -> 13.0.0-rc.2 ng update @angular/cli --next @angular/core 11.2.14 -> 12.2.9 ng update @angular/core@12 ``` Closes #19381 (cherry picked from commit 9b32066e88a8d177b52783f977716eaf2688a163) --- packages/schematics/update/update/index.ts | 41 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/packages/schematics/update/update/index.ts b/packages/schematics/update/update/index.ts index a0ce8cbd7343..e30b99ab9e76 100644 --- a/packages/schematics/update/update/index.ts +++ b/packages/schematics/update/update/index.ts @@ -459,10 +459,39 @@ function _usageMessage( const packageGroups = new Map(); const packagesToUpdate = [...infoMap.entries()] .map(([name, info]) => { - const tag = options.next - ? (info.npmPackageJson['dist-tags']['next'] ? 'next' : 'latest') : 'latest'; - const version = info.npmPackageJson['dist-tags'][tag]; - const target = info.npmPackageJson.versions[version]; + let tag = options.next + ? info.npmPackageJson['dist-tags']['next'] + ? 'next' + : 'latest' + : 'latest'; + let version = info.npmPackageJson['dist-tags'][tag]; + let target = info.npmPackageJson.versions[version]; + + const versionDiff = semver.diff(info.installed.version, version); + if ( + versionDiff !== 'patch' && + versionDiff !== 'minor' && + /^@(?:angular|nguniversal)\//.test(name) + ) { + const installedMajorVersion = semver.parse(info.installed.version)?.major; + const toInstallMajorVersion = semver.parse(version)?.major; + if ( + installedMajorVersion !== undefined && + toInstallMajorVersion !== undefined && + installedMajorVersion < toInstallMajorVersion - 1 + ) { + const nextMajorVersion = `${installedMajorVersion + 1}.`; + const nextMajorVersions = Object.keys(info.npmPackageJson.versions) + .filter((v) => v.startsWith(nextMajorVersion)) + .sort((a, b) => (a > b ? -1 : 1)); + + if (nextMajorVersions.length) { + version = nextMajorVersions[0]; + target = info.npmPackageJson.versions[version]; + tag = ''; + } + } + } return { name, @@ -496,7 +525,9 @@ function _usageMessage( } let command = `ng update ${name}`; - if (tag == 'next') { + if (!tag) { + command += `@${semver.parse(version)?.major || version}`; + } else if (tag == 'next') { command += ' --next'; } From f456b0962b9f339759bc86c092256f68d68d9ecf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Oct 2021 11:56:28 +0200 Subject: [PATCH 674/696] fix(@angular/cli): error when updating Angular packages across multi-major migrations With this change we show an error message when users try to update `@angular/` and `@nguniversal/` packages across multiple major versions. (cherry picked from commit d60d374389043174050c9f86a1c7aea4bab2cf1c) --- packages/angular/cli/commands/update-impl.ts | 29 +++++++++++++++ .../tests/update/update-multiple-versions.ts | 35 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index af9a21e43c43..59e9ef5dc118 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -623,6 +623,35 @@ export class UpdateCommand extends Command { continue; } + if (node.package && /^@(?:angular|nguniversal)\//.test(node.package.name)) { + const { name, version } = node.package; + const toBeInstalledMajorVersion = +manifest.version.split('.')[0]; + const currentMajorVersion = +version.split('.')[0]; + + if (toBeInstalledMajorVersion - currentMajorVersion > 1) { + // Only allow updating a single version at a time. + if (currentMajorVersion < 6) { + // Before version 6, the major versions were not always sequential. + // Example @angular/core skipped version 3, @angular/cli skipped versions 2-5. + this.logger.error( + `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + + `For more information about the update process, see https://update.angular.io/.`, + ); + } else { + const nextMajorVersionFromCurrent = currentMajorVersion + 1; + + this.logger.error( + `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + + `Run 'ng update ${name}@${nextMajorVersionFromCurrent}' in your workspace directory ` + + `to update to latest '${nextMajorVersionFromCurrent}.x' version of '${name}'.\n\n` + + `For more information about the update process, see https://update.angular.io/?v=${currentMajorVersion}.0-${nextMajorVersionFromCurrent}.0`, + ); + } + + return 1; + } + } + packagesToUpdate.push(requestIdentifier.toString()); } diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts new file mode 100644 index 000000000000..9d59214e57a0 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -0,0 +1,35 @@ +import { createProjectFromAsset } from '../../utils/assets'; +import { installWorkspacePackages, setRegistry } from '../../utils/packages'; +import { ng } from '../../utils/process'; +import { isPrereleaseCli } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + try { + await createProjectFromAsset('8.0-project', true, true); + await setRegistry(false); + await installWorkspacePackages(); + + await setRegistry(true); + const extraArgs = ['--force']; + if (isPrereleaseCli()) { + extraArgs.push('--next'); + } + + const { message } = await expectToFail(() => + ng('update', '@angular/cli', '--force', ...extraArgs), + ); + if ( + !message.includes( + `Updating multiple major versions of '@angular/cli' at once is not supported`, + ) + ) { + console.error(message); + throw new Error( + `Expected error message to include "Updating multiple major versions of '@angular/cli' at once is not supported" but didn't.`, + ); + } + } finally { + await setRegistry(true); + } +} From 886d2511e292b687acce1ac4c6924f992494d14f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 24 Nov 2021 12:19:04 +0100 Subject: [PATCH 675/696] fix(@angular/cli): logic which determines which temp version of the CLI is to be download during `ng update` Previously, when using an older version of the Angular CLI, during `ng update`, we download the temporary `latest` version to run the update. The ensured that when running that the runner used to run the update contains the latest bug fixes and improvements. This however, can be problematic in some cases. Such as when there are API breaking changes, when running a relatively old schematic with the latest CLI can cause runtime issues, especially since those schematics were never meant to be executed on a CLI X major versions in the future. With this change, we improve the logic to determine which version of the Angular CLI should be used to run the update. Below is a summarization of this. - When using the `--next` command line argument, the `@next` version of the CLI will be used to run the update. - When updating an `@angular/` or `@nguniversal/` package, the target version will be used to run the update. Example: `ng update @angular/core@12`, the update will run on most recent patch version of `@angular/cli` of that major version `@12.2.6`. - When updating an `@angular/` or `@nguniversal/` and no target version is specified. Example: `ng update @angular/core` the update will run on most latest version of the `@angular/cli`. - When updating a third-party package, the most recent patch version of the installed `@angular/cli` will be used to run the update. Example if `13.0.0` is installed and `13.1.1` is available on NPM, the latter will be used. (cherry picked from commit 4632f1ffdd86cc8ff9679b09100f4bf03cb6b0e6) --- packages/angular/cli/commands/update-impl.ts | 189 ++++++++++-------- packages/angular/cli/lib/init.ts | 6 +- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 16 +- .../tests/update/update-multiple-versions.ts | 35 ---- 4 files changed, 122 insertions(+), 124 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 59e9ef5dc118..68125104c6e0 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -11,6 +11,7 @@ import { execSync } from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; import * as semver from 'semver'; +import { VERSION } from '../lib/cli'; import { PackageManager } from '../lib/config/schema'; import { Command } from '../models/command'; import { Arguments } from '../models/interface'; @@ -42,10 +43,6 @@ const pickManifest = require('npm-pick-manifest') as ( const oldConfigFileNames = ['.angular-cli.json', 'angular-cli.json']; -const NG_VERSION_9_POST_MSG = colors.cyan( - '\nYour project has been updated to Angular version 9!\n' + - 'For more info, please see: https://v9.angular.io/guide/updating-to-version-9', -); /** * Disable CLI version mismatch checks and forces usage of the invoked CLI @@ -57,6 +54,8 @@ const disableVersionCheck = disableVersionCheckEnv !== '0' && disableVersionCheckEnv.toLowerCase() !== 'false'; +const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; + export class UpdateCommand extends Command { public readonly allowMissingWorkspace = true; private workflow!: NodeWorkflow; @@ -64,17 +63,14 @@ export class UpdateCommand extends Command { async initialize() { this.packageManager = await getPackageManager(this.context.root); - this.workflow = new NodeWorkflow( - this.context.root, - { - packageManager: this.packageManager, - // __dirname -> favor @schematics/update from this package - // Otherwise, use packages from the active workspace (migrations) - resolvePaths: [__dirname, this.context.root], - schemaValidation: true, - engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), - }, - ); + this.workflow = new NodeWorkflow(this.context.root, { + packageManager: this.packageManager, + // __dirname -> favor @schematics/update from this package + // Otherwise, use packages from the active workspace (migrations) + resolvePaths: [__dirname, this.context.root], + schemaValidation: true, + engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), + }); } private async executeSchematic( @@ -86,7 +82,7 @@ export class UpdateCommand extends Command { let logs: string[] = []; const files = new Set(); - const reporterSubscription = this.workflow.reporter.subscribe(event => { + const reporterSubscription = this.workflow.reporter.subscribe((event) => { // Strip leading slash to prevent confusion. const eventPath = event.path.startsWith('/') ? event.path.substr(1) : event.path; @@ -116,11 +112,11 @@ export class UpdateCommand extends Command { } }); - const lifecycleSubscription = this.workflow.lifeCycle.subscribe(event => { + const lifecycleSubscription = this.workflow.lifeCycle.subscribe((event) => { if (event.kind == 'end' || event.kind == 'post-tasks-start') { if (!error) { // Output the logging queue, no error happened. - logs.forEach(log => this.logger.info(` ${log}`)); + logs.forEach((log) => this.logger.info(` ${log}`)); logs = []; } } @@ -143,12 +139,14 @@ export class UpdateCommand extends Command { return { success: !error, files }; } catch (e) { if (e instanceof UnsuccessfulWorkflowExecution) { - this.logger.error(`${colors.symbols.cross} Migration failed. See above for further details.\n`); + this.logger.error( + `${colors.symbols.cross} Migration failed. See above for further details.\n`, + ); } else { const logPath = writeErrorToLogFile(e); this.logger.fatal( `${colors.symbols.cross} Migration failed: ${e.message}\n` + - ` See "${logPath}" for further details.\n`, + ` See "${logPath}" for further details.\n`, ); } @@ -166,7 +164,7 @@ export class UpdateCommand extends Command { commit?: boolean, ): Promise { const collection = this.workflow.engine.createCollection(collectionPath); - const name = collection.listSchematicNames().find(name => name === migrationName); + const name = collection.listSchematicNames().find((name) => name === migrationName); if (!name) { this.logger.error(`Cannot find migration '${migrationName}' in '${packageName}'.`); @@ -215,15 +213,13 @@ export class UpdateCommand extends Command { return true; } - this.logger.info( - colors.cyan(`** Executing migrations of package '${packageName}' **\n`), - ); + this.logger.info(colors.cyan(`** Executing migrations of package '${packageName}' **\n`)); return this.executePackageMigrations(migrations, packageName, commit); } private async executePackageMigrations( - migrations: Iterable<{ name: string; description: string; collection: { name: string }}>, + migrations: Iterable<{ name: string; description: string; collection: { name: string } }>, packageName: string, commit = false, ): Promise { @@ -231,8 +227,9 @@ export class UpdateCommand extends Command { const [title, ...description] = migration.description.split('. '); this.logger.info( - colors.cyan(colors.symbols.pointer) + ' ' + - colors.bold(title.endsWith('.') ? title : title + '.'), + colors.cyan(colors.symbols.pointer) + + ' ' + + colors.bold(title.endsWith('.') ? title : title + '.'), ); if (description.length) { @@ -269,19 +266,27 @@ export class UpdateCommand extends Command { async run(options: UpdateCommandSchema & Arguments) { await ensureCompatibleNpm(this.context.root); - // Check if the current installed CLI version is older than the latest version. - if (!disableVersionCheck && await this.checkCLILatestVersion(options.verbose, options.next)) { - this.logger.warn( - `The installed local Angular CLI version is older than the latest ${options.next ? 'pre-release' : 'stable'} version.\n` + - 'Installing a temporary version to perform the update.', + // Check if the current installed CLI version is older than the latest compatible version. + if (!disableVersionCheck) { + const cliVersionToInstall = await this.checkCLIVersion( + options['--'], + options.verbose, + options.next, ); - return runTempPackageBin( - `@angular/cli@${options.next ? 'next' : 'latest'}`, - this.logger, - this.packageManager, - process.argv.slice(2), - ); + if (cliVersionToInstall) { + this.logger.warn( + 'The installed Angular CLI version is outdated.\n' + + `Installing a temporary Angular CLI versioned ${cliVersionToInstall} to perform the update.`, + ); + + return runTempPackageBin( + `@angular/cli@${cliVersionToInstall}`, + this.logger, + this.packageManager, + process.argv.slice(2), + ); + } } const logVerbose = (message: string) => { @@ -291,9 +296,10 @@ export class UpdateCommand extends Command { }; if (options.all) { - const updateCmd = this.packageManager === PackageManager.Yarn - ? `'yarn upgrade-interactive' or 'yarn upgrade'` - : `'${this.packageManager} update'`; + const updateCmd = + this.packageManager === PackageManager.Yarn + ? `'yarn upgrade-interactive' or 'yarn upgrade'` + : `'${this.packageManager} update'`; this.logger.warn(` '--all' functionality has been removed as updating multiple packages at once is not recommended. @@ -316,7 +322,7 @@ export class UpdateCommand extends Command { return 1; } - if (packages.some(v => v.name === packageIdentifier.name)) { + if (packages.some((v) => v.name === packageIdentifier.name)) { this.logger.error(`Duplicate package '${packageIdentifier.name}' specified.`); return 1; @@ -397,7 +403,9 @@ export class UpdateCommand extends Command { if (options.migrateOnly) { if (!options.from && typeof options.migrateOnly !== 'string') { - this.logger.error('"from" option is required when using the "migrate-only" option without a migration name.'); + this.logger.error( + '"from" option is required when using the "migrate-only" option without a migration name.', + ); return 1; } else if (packages.length !== 1) { @@ -460,8 +468,7 @@ export class UpdateCommand extends Command { if (migrations.startsWith('../')) { this.logger.error( - 'Package contains an invalid migrations field. ' + - 'Paths outside the package root are not permitted.', + 'Package contains an invalid migrations field. Paths outside the package root are not permitted.', ); return 1; @@ -487,9 +494,8 @@ export class UpdateCommand extends Command { } } - let success = false; if (typeof options.migrateOnly == 'string') { - success = await this.executeMigration( + await this.executeMigration( packageName, migrations, options.migrateOnly, @@ -506,8 +512,7 @@ export class UpdateCommand extends Command { const migrationRange = new semver.Range( '>' + from + ' <=' + (options.to || packageNode.version), ); - - success = await this.executeMigrations( + await this.executeMigrations( packageName, migrations, migrationRange, @@ -515,19 +520,6 @@ export class UpdateCommand extends Command { ); } - if (success) { - if ( - packageName === '@angular/core' - && options.from - && +options.from.split('.')[0] < 9 - && (options.to || packageNode.version).split('.')[0] === '9' - ) { - this.logger.info(NG_VERSION_9_POST_MSG); - } - - return 0; - } - return 1; } @@ -623,7 +615,7 @@ export class UpdateCommand extends Command { continue; } - if (node.package && /^@(?:angular|nguniversal)\//.test(node.package.name)) { + if (node.package && ANGULAR_PACKAGES_REGEXP.test(node.package.name)) { const { name, version } = node.package; const toBeInstalledMajorVersion = +manifest.version.split('.')[0]; const currentMajorVersion = +version.split('.')[0]; @@ -670,7 +662,8 @@ export class UpdateCommand extends Command { if (success && options.createCommits) { const committed = this.commit( - `Angular CLI update for packages - ${packagesToUpdate.join(', ')}`); + `Angular CLI update for packages - ${packagesToUpdate.join(', ')}`, + ); if (!committed) { return 1; } @@ -759,10 +752,6 @@ export class UpdateCommand extends Command { return 0; } } - - if (migrations.some(m => m.package === '@angular/core' && m.to.split('.')[0] === '9' && +m.from.split('.')[0] < 9)) { - this.logger.info(NG_VERSION_9_POST_MSG); - } } return success ? 0 : 1; @@ -792,8 +781,7 @@ export class UpdateCommand extends Command { try { createCommit(message); } catch (err) { - this.logger.error( - `Failed to commit update (${message}):\n${err.stderr}`); + this.logger.error(`Failed to commit update (${message}):\n${err.stderr}`); return false; } @@ -802,8 +790,7 @@ export class UpdateCommand extends Command { const hash = findCurrentGitSha(); const shortMessage = message.split('\n')[0]; if (hash) { - this.logger.info(` Committed migration step (${getShortHash(hash)}): ${ - shortMessage}.`); + this.logger.info(` Committed migration step (${getShortHash(hash)}): ${shortMessage}.`); } else { // Commit was successful, but reading the hash was not. Something weird happened, // but nothing that would stop the update. Just log the weirdness and continue. @@ -816,7 +803,10 @@ export class UpdateCommand extends Command { private checkCleanGit(): boolean { try { - const topLevel = execSync('git rev-parse --show-toplevel', { encoding: 'utf8', stdio: 'pipe' }); + const topLevel = execSync('git rev-parse --show-toplevel', { + encoding: 'utf8', + stdio: 'pipe', + }); const result = execSync('git status --porcelain', { encoding: 'utf8', stdio: 'pipe' }); if (result.trim().length === 0) { return true; @@ -839,14 +829,16 @@ export class UpdateCommand extends Command { } /** - * Checks if the current installed CLI version is older than the latest version. - * @returns `true` when the installed version is older. - */ - private async checkCLILatestVersion(verbose = false, next = false): Promise { - const { version: installedCLIVersion } = require('../package.json'); - - const LatestCLIManifest = await fetchPackageManifest( - `@angular/cli@${next ? 'next' : 'latest'}`, + * Checks if the current installed CLI version is older or newer than a compatible version. + * @returns the version to install or null when there is no update to install. + */ + private async checkCLIVersion( + packagesToUpdate: string[] | undefined, + verbose = false, + next = false, + ): Promise { + const { version } = await fetchPackageManifest( + `@angular/cli@${this.getCLIUpdateRunnerVersion(packagesToUpdate, next)}`, this.logger, { verbose, @@ -854,7 +846,38 @@ export class UpdateCommand extends Command { }, ); - return semver.lt(installedCLIVersion, LatestCLIManifest.version); + return VERSION.full === version ? null : version; + } + + private getCLIUpdateRunnerVersion( + packagesToUpdate: string[] | undefined, + next: boolean, + ): string | number { + if (next) { + return 'next'; + } + + const updatingAngularPackage = packagesToUpdate?.find((r) => ANGULAR_PACKAGES_REGEXP.test(r)); + if (updatingAngularPackage) { + // If we are updating any Angular package we can update the CLI to the target version because + // migrations for @angular/core@13 can be executed using Angular/cli@13. + // This is same behaviour as `npx @angular/cli@13 update @angular/core@13`. + + // `@angular/cli@13` -> ['', 'angular/cli', '13'] + // `@angular/cli` -> ['', 'angular/cli'] + const tempVersion = coerceVersionNumber(updatingAngularPackage.split('@')[2]); + + return semver.parse(tempVersion)?.major ?? 'latest'; + } + + // When not updating an Angular package we cannot determine which schematic runtime the migration should to be executed in. + // Typically, we can assume that the `@angular/cli` was updated previously. + // Example: Angular official packages are typically updated prior to NGRX etc... + // Therefore, we only update to the latest patch version of the installed major version of the Angular CLI. + + // This is important because we might end up in a scenario where locally Angular v12 is installed, updating NGRX from 11 to 12. + // We end up using Angular ClI v13 to run the migrations if we run the migrations using the CLI installed major version + 1 logic. + return VERSION.major; } } @@ -887,7 +910,7 @@ function createCommit(message: string) { */ function findCurrentGitSha(): string | null { try { - const hash = execSync('git rev-parse HEAD', {encoding: 'utf8', stdio: 'pipe'}); + const hash = execSync('git rev-parse HEAD', { encoding: 'utf8', stdio: 'pipe' }); return hash.trim(); } catch { diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index cc3f5a00b229..7a67dabea1c8 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -108,7 +108,11 @@ if (process.env['NG_CLI_PROFILING']) { if (isGlobalGreater) { // If using the update command and the global version is greater, use the newer update command // This allows improvements in update to be used in older versions that do not have bootstrapping - if (process.argv[2] === 'update') { + if ( + process.argv[2] === 'update' && + cli.VERSION && + cli.VERSION.major - globalVersion.major <= 1 + ) { cli = await import('./cli'); } else if (await isWarningEnabled('versionMismatch')) { // Otherwise, use local version and warn if global is newer than local diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 7c7f278858fe..1cf2fe9840bf 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -1,11 +1,12 @@ -import { rimraf, writeFile } from '../../utils/fs'; +import { rimraf } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; import { ng, npm } from '../../utils/process'; +import { isPrereleaseCli } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; const warningText = 'npm version 7.5.6 or higher is recommended'; -export default async function() { +export default async function () { // Only relevant with npm as a package manager if (getActivePackageManager() !== 'npm') { return; @@ -17,12 +18,18 @@ export default async function() { } const currentDirectory = process.cwd(); + + const extraArgs = []; + if (isPrereleaseCli()) { + extraArgs.push('--next'); + } + try { // Install version >=7.5.6 await npm('install', '--global', 'npm@>=7.5.6'); // Ensure `ng update` does not show npm warning - const { stderr: stderrUpdate1 } = await ng('update'); + const { stderr: stderrUpdate1 } = await ng('update', ...extraArgs); if (stderrUpdate1.includes(warningText)) { throw new Error('ng update expected to not show npm version warning.'); } @@ -37,7 +44,7 @@ export default async function() { } // Ensure `ng update` shows npm warning - const { stderr: stderrUpdate2 } = await ng('update'); + const { stderr: stderrUpdate2 } = await ng('update', ...extraArgs); if (!stderrUpdate2.includes(warningText)) { throw new Error('ng update expected to show npm version warning.'); } @@ -85,5 +92,4 @@ export default async function() { // Reset version back to 6.x await npm('install', '--global', 'npm@6'); } - } diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts deleted file mode 100644 index 9d59214e57a0..000000000000 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { createProjectFromAsset } from '../../utils/assets'; -import { installWorkspacePackages, setRegistry } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { isPrereleaseCli } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; - -export default async function () { - try { - await createProjectFromAsset('8.0-project', true, true); - await setRegistry(false); - await installWorkspacePackages(); - - await setRegistry(true); - const extraArgs = ['--force']; - if (isPrereleaseCli()) { - extraArgs.push('--next'); - } - - const { message } = await expectToFail(() => - ng('update', '@angular/cli', '--force', ...extraArgs), - ); - if ( - !message.includes( - `Updating multiple major versions of '@angular/cli' at once is not supported`, - ) - ) { - console.error(message); - throw new Error( - `Expected error message to include "Updating multiple major versions of '@angular/cli' at once is not supported" but didn't.`, - ); - } - } finally { - await setRegistry(true); - } -} From 21a49e6492dda1c4a325c0339518c3c110880d02 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 24 Nov 2021 15:54:20 +0100 Subject: [PATCH 676/696] test(@angular/cli): fix failing CI tests --- packages/angular/cli/commands/update-impl.ts | 8 ++++---- tests/legacy-cli/e2e/tests/build/material.ts | 2 +- .../e2e/tests/commands/add/version-specifier.ts | 5 ----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 68125104c6e0..485fe6e05e65 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -43,7 +43,6 @@ const pickManifest = require('npm-pick-manifest') as ( const oldConfigFileNames = ['.angular-cli.json', 'angular-cli.json']; - /** * Disable CLI version mismatch checks and forces usage of the invoked CLI * instead of invoking the local installed version. @@ -494,8 +493,9 @@ export class UpdateCommand extends Command { } } + let result: boolean; if (typeof options.migrateOnly == 'string') { - await this.executeMigration( + result = await this.executeMigration( packageName, migrations, options.migrateOnly, @@ -512,7 +512,7 @@ export class UpdateCommand extends Command { const migrationRange = new semver.Range( '>' + from + ' <=' + (options.to || packageNode.version), ); - await this.executeMigrations( + result = await this.executeMigrations( packageName, migrations, migrationRange, @@ -520,7 +520,7 @@ export class UpdateCommand extends Command { ); } - return 1; + return result ? 0 : 1; } const requests: { diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 4ee43b0f5a30..b4c4c8ee6650 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -28,7 +28,7 @@ export default async function () { await installWorkspacePackages(); } else { - await installPackage('@angular/material-moment-adapter'); + await installPackage('@angular/material-moment-adapter@11'); } await installPackage('moment'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts index df4903d3c29d..3e4eae89b7f3 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts @@ -18,11 +18,6 @@ export default async function () { throw new Error('Installation was not skipped'); } - const output2 = await ng('add', '@angular/localize@latest'); - if (output2.stdout.includes('Skipping installation: Package already installed')) { - throw new Error('Installation should not have been skipped'); - } - const output3 = await ng('add', '@angular/localize@10.0.0'); if (output3.stdout.includes('Skipping installation: Package already installed')) { throw new Error('Installation should not have been skipped'); From 3230d0f74ab2e86a5f36e070ebce585c28ddc051 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 7 Dec 2021 12:38:27 -0800 Subject: [PATCH 677/696] test(@angular/cli): disable NPM 7 with Node v10 test NPM 7 doesn't support Node v10, so this test will always fail. --- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 1cf2fe9840bf..e08e204d89fc 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -17,6 +17,11 @@ export default async function () { return; } + // NPM 7 doesn't support Node v10. + if (process.version.startsWith('v10')) { + return; + } + const currentDirectory = process.cwd(); const extraArgs = []; From ce39092cca8d522d88ec5f6d8b2e3fc3b84f487a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 9 Dec 2021 16:00:50 -0800 Subject: [PATCH 678/696] ci: bump Windows Node version to v12.13 This is the [minimum for Tailwind](https://github.com/tailwindlabs/tailwindcss/pull/2582), so it is required. --- .circleci/config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bd37a66f34a3..1e2b3903adfe 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -77,8 +77,8 @@ commands: at: *workspace_location setup_windows: steps: - - run: nvm install 12.1.0 - - run: nvm use 12.1.0 + - run: nvm install 12.13.0 + - run: nvm use 12.13.0 - run: npm install -g yarn@1.17.3 - run: node --version - run: yarn --version @@ -255,7 +255,7 @@ jobs: # too early without Saucelabs not being ready. - run: ./scripts/saucelabs/wait-for-tunnel.sh - run: PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts --ve - - run: PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts + - run: PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts - run: ./scripts/saucelabs/stop-tunnel.sh build: @@ -283,7 +283,7 @@ jobs: - custom_attach_workspace - run: name: Decrypt Credentials - # Note: when changing the image, you might have to re-encrypt the credentials with a + # Note: when changing the image, you might have to re-encrypt the credentials with a # matching version of openssl. # See https://stackoverflow.com/a/43847627/2116927 for more info. command: | @@ -324,7 +324,7 @@ jobs: - setup_windows # Run partial e2e suite on PRs only. Master will run the full e2e suite with sharding. - run: if (Test-Path env:CIRCLE_PR_NUMBER) { node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts}" } - + e2e-cli-win: executor: windows-executor parallelism: 4 @@ -395,12 +395,12 @@ workflows: # Bazel jobs # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and - # will catch any build errors before proceeding to the more lengthy and resource intensive + # will catch any build errors before proceeding to the more lengthy and resource intensive # Bazel jobs. - test: requires: - build - + # Windows jobs # These jobs only run after their non-windows counterparts finish successfully. # This isn't strictly necessary as there is no artifact dependency, but helps economize @@ -419,7 +419,7 @@ workflows: requires: - setup-and-build-win - e2e-cli - + # Publish jobs - snapshot_publish: <<: *only_release_branches @@ -453,4 +453,4 @@ workflows: - build - test-browsers: requires: - - build \ No newline at end of file + - build From a24362c495fce25caedae0b2c25d771742e27c6b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 13 Dec 2021 16:51:43 -0800 Subject: [PATCH 679/696] build: update `.nvmrc` to align with Puppeteer version `puppeteer@6.0.0` requires version `>= 10.18.1` to install. --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 4e31022509a8..fd26bfb7c563 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -10.13 +10.18.1 From 4241d3fbeb6537bd6eb5d2b259c8e7936dfe9d2a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 13 Dec 2021 16:53:03 -0800 Subject: [PATCH 680/696] ci: disable Webpack 5 test in Node v10 Webpack 5 has a transitive dependency on `@npmcli/fs@1.1.0` which doesn't support Node v10, so this test always fails. See: https://app.circleci.com/pipelines/github/angular/angular-cli/19498/workflows/efed3ec6-d3a1-4c2e-b7e6-c2d771d84103/jobs/279530. --- tests/legacy-cli/e2e/tests/misc/webpack-5.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/legacy-cli/e2e/tests/misc/webpack-5.ts b/tests/legacy-cli/e2e/tests/misc/webpack-5.ts index c76c513d6f00..1c6c1e9c45bc 100644 --- a/tests/legacy-cli/e2e/tests/misc/webpack-5.ts +++ b/tests/legacy-cli/e2e/tests/misc/webpack-5.ts @@ -4,6 +4,11 @@ import { killAllProcesses, ng, silentYarn } from '../../utils/process'; import { ngServe, updateJsonFile } from '../../utils/project'; export default async function() { + // Webpack 5 has a transitive dependency on `@npmcli/fs@1.1.0`, which doesn't support Node v10. + if (process.version.startsWith('v10')) { + return; + } + // Setup project for yarn usage await rimraf('node_modules'); await updateJsonFile('package.json', (json) => { From e95af5f1b587856d08e71fb4b3f337a1f5376276 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 14 Dec 2021 11:57:49 -0800 Subject: [PATCH 681/696] release: cut the v11.2.16 release --- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000000..1d58d28e6282 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,15 @@ + + +# 11.2.16 (2021-12-14) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | +| [f456b0962](https://github.com/angular/angular-cli/commit/f456b0962b9f339759bc86c092256f68d68d9ecf) | fix | error when updating Angular packages across multi-major migrations | +| [886d2511e](https://github.com/angular/angular-cli/commit/886d2511e292b687acce1ac4c6924f992494d14f) | fix | logic which determines which temp version of the CLI is to be download during `ng update` | +| [776d1210a](https://github.com/angular/angular-cli/commit/776d1210a9e62bf2531d977138f49f93820a8b87) | fix | update `ng update` output for Angular packages | + +## Special Thanks + +Alan Agius and Doug Parker diff --git a/package.json b/package.json index 0a5cfb41c37b..9483d82b378b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.15", + "version": "11.2.16", "private": true, "description": "Software Development Kit for Angular", "bin": { From 061bca6035f0d20174a215408cb3df2878ec90e8 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 14 Dec 2021 14:52:42 -0800 Subject: [PATCH 682/696] Revert "release: cut the v11.2.16 release" This reverts commit e95af5f1b587856d08e71fb4b3f337a1f5376276. Release script failed due to a mismatch in NodeJS version. Will try again. --- CHANGELOG.md | 15 --------------- package.json | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 1d58d28e6282..000000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,15 +0,0 @@ - - -# 11.2.16 (2021-12-14) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | -| [f456b0962](https://github.com/angular/angular-cli/commit/f456b0962b9f339759bc86c092256f68d68d9ecf) | fix | error when updating Angular packages across multi-major migrations | -| [886d2511e](https://github.com/angular/angular-cli/commit/886d2511e292b687acce1ac4c6924f992494d14f) | fix | logic which determines which temp version of the CLI is to be download during `ng update` | -| [776d1210a](https://github.com/angular/angular-cli/commit/776d1210a9e62bf2531d977138f49f93820a8b87) | fix | update `ng update` output for Angular packages | - -## Special Thanks - -Alan Agius and Doug Parker diff --git a/package.json b/package.json index 9483d82b378b..0a5cfb41c37b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.16", + "version": "11.2.15", "private": true, "description": "Software Development Kit for Angular", "bin": { From 5753ffc7eaa5b48cacb851f679f142177049b629 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 14 Dec 2021 14:56:37 -0800 Subject: [PATCH 683/696] release: cut the v11.2.16 release --- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000000..1d58d28e6282 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,15 @@ + + +# 11.2.16 (2021-12-14) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | +| [f456b0962](https://github.com/angular/angular-cli/commit/f456b0962b9f339759bc86c092256f68d68d9ecf) | fix | error when updating Angular packages across multi-major migrations | +| [886d2511e](https://github.com/angular/angular-cli/commit/886d2511e292b687acce1ac4c6924f992494d14f) | fix | logic which determines which temp version of the CLI is to be download during `ng update` | +| [776d1210a](https://github.com/angular/angular-cli/commit/776d1210a9e62bf2531d977138f49f93820a8b87) | fix | update `ng update` output for Angular packages | + +## Special Thanks + +Alan Agius and Doug Parker diff --git a/package.json b/package.json index 0a5cfb41c37b..9483d82b378b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.15", + "version": "11.2.16", "private": true, "description": "Software Development Kit for Angular", "bin": { From 2366e2fa2f6053ad9d01814b3efa1370b4ac6985 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 15 Dec 2021 10:48:36 -0800 Subject: [PATCH 684/696] Revert "release: cut the v11.2.16 release" This reverts commit 5753ffc7eaa5b48cacb851f679f142177049b629. Release failed again for tooling reasons. --- CHANGELOG.md | 15 --------------- package.json | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 1d58d28e6282..000000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,15 +0,0 @@ - - -# 11.2.16 (2021-12-14) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | -| [f456b0962](https://github.com/angular/angular-cli/commit/f456b0962b9f339759bc86c092256f68d68d9ecf) | fix | error when updating Angular packages across multi-major migrations | -| [886d2511e](https://github.com/angular/angular-cli/commit/886d2511e292b687acce1ac4c6924f992494d14f) | fix | logic which determines which temp version of the CLI is to be download during `ng update` | -| [776d1210a](https://github.com/angular/angular-cli/commit/776d1210a9e62bf2531d977138f49f93820a8b87) | fix | update `ng update` output for Angular packages | - -## Special Thanks - -Alan Agius and Doug Parker diff --git a/package.json b/package.json index 9483d82b378b..0a5cfb41c37b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.16", + "version": "11.2.15", "private": true, "description": "Software Development Kit for Angular", "bin": { From 445eae8d2a5ba65b08b47798cfb9626588594bf0 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 15 Dec 2021 11:16:41 -0800 Subject: [PATCH 685/696] release: cut the v11.2.16 release --- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000000..9b5187ba2247 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,15 @@ + + +# 11.2.16 (2021-12-15) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | +| [f456b0962](https://github.com/angular/angular-cli/commit/f456b0962b9f339759bc86c092256f68d68d9ecf) | fix | error when updating Angular packages across multi-major migrations | +| [886d2511e](https://github.com/angular/angular-cli/commit/886d2511e292b687acce1ac4c6924f992494d14f) | fix | logic which determines which temp version of the CLI is to be download during `ng update` | +| [776d1210a](https://github.com/angular/angular-cli/commit/776d1210a9e62bf2531d977138f49f93820a8b87) | fix | update `ng update` output for Angular packages | + +## Special Thanks + +Alan Agius and Doug Parker diff --git a/package.json b/package.json index 0a5cfb41c37b..9483d82b378b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.15", + "version": "11.2.16", "private": true, "description": "Software Development Kit for Angular", "bin": { From 1efff8f82df38b7485f8a8dcdd5bfea5a457c6a1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 16 Dec 2021 12:37:31 +0100 Subject: [PATCH 686/696] fix(@angular/cli): exclude deprecated packages with removal migration from update Deprecated packages that may have been included in a project by the tooling are now ignored when validating an update. This change removes the need to use the `--force` option in a situation where the later migrations will remove and cleanup the deprecated packages. --- packages/schematics/update/update/index.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/schematics/update/update/index.ts b/packages/schematics/update/update/index.ts index e30b99ab9e76..596d3c454d87 100644 --- a/packages/schematics/update/update/index.ts +++ b/packages/schematics/update/update/index.ts @@ -172,9 +172,16 @@ function _validateReversePeerDependencies( continue; } - if (installed === '@angular-devkit/build-ng-packagr') { - // Ignore peerDependencies mismatches for `@angular-devkit/build-ng-packagr`. - // This package is deprecated and is removed via a migration. + // Ignore peerDependency mismatches for these packages. + // They are deprecated and removed via a migration. + const ignoredPackages = [ + 'codelyzer', + '@schematics/update', + '@angular-devkit/build-ng-packagr', + 'tsickle', + ]; + + if (ignoredPackages.includes(installed)) { continue; } From 1badd2179096a400823c1bde9245938283a5d85e Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 16 Dec 2021 09:33:11 -0800 Subject: [PATCH 687/696] release: v11.2.17 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 9483d82b378b..8a2fbb259ab6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.16", + "version": "11.2.17", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 15749534b7cf..6c5af28cd597 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.13', - DevkitBuildNgPackagr: '~0.1102.13', - DevkitBuildWebpack: '~0.1102.13', + DevkitBuildAngular: '~0.1102.17', + DevkitBuildNgPackagr: '~0.1102.17', + DevkitBuildWebpack: '~0.1102.17', ngPackagr: '^11.0.0', }; From 534678450196a45610e88a85ee01317aa43dc788 Mon Sep 17 00:00:00 2001 From: iRealNirmal Date: Wed, 12 Jan 2022 14:06:43 +0530 Subject: [PATCH 688/696] fix(@angular-devkit/build-angular): updated webpack-dev-server to latest security patch webpack-dev-server version 3.11.2 was using ansi-html which is depreciated but in latest version 3.11.3 it's changed to ansi-html-community version 0.0.8 which resolves issue. closes #22433 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 8a2fbb259ab6..18a21b4704d7 100644 --- a/package.json +++ b/package.json @@ -236,7 +236,7 @@ "verdaccio-auth-memory": "^9.7.2", "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.11.2", + "webpack-dev-server": "3.11.3", "webpack-merge": "5.7.3", "webpack-sources": "2.2.0", "webpack-subresource-integrity": "1.5.2", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index fbef1d15446b..549f6775c339 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -75,7 +75,7 @@ "tree-kill": "1.2.2", "webpack": "4.44.2", "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.11.2", + "webpack-dev-server": "3.11.3", "webpack-merge": "5.7.3", "webpack-sources": "2.2.0", "webpack-subresource-integrity": "1.5.2", diff --git a/yarn.lock b/yarn.lock index 26cbfd5fe64e..bb22fadc145e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2303,10 +2303,10 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: dependencies: type-fest "^0.11.0" -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^2.0.0: version "2.1.1" @@ -12571,12 +12571,12 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.11.2: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== +webpack-dev-server@3.11.3: + version "3.11.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" + integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== dependencies: - ansi-html "0.0.7" + ansi-html-community "0.0.8" bonjour "^3.5.0" chokidar "^2.1.8" compression "^1.7.4" From eb98a5339ef3b5533d1a92744b39b89bc0f93471 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 10 Jan 2022 16:29:05 -0800 Subject: [PATCH 689/696] docs: add README to `@schematics/update` This just points out that the package is deprecated and should no longer be used. --- packages/schematics/update/BUILD.bazel | 1 + packages/schematics/update/README.md | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 packages/schematics/update/README.md diff --git a/packages/schematics/update/BUILD.bazel b/packages/schematics/update/BUILD.bazel index 5a5f3ba4b350..0a02e723e62d 100644 --- a/packages/schematics/update/BUILD.bazel +++ b/packages/schematics/update/BUILD.bazel @@ -102,6 +102,7 @@ jasmine_node_test( pkg_npm( name = "npm_package", deps = [ + "README.md", ":update", ], ) diff --git a/packages/schematics/update/README.md b/packages/schematics/update/README.md new file mode 100644 index 000000000000..9ab2de97276e --- /dev/null +++ b/packages/schematics/update/README.md @@ -0,0 +1,4 @@ +# `@schematics/update` + +This package is **deprecated** and will not be updated beyond Angular v11 (`0.1102.x`). It should no +longer be used. From 6739204c63fc5d8aa88aa367958daf1fa83d6214 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 12 Jan 2022 16:04:38 -0800 Subject: [PATCH 690/696] release: 11.2.18 --- package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 18a21b4704d7..37f1758d9aac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.17", + "version": "11.2.18", "private": true, "description": "Software Development Kit for Angular", "bin": { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 6c5af28cd597..db3ecc6103f0 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -18,9 +18,9 @@ export const latestVersions = { // For our e2e tests, these versions must match the latest tag present on the branch. // During RC periods they will not match the latest RC until there's a new git tag, and // should not be updated. - DevkitBuildAngular: '~0.1102.17', - DevkitBuildNgPackagr: '~0.1102.17', - DevkitBuildWebpack: '~0.1102.17', + DevkitBuildAngular: '~0.1102.18', + DevkitBuildNgPackagr: '~0.1102.18', + DevkitBuildWebpack: '~0.1102.18', ngPackagr: '^11.0.0', }; From 7b10fef269ef3d7d0414b940e2e25e707cbc0dd5 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 12 Jan 2022 17:46:27 -0800 Subject: [PATCH 691/696] ci: remove Node v10 Node v10 is no longer supported by the Node.js team and it is difficult to keep CI green when the NPM infrastructure underneath the CLI is no longer expected to maintain Node v10 support. --- .circleci/config.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1e2b3903adfe..729fbb635eb5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -204,22 +204,6 @@ jobs: mkdir /mnt/ramdisk/e2e-yarn PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.ve >>--ve<> <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" - e2e-cli-node-10: - executor: - name: test-executor - nodeversion: "10.20" - parallelism: 4 - steps: - - custom_attach_workspace - - browser-tools/install-chrome - - run: - name: Initialize Environment - command: | - ./.circleci/env.sh - # Ensure latest v6 npm version to support local package repository - PATH=~/.npm-global/bin:$PATH npm install --global npm@6 - - run: PATH=~/.npm-global/bin:$PATH node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} - e2e-cli-node-14: executor: name: test-executor @@ -381,10 +365,6 @@ workflows: only: - renovate/angular - master - - e2e-cli-node-10: - <<: *only_release_branches - requires: - - e2e-cli - e2e-cli-node-14: <<: *only_release_branches requires: From 75caa1143f4007c9550ab0dabb62ae4df91e3827 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:07:12 +0100 Subject: [PATCH 692/696] fix(@angular-devkit/architect-cli): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/architect_cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 94fc9799e6ee..6ac3bbb2d5eb 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -17,7 +17,7 @@ "@angular-devkit/architect": "0.0.0", "@angular-devkit/core": "0.0.0", "ansi-colors": "4.1.1", - "minimist": "1.2.5", + "minimist": "1.2.6", "progress": "2.0.3", "rxjs": "6.6.3", "symbol-observable": "3.0.0" From 80d479e9fdfcf6863ebbe0986ea6cd29309f398d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:07:34 +0100 Subject: [PATCH 693/696] fix(@angular-devkit/schematics-cli): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/schematics_cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index 4087b839b7e8..26cfa63d0c3f 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -20,7 +20,7 @@ "@schematics/schematics": "0.0.0", "ansi-colors": "4.1.1", "inquirer": "7.3.3", - "minimist": "1.2.5", + "minimist": "1.2.6", "symbol-observable": "3.0.0" } } From f61cd1a79b6960711d4aa5b16d04308bbdc67beb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:08:00 +0100 Subject: [PATCH 694/696] fix(@angular-devkit/benchmark): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/benchmark/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 4a482add2b80..32b655023d9b 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -16,7 +16,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0", "ansi-colors": "4.1.1", - "minimist": "1.2.5", + "minimist": "1.2.6", "pidusage": "2.0.21", "pidtree": "0.5.0", "rxjs": "6.6.3", From f23ba6d3fef8ce583894fbaa56d8577dca8162fa Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:13:22 +0100 Subject: [PATCH 695/696] build: update `minimist` to `1.2.6` --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 37f1758d9aac..781712da1ef1 100644 --- a/package.json +++ b/package.json @@ -180,7 +180,7 @@ "magic-string": "0.25.7", "mini-css-extract-plugin": "1.3.5", "minimatch": "3.0.4", - "minimist": "^1.2.0", + "minimist": "1.2.6", "ng-packagr": "~11.1.0", "node-fetch": "^2.2.0", "npm-registry-client": "8.6.0", diff --git a/yarn.lock b/yarn.lock index bb22fadc145e..64fcd080557f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7882,10 +7882,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@1.2.6, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" From 970aaf9c95720ae366e0fbbaf48ab3c8880a03d0 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 30 Mar 2022 14:43:18 -0700 Subject: [PATCH 696/696] release: cut the v11.2.19 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b5187ba2247..8801fb68e07f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 11.2.19 (2022-03-30) + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [75caa1143](https://github.com/angular/angular-cli/commit/75caa1143f4007c9550ab0dabb62ae4df91e3827) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [80d479e9f](https://github.com/angular/angular-cli/commit/80d479e9fdfcf6863ebbe0986ea6cd29309f398d) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/benchmark + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [f61cd1a79](https://github.com/angular/angular-cli/commit/f61cd1a79b6960711d4aa5b16d04308bbdc67beb) | fix | update `minimist` to `1.2.6` | + +## Special Thanks + +Alan Agius and Doug Parker + + + # 11.2.16 (2021-12-15) diff --git a/package.json b/package.json index 781712da1ef1..6e635d9486f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "11.2.18", + "version": "11.2.19", "private": true, "description": "Software Development Kit for Angular", "bin": {