diff --git a/devtools/cypress/integration/base.e2e.js b/devtools/cypress/integration/base.e2e.js
index 40c14b45ed3..23b2154da2d 100644
--- a/devtools/cypress/integration/base.e2e.js
+++ b/devtools/cypress/integration/base.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
require('cypress-iframe');
describe('Testing the Todo app Demo', () => {
diff --git a/devtools/cypress/integration/comment-nodes.e2e.js b/devtools/cypress/integration/comment-nodes.e2e.js
index 4e023926744..5dea6569a2e 100644
--- a/devtools/cypress/integration/comment-nodes.e2e.js
+++ b/devtools/cypress/integration/comment-nodes.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
function showComments() {
cy.get('#nav-buttons > button:nth-child(2)').click();
cy.get('#mat-slide-toggle-3 > label > div').click();
diff --git a/devtools/cypress/integration/elements.e2e.js b/devtools/cypress/integration/elements.e2e.js
index 2b2fdcf3301..6bba4e50382 100644
--- a/devtools/cypress/integration/elements.e2e.js
+++ b/devtools/cypress/integration/elements.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
describe('Angular Elements', () => {
beforeEach(() => {
cy.visit('/');
diff --git a/devtools/cypress/integration/item-tracking.e2e.js b/devtools/cypress/integration/item-tracking.e2e.js
index 49febcac40f..d2d77a7dd4f 100644
--- a/devtools/cypress/integration/item-tracking.e2e.js
+++ b/devtools/cypress/integration/item-tracking.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
require('cypress-iframe');
describe('Tracking items from application to component tree', () => {
diff --git a/devtools/cypress/integration/node-search.e2e.js b/devtools/cypress/integration/node-search.e2e.js
index 5ae1d590e74..4a5dad89c8d 100644
--- a/devtools/cypress/integration/node-search.e2e.js
+++ b/devtools/cypress/integration/node-search.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
function checkSearchedNodesLength(type, length) {
cy.get(`.tree-wrapper:first ${type}`).its('length').should('eq', length);
}
diff --git a/devtools/cypress/integration/node-selection.e2e.js b/devtools/cypress/integration/node-selection.e2e.js
index ff145df076f..958a4ffd89a 100644
--- a/devtools/cypress/integration/node-selection.e2e.js
+++ b/devtools/cypress/integration/node-selection.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
require('cypress-iframe');
describe('node selection', () => {
diff --git a/devtools/cypress/integration/property-edit.e2e.js b/devtools/cypress/integration/property-edit.e2e.js
index f755434523c..4ec7f6a6e84 100644
--- a/devtools/cypress/integration/property-edit.e2e.js
+++ b/devtools/cypress/integration/property-edit.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
require('cypress-iframe');
describe('edit properties of directive in the property view tab', () => {
diff --git a/devtools/cypress/integration/property-update.e2e.js b/devtools/cypress/integration/property-update.e2e.js
index e541ec7e6d5..c04b08c2518 100644
--- a/devtools/cypress/integration/property-update.e2e.js
+++ b/devtools/cypress/integration/property-update.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
require('cypress-iframe');
describe('change of the state should reflect in property update', () => {
diff --git a/devtools/cypress/integration/view-component-metadata.e2e.js b/devtools/cypress/integration/view-component-metadata.e2e.js
index 41e49d87c1b..2edc9b75b72 100644
--- a/devtools/cypress/integration/view-component-metadata.e2e.js
+++ b/devtools/cypress/integration/view-component-metadata.e2e.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const prepareHeaderExpansionPanelForAssertions = (selector) => {
cy.get('.tree-wrapper').find(selector).first().click({force: true});
cy.get('.element-header .component-name').click();
@@ -13,13 +21,13 @@ describe('Viewing component metadata', () => {
() => prepareHeaderExpansionPanelForAssertions(
'.tree-node:contains("app-todo[TooltipDirective]")'));
- it('should display view encapsulation',
- () => {
- cy.contains('.meta-data-container .mat-button:first', 'View Encapsulation: Emulated')});
+ it('should display view encapsulation', () => {
+ cy.contains('.meta-data-container .mat-button:first', 'View Encapsulation: Emulated');
+ });
- it('should display change detection strategy',
- () => {cy.contains(
- '.meta-data-container .mat-button:last', 'Change Detection Strategy: OnPush')});
+ it('should display change detection strategy', () => {
+ cy.contains('.meta-data-container .mat-button:last', 'Change Detection Strategy: OnPush');
+ });
});
describe('viewing DemoAppComponent', () => {
@@ -27,12 +35,13 @@ describe('Viewing component metadata', () => {
() =>
prepareHeaderExpansionPanelForAssertions('.tree-node:contains("app-demo-component")'));
- it('should display view encapsulation',
- () => {cy.contains('.meta-data-container .mat-button:first', 'View Encapsulation: None')});
+ it('should display view encapsulation', () => {
+ cy.contains('.meta-data-container .mat-button:first', 'View Encapsulation: None');
+ });
- it('should display change detection strategy',
- () => {cy.contains(
- '.meta-data-container .mat-button:last', 'Change Detection Strategy: Default')});
+ it('should display change detection strategy', () => {
+ cy.contains('.meta-data-container .mat-button:last', 'Change Detection Strategy: Default');
+ });
it('should display correct set of inputs', () => {
cy.contains('.cy-inputs', '@Inputs');
diff --git a/devtools/cypress/plugins/index.js b/devtools/cypress/plugins/index.js
index 59b2bab6e4e..e1e45f0e5e0 100644
--- a/devtools/cypress/plugins/index.js
+++ b/devtools/cypress/plugins/index.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
///
// ***********************************************************
// This example plugins/index.js can be used to load plugins
@@ -19,4 +27,4 @@
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
-}
+};
diff --git a/devtools/cypress/support/commands.js b/devtools/cypress/support/commands.js
index ca4d256f3eb..c2e6f4da0da 100644
--- a/devtools/cypress/support/commands.js
+++ b/devtools/cypress/support/commands.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
diff --git a/devtools/cypress/support/index.js b/devtools/cypress/support/index.js
index 37a498fb5bf..4d49bfbe9ba 100644
--- a/devtools/cypress/support/index.js
+++ b/devtools/cypress/support/index.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
diff --git a/devtools/e2e/protractor.conf.js b/devtools/e2e/protractor.conf.js
index 47977a5833c..d86f600edbf 100644
--- a/devtools/e2e/protractor.conf.js
+++ b/devtools/e2e/protractor.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// @ts-check
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
diff --git a/devtools/e2e/src/app.e2e-spec.ts b/devtools/e2e/src/app.e2e-spec.ts
index 63426409d99..b03c57f8831 100644
--- a/devtools/e2e/src/app.e2e-spec.ts
+++ b/devtools/e2e/src/app.e2e-spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, logging} from 'protractor';
import {AppPage} from './app.po';
diff --git a/devtools/e2e/src/app.po.ts b/devtools/e2e/src/app.po.ts
index 414a15dfb5a..3a56a45bacc 100644
--- a/devtools/e2e/src/app.po.ts
+++ b/devtools/e2e/src/app.po.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, by, element} from 'protractor';
export class AppPage {
diff --git a/devtools/karma.conf.js b/devtools/karma.conf.js
index 9ee9e131749..aed54ef5bf4 100644
--- a/devtools/karma.conf.js
+++ b/devtools/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/packages.bzl b/devtools/packages.bzl
index d6839c63a37..b6ef37fc562 100644
--- a/devtools/packages.bzl
+++ b/devtools/packages.bzl
@@ -10,4 +10,4 @@ ANGULAR_PACKAGES = [
module_name = name,
)
for name, config in ANGULAR_PACKAGES_CONFIG
-]
\ No newline at end of file
+]
diff --git a/devtools/projects/demo-no-zone/e2e/protractor.conf.js b/devtools/projects/demo-no-zone/e2e/protractor.conf.js
index 47977a5833c..d86f600edbf 100644
--- a/devtools/projects/demo-no-zone/e2e/protractor.conf.js
+++ b/devtools/projects/demo-no-zone/e2e/protractor.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// @ts-check
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
diff --git a/devtools/projects/demo-no-zone/e2e/src/app.e2e-spec.ts b/devtools/projects/demo-no-zone/e2e/src/app.e2e-spec.ts
index 1756d379576..73adff85b58 100644
--- a/devtools/projects/demo-no-zone/e2e/src/app.e2e-spec.ts
+++ b/devtools/projects/demo-no-zone/e2e/src/app.e2e-spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, logging} from 'protractor';
import {AppPage} from './app.po';
diff --git a/devtools/projects/demo-no-zone/e2e/src/app.po.ts b/devtools/projects/demo-no-zone/e2e/src/app.po.ts
index 42c7f57e04f..8f6154d0fe0 100644
--- a/devtools/projects/demo-no-zone/e2e/src/app.po.ts
+++ b/devtools/projects/demo-no-zone/e2e/src/app.po.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, by, element} from 'protractor';
export class AppPage {
diff --git a/devtools/projects/demo-no-zone/karma.conf.js b/devtools/projects/demo-no-zone/karma.conf.js
index f1e23191f07..450b9ae3edc 100644
--- a/devtools/projects/demo-no-zone/karma.conf.js
+++ b/devtools/projects/demo-no-zone/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/demo-no-zone/src/app/app.component.ts b/devtools/projects/demo-no-zone/src/app/app.component.ts
index eea4d1141a3..23b4537a7fa 100644
--- a/devtools/projects/demo-no-zone/src/app/app.component.ts
+++ b/devtools/projects/demo-no-zone/src/app/app.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectorRef, Component} from '@angular/core';
@Component({
diff --git a/devtools/projects/demo-no-zone/src/app/app.module.ts b/devtools/projects/demo-no-zone/src/app/app.module.ts
index 44f3352474f..3707851d51f 100644
--- a/devtools/projects/demo-no-zone/src/app/app.module.ts
+++ b/devtools/projects/demo-no-zone/src/app/app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
diff --git a/devtools/projects/demo-no-zone/src/main.ts b/devtools/projects/demo-no-zone/src/main.ts
index 3a015cc02fa..8cc39f2cd03 100644
--- a/devtools/projects/demo-no-zone/src/main.ts
+++ b/devtools/projects/demo-no-zone/src/main.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {AppModule} from './app/app.module';
diff --git a/devtools/projects/demo-no-zone/src/polyfills.ts b/devtools/projects/demo-no-zone/src/polyfills.ts
index 08d84465f37..688dbca237c 100644
--- a/devtools/projects/demo-no-zone/src/polyfills.ts
+++ b/devtools/projects/demo-no-zone/src/polyfills.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/**
* This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file.
diff --git a/devtools/projects/demo-no-zone/src/rollup.config.js b/devtools/projects/demo-no-zone/src/rollup.config.js
index e97bbe39d53..b8a247ba087 100644
--- a/devtools/projects/demo-no-zone/src/rollup.config.js
+++ b/devtools/projects/demo-no-zone/src/rollup.config.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const {nodeResolve} = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
diff --git a/devtools/projects/demo-no-zone/src/test.ts b/devtools/projects/demo-no-zone/src/test.ts
index 6689f8bd3ed..dc77c3c5c1a 100644
--- a/devtools/projects/demo-no-zone/src/test.ts
+++ b/devtools/projects/demo-no-zone/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone-testing';
diff --git a/devtools/projects/ng-devtools-backend/index.ts b/devtools/projects/ng-devtools-backend/index.ts
index 1875d3f9bfe..5f89ecdb71a 100644
--- a/devtools/projects/ng-devtools-backend/index.ts
+++ b/devtools/projects/ng-devtools-backend/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './src/public-api';
diff --git a/devtools/projects/ng-devtools-backend/karma.conf.js b/devtools/projects/ng-devtools-backend/karma.conf.js
index f26dbcfad88..fcf018fa82f 100644
--- a/devtools/projects/ng-devtools-backend/karma.conf.js
+++ b/devtools/projects/ng-devtools-backend/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/ng-devtools-backend/src/lib/angular-check.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/angular-check.spec.ts
index 6dfa9400373..af49f096c23 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/angular-check.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/angular-check.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {appIsAngular, appIsAngularInDevMode, appIsAngularIvy, appIsSupportedAngularVersion, getAngularVersion,} from './angular-check';
const setNgVersion = (version = '12.0.0'): void =>
diff --git a/devtools/projects/ng-devtools-backend/src/lib/angular-check.ts b/devtools/projects/ng-devtools-backend/src/lib/angular-check.ts
index 051e31e9cbb..9d3290cd707 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/angular-check.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/angular-check.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
declare const ng: any;
export const appIsAngularInDevMode = (): boolean => {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts b/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts
index f555d2ee71f..b3e4705bccf 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ComponentExplorerViewQuery, ComponentType, DevToolsNode, DirectivePosition, DirectiveType, ElementPosition, Events, MessageBus, ProfilerFrame,} from 'protocol';
import {debounceTime} from 'rxjs/operators';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.spec.ts
index fc039796753..cd6c90208b5 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ComponentInspector} from './component-inspector';
describe('ComponentInspector', () => {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.ts b/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.ts
index 32c62f6f52b..e7cd06070b6 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/component-inspector/component-inspector.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementPosition} from 'protocol';
import {findNodeInForest} from '../component-tree';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts
index 9f16123f950..a032054fc79 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/component-tree.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ComponentExplorerViewQuery, DirectiveMetadata, DirectivesProperties, ElementPosition, PropertyQueryTypes, UpdatedStateData,} from 'protocol';
import {buildDirectiveTree, getLViewFromDirectiveOrElementInstance} from './directive-forest/index';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/index.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/index.ts
index 2a811fd1da8..e0ec86454ab 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/index.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {LTreeStrategy} from './ltree';
import {RTreeStrategy} from './render-tree';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/ltree.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/ltree.ts
index d0e8b4c9919..2ded1cf2861 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/ltree.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/ltree.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {SemVerDSL} from 'semver-dsl';
import {getDirectiveName} from '../highlighter';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.spec.ts
index 081ed7a634e..9e542936046 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {RTreeStrategy} from './render-tree';
describe('render tree extraction', () => {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.ts
index c6e12b1bc37..174a182a9fe 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/render-tree.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ComponentTreeNode} from '../interfaces';
import {isCustomElement} from '../utils';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/highlighter.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/highlighter.spec.ts
index ecfaffe6b45..09229266ba6 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/highlighter.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/highlighter.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 * as highlighter from './highlighter';
describe('highlighter', () => {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/highlighter.ts b/devtools/projects/ng-devtools-backend/src/lib/highlighter.ts
index 8028ac25e57..f63c17f26a0 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/highlighter.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/highlighter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
let overlay: any;
let overlayContent: HTMLElement;
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/capture.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/capture.ts
index 5c7c0d708c1..d3bd013c34b 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/capture.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/capture.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DirectiveProfile, ElementPosition, ElementProfile, LifecycleProfile, ProfilerFrame} from 'protocol';
import {getDirectiveName} from '../highlighter';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/hooks.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/hooks.ts
index 7fbdf9d2c3a..762c01cd659 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/hooks.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/hooks.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementPosition} from 'protocol';
import {ComponentTreeNode} from '../interfaces';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts
index 89bb0f36304..73998ba0892 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DevToolsNode, ElementPosition} from 'protocol';
import {buildDirectiveForest} from '../component-tree';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/index.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/index.ts
index 5b1aa6483aa..c1506811799 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/index.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {LifecycleProfile} from 'protocol';
import {getDirectiveName} from '../highlighter';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/index.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/index.ts
index d56b8d02f29..aec12240702 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/index.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgProfiler} from './native';
import {PatchingProfiler} from './polyfill';
import {Profiler} from './shared';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts
index 7512c2ab8f1..6d45a4f425a 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ɵProfilerEvent} from '@angular/core';
import {getDirectiveHostElement} from '../../directive-forest';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/polyfill.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/polyfill.ts
index 15a3571bbac..5fced77a4d6 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/polyfill.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/polyfill.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {getDirectiveHostElement, getLViewFromDirectiveOrElementInstance, METADATA_PROPERTY_NAME,} from '../../directive-forest';
import {runOutsideAngular} from '../../utils';
import {IdentityTracker, NodeArray} from '../identity-tracker';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/shared.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/shared.ts
index af2c08a3e05..3b47c34abc2 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/shared.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/shared.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementPosition, LifecycleProfile} from 'protocol';
import {Subject} from 'rxjs';
@@ -46,7 +54,9 @@ export interface Hooks {
* detection events.
*/
export abstract class Profiler {
+ /** @internal */
protected _inChangeDetection = false;
+
changeDetection$ = new Subject();
private _hooks: Partial[] = [];
@@ -67,6 +77,7 @@ export abstract class Profiler {
this._hooks.splice(this._hooks.indexOf(config), 1);
}
+ /** @internal */
protected _onCreate(
_: any, __: Node, id: number|undefined, ___: boolean,
position: ElementPosition|undefined): void {
@@ -76,6 +87,7 @@ export abstract class Profiler {
this._invokeCallback('onCreate', arguments);
}
+ /** @internal */
protected _onDestroy(
_: any, __: Node, id: number|undefined, ___: boolean,
position: ElementPosition|undefined): void {
@@ -85,6 +97,7 @@ export abstract class Profiler {
this._invokeCallback('onDestroy', arguments);
}
+ /** @internal */
protected _onChangeDetectionStart(
_: any, __: Node, id: number|undefined, position: ElementPosition|undefined): void {
if (id === undefined || position === undefined) {
@@ -93,6 +106,7 @@ export abstract class Profiler {
this._invokeCallback('onChangeDetectionStart', arguments);
}
+ /** @internal */
protected _onChangeDetectionEnd(
_: any, __: Node, id: number|undefined, position: ElementPosition|undefined): void {
if (id === undefined || position === undefined) {
@@ -101,6 +115,7 @@ export abstract class Profiler {
this._invokeCallback('onChangeDetectionEnd', arguments);
}
+ /** @internal */
protected _onLifecycleHookStart(
_: any, __: keyof LifecycleProfile|'unknown', ___: Node, id: number|undefined,
____: boolean): void {
@@ -110,6 +125,7 @@ export abstract class Profiler {
this._invokeCallback('onLifecycleHookStart', arguments);
}
+ /** @internal */
protected _onLifecycleHookEnd(
_: any, __: keyof LifecycleProfile|'unknown', ___: Node, id: number|undefined,
____: boolean): void {
@@ -119,6 +135,7 @@ export abstract class Profiler {
this._invokeCallback('onLifecycleHookEnd', arguments);
}
+ /** @internal */
protected _onOutputStart(_: any, __: string, ___: Node, id: number|undefined, ____: boolean):
void {
if (id === undefined) {
@@ -127,6 +144,7 @@ export abstract class Profiler {
this._invokeCallback('onOutputStart', arguments);
}
+ /** @internal */
protected _onOutputEnd(_: any, __: string, ___: Node, id: number|undefined, ____: boolean): void {
if (id === undefined) {
return;
@@ -134,6 +152,7 @@ export abstract class Profiler {
this._invokeCallback('onOutputEnd', arguments);
}
+ /** @internal */
private _invokeCallback(name: keyof Hooks, args: IArguments): void {
this._hooks.forEach((config) => {
const cb = config[name];
diff --git a/devtools/projects/ng-devtools-backend/src/lib/index.ts b/devtools/projects/ng-devtools-backend/src/lib/index.ts
index 4a741c3c390..b0f59e2fd42 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/index.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus} from 'protocol';
import {subscribeToClientEvents} from './client-event-subscribers';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/interfaces.ts b/devtools/projects/ng-devtools-backend/src/lib/interfaces.ts
index 943def56a18..b99de670423 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/interfaces.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/interfaces.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DevToolsNode} from 'protocol';
export interface DebuggingAPI {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/router-tree.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/router-tree.spec.ts
index dd5b4712ed0..8bb7b4ffe8c 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/router-tree.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/router-tree.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {parseRoutes} from './router-tree';
describe('parseRoutes', () => {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/router-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/router-tree.ts
index a89b0706ef6..df843a1d3a0 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/router-tree.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/router-tree.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Route} from 'protocol';
// todo(aleksanderbodurri): type these properly
diff --git a/devtools/projects/ng-devtools-backend/src/lib/set-console-reference.ts b/devtools/projects/ng-devtools-backend/src/lib/set-console-reference.ts
index 190129ad8c9..543cf677b26 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/set-console-reference.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/set-console-reference.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementPosition} from 'protocol';
import {arrayEquals} from 'shared-utils';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/object-utils.ts b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/object-utils.ts
index 27923beaaae..c3efcf9e047 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/object-utils.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/object-utils.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Intentionally do not include the prototype because it contains
// inherited methods (hasOwnProperty, etc.). Also ignore symbols
// because it is tricky to pass a path to a symbol.
diff --git a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts
index 6e64561c988..580800d6b8a 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Descriptor, NestedProp, PropType} from 'protocol';
import {getKeys} from './object-utils';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.spec.ts
index 2e4818694ab..b9f47fd8dff 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.spec.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {PropType} from 'protocol';
import {deeplySerializeSelectedProperties} from './state-serializer';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.ts b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.ts
index 3417040e4cd..01c2e07eb33 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Descriptor, NestedProp, PropType} from 'protocol';
import {getKeys} from './object-utils';
diff --git a/devtools/projects/ng-devtools-backend/src/lib/utils.ts b/devtools/projects/ng-devtools-backend/src/lib/utils.ts
index 7b0724b2087..601721f5a9f 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/utils.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/utils.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export const runOutsideAngular = (f: () => any): void => {
const w = window as any;
if (!w.Zone || !w.Zone.current) {
diff --git a/devtools/projects/ng-devtools-backend/src/lib/version.ts b/devtools/projects/ng-devtools-backend/src/lib/version.ts
index 25610eda60d..833ef1d97e7 100644
--- a/devtools/projects/ng-devtools-backend/src/lib/version.ts
+++ b/devtools/projects/ng-devtools-backend/src/lib/version.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const versionElement = document.querySelector('[ng-version]');
const versionRe = /(\d+\.\d+\.\d+(-(next|rc)\.\d+)?)/;
diff --git a/devtools/projects/ng-devtools-backend/src/public-api.ts b/devtools/projects/ng-devtools-backend/src/public-api.ts
index 9855cb8c4d0..c81f13b6355 100644
--- a/devtools/projects/ng-devtools-backend/src/public-api.ts
+++ b/devtools/projects/ng-devtools-backend/src/public-api.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/*
* Public API Surface of ng-devtools-backend
*/
diff --git a/devtools/projects/ng-devtools-backend/src/test.ts b/devtools/projects/ng-devtools-backend/src/test.ts
index 1ce190c07a7..61db79ba555 100644
--- a/devtools/projects/ng-devtools-backend/src/test.ts
+++ b/devtools/projects/ng-devtools-backend/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone';
diff --git a/devtools/projects/ng-devtools/index.ts b/devtools/projects/ng-devtools/index.ts
index 1875d3f9bfe..5f89ecdb71a 100644
--- a/devtools/projects/ng-devtools/index.ts
+++ b/devtools/projects/ng-devtools/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './src/public-api';
diff --git a/devtools/projects/ng-devtools/karma.conf.js b/devtools/projects/ng-devtools/karma.conf.js
index e367d32b11a..c5df4128ce4 100644
--- a/devtools/projects/ng-devtools/karma.conf.js
+++ b/devtools/projects/ng-devtools/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/ng-devtools/src/lib/application-environment/index.ts b/devtools/projects/ng-devtools/src/lib/application-environment/index.ts
index ea09fff0c04..19cf6111e6e 100644
--- a/devtools/projects/ng-devtools/src/lib/application-environment/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/application-environment/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
interface Env {
LATEST_SHA: string;
}
diff --git a/devtools/projects/ng-devtools/src/lib/application-operations/index.ts b/devtools/projects/ng-devtools/src/lib/application-operations/index.ts
index 912f1096cdb..58f03d835c4 100644
--- a/devtools/projects/ng-devtools/src/lib/application-operations/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/application-operations/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DirectivePosition, ElementPosition} from 'protocol';
export abstract class ApplicationOperations {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.ts
index 2b279c19036..fe61646a101 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AfterViewInit, Component, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';
import {MatSlideToggleChange} from '@angular/material/slide-toggle';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.module.ts
index 283ca2448df..6283fba4f57 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatButtonModule} from '@angular/material/button';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.spec.ts
index 3180068e98b..6182290b5bd 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus} from 'protocol';
import {ApplicationEnvironment} from '../application-environment/index';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/diffing/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/diffing/index.ts
index b570170869c..56cb4fb8f9d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/diffing/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/diffing/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// tslint:disable-next-line:deprecation
import {DefaultIterableDiffer} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.component.ts
index 67895f8fa54..5731e899c90 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output, ViewChild,} from '@angular/core';
import {ComponentExplorerView, ComponentExplorerViewQuery, DevToolsNode, DirectivePosition, ElementPosition, Events, MessageBus, PropertyQuery, PropertyQueryTypes,} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.module.ts
index 1fcd6d31083..a3cb1abb198 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ScrollingModule} from '@angular/cdk/scrolling';
import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.spec.ts
index 68a54308323..d39bdbb232e 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-explorer.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {PropertyQueryTypes} from 'protocol';
import {DirectiveExplorerComponent} from './directive-explorer.component';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.component.ts
index ec11acf6ab8..804b19114fc 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, ViewChild,} from '@angular/core';
import {Subject} from 'rxjs';
import {debounceTime} from 'rxjs/operators';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.module.ts
index 08c3533b8b2..011f7432d0b 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/breadcrumbs/breadcrumbs.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatButtonModule} from '@angular/material/button';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/component-data-source.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/component-data-source.spec.ts
index 503626e9a61..89a71236be8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/component-data-source.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/component-data-source.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlatTreeControl} from '@angular/cdk/tree';
import {DevToolsNode} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts
index 16c21334fa5..ab01c40109d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CollectionViewer, DataSource} from '@angular/cdk/collections';
import {FlatTreeControl} from '@angular/cdk/tree';
import {DefaultIterableDiffer, TrackByFunction} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest-utils.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest-utils.ts
index 890702aa347..79f42e2e225 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest-utils.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest-utils.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlatTreeControl} from '@angular/cdk/tree';
import {FlatNode} from './component-data-source';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.component.ts
index 213e0553ff0..f51b45e5ea9 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
import {FlatTreeControl} from '@angular/cdk/tree';
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, ViewChild,} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.module.ts
index dca26e986aa..d2c84cee4f2 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/directive-forest.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ScrollingModule} from '@angular/cdk/scrolling';
import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.ts
index 0d7b8ae9d4f..70ccd94e49f 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
@Component({
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.module.ts
index 57e1f3dd259..023536cd24d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatButtonModule} from '@angular/material/button';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index-forest.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index-forest.spec.ts
index 707d8f6f7db..16ee478a13d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index-forest.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index-forest.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {indexForest} from './';
describe('indexForest', () => {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts
index d2006be4a7b..b3dec3e73ed 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DevToolsNode, ElementPosition} from 'protocol';
export interface IndexedNode extends DevToolsNode {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.spec.ts
index c73679bd755..6038db45086 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {PropType} from 'protocol';
import {arrayifyProps} from './arrayify-props';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.ts
index 7659538da05..31060754181 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/arrayify-props.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Descriptor} from 'protocol';
import {Property} from './element-property-resolver';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.spec.ts
index 7574723dd4f..448c700f49d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Properties, PropType} from 'protocol';
import {DirectivePropertyResolver} from './directive-property-resolver';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.ts
index 7bdf7efdb6d..26b206f3cb3 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/directive-property-resolver.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlatTreeControl} from '@angular/cdk/tree';
import {ViewEncapsulation} from '@angular/core';
import {Descriptor, DirectivePosition, Events, MessageBus, NestedProp, Properties} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.spec.ts
index e5f73664645..19e04bc6add 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Properties, PropType} from 'protocol';
import {ElementPropertyResolver} from './element-property-resolver';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.ts
index 342d137f4cf..0ebba4791a8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/element-property-resolver.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Injectable} from '@angular/core';
import {ComponentExplorerViewProperties, Descriptor, DirectivePosition, DirectivesProperties, Events, MessageBus,} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/flatten.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/flatten.ts
index 7d492f45ec1..3255309fcf4 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/flatten.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/flatten.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {MatTreeFlattener} from '@angular/material/tree';
import {Descriptor, PropType} from 'protocol';
import {Observable} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.spec.ts
index 032ebf4c2c1..8f0eda584ce 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlatTreeControl} from '@angular/cdk/tree';
import {PropType} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.ts
index 3ca782f792d..24e19524042 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-data-source.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CollectionViewer, DataSource, SelectionChange} from '@angular/cdk/collections';
import {FlatTreeControl} from '@angular/cdk/tree';
import {DefaultIterableDiffer, TrackByFunction} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-expanded-directive-properties.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-expanded-directive-properties.ts
index 59fa1f914ff..238823ed6a3 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-expanded-directive-properties.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-resolver/property-expanded-directive-properties.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Descriptor, NestedProp, PropType} from 'protocol';
import {FlatNode} from './element-property-resolver';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts
index 7d532a8aca8..6432618777b 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectionStrategy, Component, Input} from '@angular/core';
import {ComponentType} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab-header.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab-header.component.ts
index 2ece811f5c7..6b4dd30bb1c 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab-header.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab-header.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';
import {IndexedNode} from '../directive-forest/index-forest';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.component.ts
index ccf1472dfcc..1d78089632d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
import {DirectivePosition} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.module.ts
index bd80eb0519b..1ae16b50ecc 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-tab.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatButtonModule} from '@angular/material/button';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-editor.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-editor.component.ts
index aee75cd1dcf..571d6096baa 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-editor.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-editor.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AfterViewChecked, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output,} from '@angular/core';
type EditorType = string|number|boolean;
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-preview.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-preview.component.ts
index 2224c71435a..8a0ab6e0acb 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-preview.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-preview.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
import {PropType} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-tab-body.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-tab-body.component.ts
index e3b2c53b822..36c8b20a7db 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-tab-body.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-tab-body.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
import {DirectivePosition} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-body.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-body.component.ts
index cb597391a11..79aee894df4 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-body.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-body.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';
import {Component, EventEmitter, Input, Output} from '@angular/core';
import {DirectivePosition} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-header.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-header.component.ts
index aa71f098d29..09b1caf3ac1 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-header.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-header.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Input} from '@angular/core';
@Component({
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-tree.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-tree.component.ts
index 882fe0d4bf1..5c4d0afd824 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-tree.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view-tree.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlatTreeControl} from '@angular/cdk/tree';
import {Component, EventEmitter, Input, Output} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.component.ts
index 2d9225670e7..239dbf5e294 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
import {DirectivePosition} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.module.ts
index 7865b272848..3577264eddc 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/property-view/property-view.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DragDropModule} from '@angular/cdk/drag-drop';
import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
index 5ba41a2ffd1..65c94194db3 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/file-api-service.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Injectable} from '@angular/core';
import {Subject} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
index d095a31b3ba..8e0ae352c08 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler-import-dialog.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
index c2d63f7d1d8..28939878256 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, OnDestroy, OnInit} from '@angular/core';
import {MatDialog} from '@angular/material/dialog';
import {Events, MessageBus, ProfilerFrame} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
index 7a7c8e0c439..6b0cf6ea7e2 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/profiler.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
index d550b4a54f3..13b1b0b58d0 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {createFilter, parseFilter} from './filter';
describe('filtering', () => {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
index 9c56d31dedf..820e82135d4 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/filter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ProfilerFrame} from 'protocol';
import {GraphNode} from './record-formatter/record-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
index 327640fd5e0..829dae109a9 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/frame-selector.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';
import {Observable, Subscription} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
index 8c9edef4fa0..d653833eb1c 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/bargraph-formatter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementProfile, ProfilerFrame} from 'protocol';
import {memo} from '../../../../../vendor/memo-decorator';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/index.ts
index 83345e58ce4..fef6d5e1663 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/bargraph-formatter/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './bargraph-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
index 52e01b3ed0f..974e9259de6 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AppEntry} from '../record-formatter';
import {NESTED_FORMATTED_FLAMEGRAPH_RECORD, NESTED_RECORD, SIMPLE_FORMATTED_FLAMEGRAPH_RECORD, SIMPLE_RECORD,} from '../record-formatter-spec-constants';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
index b55f37a9865..1c2fe1f234b 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/flamegraph-formatter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementProfile, ProfilerFrame} from 'protocol';
import {Theme} from '../../../../../theme-service';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/index.ts
index 73de3ae6f3e..4046c8a2692 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/flamegraph-formatter/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './flamegraph-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.spec.ts
index 5e5690db6d0..64be9dc47ca 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ProfilerFrame} from 'protocol';
import {mergeFrames} from './frame-merger';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
index 41cf9ec4531..fc04bb6464f 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/frame-merger.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DirectiveProfile, ElementProfile, ProfilerFrame} from 'protocol';
const mergeProperty = (mergeInProp: number|undefined, value: number|undefined) => {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
index a69f14a9ec6..604fe932839 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter-spec-constants.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {FlamegraphNode} from './flamegraph-formatter';
export const SIMPLE_RECORD = [
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
index 71c4f724e37..7ded8d853d6 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementProfile, ProfilerFrame} from 'protocol';
import {RecordFormatter} from './record-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
index 2cacc4cc113..09a53a15050 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/record-formatter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DirectiveProfile, ElementProfile, ProfilerFrame} from 'protocol';
export interface TimelineView {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/index.ts
index a9c18815b47..ab92c9caf95 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './tree-map-formatter';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.spec.ts
index 97da3fa73ef..fcb87537b9b 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AppEntry} from '../record-formatter';
import {SIMPLE_FORMATTED_TREE_MAP_RECORD, SIMPLE_RECORD} from '../record-formatter-spec-constants';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
index 460643b77ce..10a07fd5770 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/record-formatter/tree-map-formatter/tree-map-formatter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ElementProfile, ProfilerFrame} from 'protocol';
import {memo} from '../../../../../vendor/memo-decorator';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
index f54aba9a5bc..56a71cde647 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-dialog.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component} from '@angular/core';
@Component({
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
index 64f4350f6c6..c08044c1484 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-modal.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component} from '@angular/core';
@Component({
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
index dbd26b4e828..ffce4cbe4e7 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bar-chart.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {animate, animateChild, query, stagger, style, transition, trigger} from '@angular/animations';
import {Component, EventEmitter, Input, Output} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bargraph-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bargraph-visualizer.component.ts
index be6951b32b9..b9cf98756e5 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bargraph-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/bargraph-visualizer.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';
import {ProfilerFrame} from 'protocol';
import {Subscription} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/execution-details.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/execution-details.component.ts
index 083d37385ff..0be496540d1 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/execution-details.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/execution-details.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Input} from '@angular/core';
import {SelectedDirective} from './timeline-visualizer.component';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
index 1c70aa5304b..b88658ef3bb 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/flamegraph-visualizer.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';
import {Color, RawData} from 'ngx-flamegraph/lib/utils';
import {ProfilerFrame} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
index 5962bbda5b3..4bd54c397a8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/profile-formatter.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {DirectiveProfile} from 'protocol';
import {SelectedDirective} from './timeline-visualizer.component';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
index 6c065906f8e..0242e8fa036 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/recording-visualizer.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatCardModule} from '@angular/material/card';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
index 081405f7f8a..44ab5e43f27 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/timeline-visualizer.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Input} from '@angular/core';
import {ProfilerFrame} from 'protocol';
@@ -38,6 +46,8 @@ export class TimelineVisualizerComponent {
selectedEntry: BargraphNode|FlamegraphNode|null = null;
selectedDirectives: SelectedDirective[] = [];
parentHierarchy: {name: string}[] = [];
+
+ /** @internal */
_visualizationMode: VisualizationMode;
handleNodeSelect({entry, parentHierarchy, selectedDirectives}: SelectedEntry): void {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
index 0dd110e2a1e..9fbad00e1f1 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/recording-visualizer/tree-map-visualizer.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewChild} from '@angular/core';
import {ProfilerFrame} from 'protocol';
import {Subject, Subscription} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
index 1ae6b676be3..08e4e3d1eb8 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline-controls.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, Output} from '@angular/core';
import {ProfilerFrame} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.spec.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.spec.ts
index bfb565fa405..68a59d95b65 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.spec.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {TimelineComponent} from './timeline.component';
describe('TimelineComponent', () => {
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
index ee12d16f113..d27785bb50f 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, EventEmitter, Input, OnDestroy, Output} from '@angular/core';
import {ProfilerFrame} from 'protocol';
import {BehaviorSubject, Observable, Subscription} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
index 9f625e7335f..2e3d3f999cb 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/timeline.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ScrollingModule} from '@angular/cdk/scrolling';
import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/visualization-mode/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/visualization-mode/index.ts
index ee31e703c07..8d0c411b09c 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/visualization-mode/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/profiler/timeline/visualization-mode/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export enum VisualizationMode {
FlameGraph,
TreeMap,
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
index a13cc1bc21c..4fee025188c 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AfterViewInit, Component, ElementRef, Input, ViewChild} from '@angular/core';
import * as d3 from 'd3';
import {Events, MessageBus, Route} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
index f697d396e4b..c01c43779fd 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/router-tree/router-tree.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatDialogModule} from '@angular/material/dialog';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/tab-update/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/tab-update/index.ts
index 4601d183685..42a03cb270d 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/tab-update/index.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/tab-update/index.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Observable, Subject} from 'rxjs';
import {share} from 'rxjs/operators';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools.component.ts b/devtools/projects/ng-devtools/src/lib/devtools.component.ts
index 74cd7a24781..e0ceceeb1b7 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools.component.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {animate, style, transition, trigger} from '@angular/animations';
import {Component, OnDestroy, OnInit} from '@angular/core';
import {Events, MessageBus} from 'protocol';
diff --git a/devtools/projects/ng-devtools/src/lib/devtools.module.ts b/devtools/projects/ng-devtools/src/lib/devtools.module.ts
index 26a53ca6b7f..1fadc433ec7 100644
--- a/devtools/projects/ng-devtools/src/lib/devtools.module.ts
+++ b/devtools/projects/ng-devtools/src/lib/devtools.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
diff --git a/devtools/projects/ng-devtools/src/lib/theme-service.ts b/devtools/projects/ng-devtools/src/lib/theme-service.ts
index f81a846016a..a394508af54 100644
--- a/devtools/projects/ng-devtools/src/lib/theme-service.ts
+++ b/devtools/projects/ng-devtools/src/lib/theme-service.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Injectable, Renderer2, RendererFactory2} from '@angular/core';
import {ReplaySubject, Subject} from 'rxjs';
diff --git a/devtools/projects/ng-devtools/src/public-api.ts b/devtools/projects/ng-devtools/src/public-api.ts
index c24607d7382..bb8fa054dde 100644
--- a/devtools/projects/ng-devtools/src/public-api.ts
+++ b/devtools/projects/ng-devtools/src/public-api.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/*
* Public API Surface of ng-devtools
*/
diff --git a/devtools/projects/ng-devtools/src/test.ts b/devtools/projects/ng-devtools/src/test.ts
index 1ce190c07a7..61db79ba555 100644
--- a/devtools/projects/ng-devtools/src/test.ts
+++ b/devtools/projects/ng-devtools/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone';
diff --git a/devtools/projects/protocol/index.ts b/devtools/projects/protocol/index.ts
index 1875d3f9bfe..5f89ecdb71a 100644
--- a/devtools/projects/protocol/index.ts
+++ b/devtools/projects/protocol/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './src/public-api';
diff --git a/devtools/projects/protocol/karma.conf.js b/devtools/projects/protocol/karma.conf.js
index cfddb6ee121..4ef16289119 100644
--- a/devtools/projects/protocol/karma.conf.js
+++ b/devtools/projects/protocol/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/protocol/src/lib/message-bus.ts b/devtools/projects/protocol/src/lib/message-bus.ts
index 9a46b75495e..f87408f3aee 100644
--- a/devtools/projects/protocol/src/lib/message-bus.ts
+++ b/devtools/projects/protocol/src/lib/message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export type Parameters = F extends(...args: infer T) => any ? T : never;
export abstract class MessageBus {
diff --git a/devtools/projects/protocol/src/lib/messages.ts b/devtools/projects/protocol/src/lib/messages.ts
index b8f87763811..94b4397bf4c 100644
--- a/devtools/projects/protocol/src/lib/messages.ts
+++ b/devtools/projects/protocol/src/lib/messages.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ViewEncapsulation} from '@angular/core';
export interface DirectiveType {
diff --git a/devtools/projects/protocol/src/lib/priority-aware-message-bus.spec.ts b/devtools/projects/protocol/src/lib/priority-aware-message-bus.spec.ts
index 9c877feef11..9a37c27552d 100644
--- a/devtools/projects/protocol/src/lib/priority-aware-message-bus.spec.ts
+++ b/devtools/projects/protocol/src/lib/priority-aware-message-bus.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {MessageBus} from './message-bus';
import {Events, Topic} from './messages';
import {PriorityAwareMessageBus} from './priority-aware-message-bus';
diff --git a/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts b/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
index ec8270ecf1b..f7bf5c2852a 100644
--- a/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
+++ b/devtools/projects/protocol/src/lib/priority-aware-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {MessageBus} from './message-bus';
import {Events, Topic} from './messages';
diff --git a/devtools/projects/protocol/src/public-api.ts b/devtools/projects/protocol/src/public-api.ts
index 6a7dd11d5ca..6444e12ca34 100644
--- a/devtools/projects/protocol/src/public-api.ts
+++ b/devtools/projects/protocol/src/public-api.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/*
* Public API Surface of protocol
*/
diff --git a/devtools/projects/protocol/src/test.ts b/devtools/projects/protocol/src/test.ts
index 565fff1d5ad..7c411f7f6a0 100644
--- a/devtools/projects/protocol/src/test.ts
+++ b/devtools/projects/protocol/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone';
diff --git a/devtools/projects/shared-utils/index.ts b/devtools/projects/shared-utils/index.ts
index 1875d3f9bfe..5f89ecdb71a 100644
--- a/devtools/projects/shared-utils/index.ts
+++ b/devtools/projects/shared-utils/index.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
export * from './src/public-api';
diff --git a/devtools/projects/shared-utils/karma.conf.js b/devtools/projects/shared-utils/karma.conf.js
index c870e74a9af..13b0738e72d 100644
--- a/devtools/projects/shared-utils/karma.conf.js
+++ b/devtools/projects/shared-utils/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/shared-utils/src/lib/shared-utils.spec.ts b/devtools/projects/shared-utils/src/lib/shared-utils.spec.ts
index c02d0d8d075..9951a4ca5c3 100644
--- a/devtools/projects/shared-utils/src/lib/shared-utils.spec.ts
+++ b/devtools/projects/shared-utils/src/lib/shared-utils.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {arrayEquals} from 'shared-utils';
describe('arrayEquals', () => {
diff --git a/devtools/projects/shared-utils/src/lib/shared-utils.ts b/devtools/projects/shared-utils/src/lib/shared-utils.ts
index 9cd3308a0b0..8f539d671c2 100644
--- a/devtools/projects/shared-utils/src/lib/shared-utils.ts
+++ b/devtools/projects/shared-utils/src/lib/shared-utils.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// works with arrays of string, numbers and booleans
export const arrayEquals =
(a: (string|number|boolean)[], b: (string|number|boolean)[]): boolean => {
diff --git a/devtools/projects/shared-utils/src/public-api.ts b/devtools/projects/shared-utils/src/public-api.ts
index ef595143228..ad35606e6bc 100644
--- a/devtools/projects/shared-utils/src/public-api.ts
+++ b/devtools/projects/shared-utils/src/public-api.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/*
* Public API Surface of shared-utils
*/
diff --git a/devtools/projects/shared-utils/src/test.ts b/devtools/projects/shared-utils/src/test.ts
index 565fff1d5ad..7c411f7f6a0 100644
--- a/devtools/projects/shared-utils/src/test.ts
+++ b/devtools/projects/shared-utils/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone';
diff --git a/devtools/projects/shell-chrome/e2e/protractor.conf.js b/devtools/projects/shell-chrome/e2e/protractor.conf.js
index 47977a5833c..d86f600edbf 100644
--- a/devtools/projects/shell-chrome/e2e/protractor.conf.js
+++ b/devtools/projects/shell-chrome/e2e/protractor.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// @ts-check
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
diff --git a/devtools/projects/shell-chrome/e2e/src/app.e2e-spec.ts b/devtools/projects/shell-chrome/e2e/src/app.e2e-spec.ts
index c27c3e13647..fa9f5668601 100644
--- a/devtools/projects/shell-chrome/e2e/src/app.e2e-spec.ts
+++ b/devtools/projects/shell-chrome/e2e/src/app.e2e-spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, logging} from 'protractor';
import {AppPage} from './app.po';
diff --git a/devtools/projects/shell-chrome/e2e/src/app.po.ts b/devtools/projects/shell-chrome/e2e/src/app.po.ts
index 414a15dfb5a..3a56a45bacc 100644
--- a/devtools/projects/shell-chrome/e2e/src/app.po.ts
+++ b/devtools/projects/shell-chrome/e2e/src/app.po.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {browser, by, element} from 'protractor';
export class AppPage {
diff --git a/devtools/projects/shell-chrome/karma.conf.js b/devtools/projects/shell-chrome/karma.conf.js
index c1648e6011a..e4b1dc21748 100644
--- a/devtools/projects/shell-chrome/karma.conf.js
+++ b/devtools/projects/shell-chrome/karma.conf.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
diff --git a/devtools/projects/shell-chrome/set-version.js b/devtools/projects/shell-chrome/set-version.js
index b13d15c8b87..93ea1a0dc2a 100644
--- a/devtools/projects/shell-chrome/set-version.js
+++ b/devtools/projects/shell-chrome/set-version.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const chalk = require('chalk');
const {createInterface} = require('readline');
const semver = require('semver');
@@ -8,7 +16,10 @@ const MANIFEST_PATH = join(__dirname, 'src/manifest.json');
const manifest = JSON.parse(readFileSync(MANIFEST_PATH).toString());
+// tslint:disable-next-line:no-console
console.log('Current version', chalk.yellow(manifest.version));
+
+// tslint:disable-next-line:no-console
console.log('Current version name', chalk.yellow(manifest.version_name));
const setVersion = (nextVersion) => {
diff --git a/devtools/projects/shell-chrome/src/app/BUILD.bazel b/devtools/projects/shell-chrome/src/app/BUILD.bazel
index b753beb303b..ab4251fa975 100644
--- a/devtools/projects/shell-chrome/src/app/BUILD.bazel
+++ b/devtools/projects/shell-chrome/src/app/BUILD.bazel
@@ -184,8 +184,8 @@ rollup_bundle(
],
)
for target_name, file_name, format in [
- ("ng_validate", 'ng-validate.ts', "umd"),
- ("background", 'background.ts', "umd"),
- ("content_script", 'content-script.ts', "umd"),
+ ("ng_validate", "ng-validate.ts", "umd"),
+ ("background", "background.ts", "umd"),
+ ("content_script", "content-script.ts", "umd"),
]
]
diff --git a/devtools/projects/shell-chrome/src/app/app.component.spec.ts b/devtools/projects/shell-chrome/src/app/app.component.spec.ts
index e2f53c13159..c746eb69de3 100644
--- a/devtools/projects/shell-chrome/src/app/app.component.spec.ts
+++ b/devtools/projects/shell-chrome/src/app/app.component.spec.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {TestBed, waitForAsync} from '@angular/core/testing';
import {RouterTestingModule} from '@angular/router/testing';
import {ApplicationOperations} from 'ng-devtools';
diff --git a/devtools/projects/shell-chrome/src/app/app.component.ts b/devtools/projects/shell-chrome/src/app/app.component.ts
index bd1d98b0963..cc9c187bdba 100644
--- a/devtools/projects/shell-chrome/src/app/app.component.ts
+++ b/devtools/projects/shell-chrome/src/app/app.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectorRef, Component, NgZone, OnInit} from '@angular/core';
import {Events, MessageBus, PriorityAwareMessageBus} from 'protocol';
diff --git a/devtools/projects/shell-chrome/src/app/app.module.ts b/devtools/projects/shell-chrome/src/app/app.module.ts
index b1f39a414e4..618e9612cde 100644
--- a/devtools/projects/shell-chrome/src/app/app.module.ts
+++ b/devtools/projects/shell-chrome/src/app/app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgModule} from '@angular/core';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {ApplicationEnvironment, ApplicationOperations, DevToolsModule} from 'ng-devtools';
diff --git a/devtools/projects/shell-chrome/src/app/backend.ts b/devtools/projects/shell-chrome/src/app/backend.ts
index 7cd35318b38..bbb267260d6 100644
--- a/devtools/projects/shell-chrome/src/app/backend.ts
+++ b/devtools/projects/shell-chrome/src/app/backend.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {initializeMessageBus} from 'ng-devtools-backend';
import {unHighlight} from '../../../ng-devtools-backend/src/lib/highlighter';
diff --git a/devtools/projects/shell-chrome/src/app/background.ts b/devtools/projects/shell-chrome/src/app/background.ts
index 6477cddb2a9..ea19a5af886 100644
--- a/devtools/projects/shell-chrome/src/app/background.ts
+++ b/devtools/projects/shell-chrome/src/app/background.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {AngularDetection} from './ng-validate';
// Electron does not expose browserAction object,
@@ -25,21 +33,32 @@ const ports: {
chrome.runtime.onConnect.addListener((port) => {
let tab: string|null = null;
let name: string|null = null;
+ // tslint:disable-next-line:no-console
console.log('Connection event in the background script');
+
if (isNumeric(port.name)) {
tab = port.name;
+
+ // tslint:disable-next-line:no-console
console.log('Angular devtools connected, injecting the content script', port.name, ports[tab]);
+
name = 'devtools';
installContentScript(parseInt(port.name, 10));
} else {
if (!port.sender || !port.sender.tab) {
+ // tslint:disable-next-line:no-console
console.error('Unable to access the port sender and sender tab');
+
return;
}
if (port.sender.tab.id === undefined) {
+ // tslint:disable-next-line:no-console
console.error('Sender tab id is undefined');
+
return;
}
+
+ // tslint:disable-next-line:no-console
console.log('Content script connected', port.sender.tab.id);
tab = port.sender.tab.id.toString();
name = 'content-script';
@@ -47,7 +66,9 @@ chrome.runtime.onConnect.addListener((port) => {
let portsTab = ports[tab];
if (!portsTab) {
+ // tslint:disable-next-line:no-console
console.log('Creating a tab port');
+
portsTab = ports[tab] = {
devtools: null,
'content-script': null,
@@ -66,7 +87,9 @@ const isNumeric = (str: string): boolean => {
};
const installContentScript = (tabId: number) => {
+ // tslint:disable-next-line:no-console
console.log('Installing the content-script');
+
// We first inject the content-script and after that
// invoke the global that it exposes.
chrome.tabs.executeScript(tabId, {file: 'app/content-script-es2015.js'}, (result) => {
@@ -83,6 +106,8 @@ const doublePipe =
console.warn('DevTools port is equal to null');
return;
}
+
+ // tslint:disable-next-line:no-console
console.log('Creating two-way communication channel', Date.now(), ports);
const onDevToolsMessage = (message: chrome.runtime.Port) => {
@@ -96,7 +121,9 @@ const doublePipe =
contentScriptPort.onMessage.addListener(onContentScriptMessage);
const shutdown = (source: string) => {
+ // tslint:disable-next-line:no-console
console.log('Disconnecting', source);
+
devtoolsPort.onMessage.removeListener(onDevToolsMessage);
contentScriptPort.onMessage.removeListener(onContentScriptMessage);
devtoolsPort.disconnect();
diff --git a/devtools/projects/shell-chrome/src/app/chrome-application-environment.ts b/devtools/projects/shell-chrome/src/app/chrome-application-environment.ts
index 6f50d3eb272..0941192bbc1 100644
--- a/devtools/projects/shell-chrome/src/app/chrome-application-environment.ts
+++ b/devtools/projects/shell-chrome/src/app/chrome-application-environment.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ApplicationEnvironment, Environment} from 'ng-devtools';
import {environment} from '../environments/environment';
diff --git a/devtools/projects/shell-chrome/src/app/chrome-application-operations.ts b/devtools/projects/shell-chrome/src/app/chrome-application-operations.ts
index dc0faef8534..12c375d8e97 100644
--- a/devtools/projects/shell-chrome/src/app/chrome-application-operations.ts
+++ b/devtools/projects/shell-chrome/src/app/chrome-application-operations.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ApplicationOperations} from 'ng-devtools';
import {DirectivePosition, ElementPosition} from 'protocol';
diff --git a/devtools/projects/shell-chrome/src/app/chrome-message-bus.ts b/devtools/projects/shell-chrome/src/app/chrome-message-bus.ts
index d811cb86694..92fe183bacd 100644
--- a/devtools/projects/shell-chrome/src/app/chrome-message-bus.ts
+++ b/devtools/projects/shell-chrome/src/app/chrome-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus, Parameters} from 'protocol';
interface ChromeMessage {
diff --git a/devtools/projects/shell-chrome/src/app/chrome-window-extensions.ts b/devtools/projects/shell-chrome/src/app/chrome-window-extensions.ts
index 73fb7c7a73f..c959191857f 100644
--- a/devtools/projects/shell-chrome/src/app/chrome-window-extensions.ts
+++ b/devtools/projects/shell-chrome/src/app/chrome-window-extensions.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {findNodeFromSerializedPosition} from 'ng-devtools-backend';
import {buildDirectiveForest, queryDirectiveForest} from '../../../ng-devtools-backend/src/lib/component-tree';
diff --git a/devtools/projects/shell-chrome/src/app/content-script.ts b/devtools/projects/shell-chrome/src/app/content-script.ts
index 243143d536f..68f6dd6a7d5 100644
--- a/devtools/projects/shell-chrome/src/app/content-script.ts
+++ b/devtools/projects/shell-chrome/src/app/content-script.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChromeMessageBus} from './chrome-message-bus';
import {SamePageMessageBus} from './same-page-message-bus';
@@ -39,7 +47,9 @@ export const main = () => {
});
if (!backendInitialized) {
+ // tslint:disable-next-line:no-console
console.log('Attempting initialization', new Date());
+
const retry = () => {
if (backendInitialized || backgroundDisconnected) {
return;
diff --git a/devtools/projects/shell-chrome/src/app/inject.ts b/devtools/projects/shell-chrome/src/app/inject.ts
index a150da97a21..0bf1762b840 100644
--- a/devtools/projects/shell-chrome/src/app/inject.ts
+++ b/devtools/projects/shell-chrome/src/app/inject.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const loadScripts = (urls: string[]) => {
return urls
.map((url, idx) => {
@@ -35,6 +43,7 @@ export const injectScripts = (urls: string[], cb?: () => void) => {
`;
chrome.devtools.inspectedWindow.eval(script, (_, err) => {
if (err) {
+ // tslint:disable-next-line:no-console
console.log(err);
}
cb?.();
diff --git a/devtools/projects/shell-chrome/src/app/ng-validate.ts b/devtools/projects/shell-chrome/src/app/ng-validate.ts
index 1a86e4d84a0..6c8f3e7ed89 100644
--- a/devtools/projects/shell-chrome/src/app/ng-validate.ts
+++ b/devtools/projects/shell-chrome/src/app/ng-validate.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export interface AngularDetection {
// This is necessary because the runtime
// message listener handles messages globally
diff --git a/devtools/projects/shell-chrome/src/app/same-page-message-bus.ts b/devtools/projects/shell-chrome/src/app/same-page-message-bus.ts
index 8d2f3d1a5e4..12d335c0042 100644
--- a/devtools/projects/shell-chrome/src/app/same-page-message-bus.ts
+++ b/devtools/projects/shell-chrome/src/app/same-page-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus, Parameters} from 'protocol';
type AnyEventCallback = (topic: E, args: Parameters) => void;
diff --git a/devtools/projects/shell-chrome/src/app/zone-aware-chrome-message-bus.ts b/devtools/projects/shell-chrome/src/app/zone-aware-chrome-message-bus.ts
index 20ef1e2d700..71b57d5d111 100644
--- a/devtools/projects/shell-chrome/src/app/zone-aware-chrome-message-bus.ts
+++ b/devtools/projects/shell-chrome/src/app/zone-aware-chrome-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgZone} from '@angular/core';
import {Events, MessageBus, Parameters} from 'protocol';
diff --git a/devtools/projects/shell-chrome/src/devtools.ts b/devtools/projects/shell-chrome/src/devtools.ts
index 0f6aedbed5f..53b10dd3325 100644
--- a/devtools/projects/shell-chrome/src/devtools.ts
+++ b/devtools/projects/shell-chrome/src/devtools.ts
@@ -1 +1,9 @@
+/**
+ * @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
+ */
+
chrome.devtools.panels.create('Angular', 'assets/icon-bw16.png', 'index.html');
diff --git a/devtools/projects/shell-chrome/src/environments/environment.ts b/devtools/projects/shell-chrome/src/environments/environment.ts
index cfd976264b8..6830d2daa76 100644
--- a/devtools/projects/shell-chrome/src/environments/environment.ts
+++ b/devtools/projects/shell-chrome/src/environments/environment.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export const environment = {
production: false,
LATEST_SHA: 'BUILD_SCM_COMMIT_SHA', // Stamped at build time by bazel
diff --git a/devtools/projects/shell-chrome/src/main.ts b/devtools/projects/shell-chrome/src/main.ts
index 2da4fd7312b..8eda7b2185f 100644
--- a/devtools/projects/shell-chrome/src/main.ts
+++ b/devtools/projects/shell-chrome/src/main.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {enableProdMode} from '@angular/core';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
diff --git a/devtools/projects/shell-chrome/src/polyfills.ts b/devtools/projects/shell-chrome/src/polyfills.ts
index 07fda0d3349..ce706b283a1 100644
--- a/devtools/projects/shell-chrome/src/polyfills.ts
+++ b/devtools/projects/shell-chrome/src/polyfills.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/**
* This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file.
diff --git a/devtools/projects/shell-chrome/src/rollup.config.js b/devtools/projects/shell-chrome/src/rollup.config.js
index e97bbe39d53..b8a247ba087 100644
--- a/devtools/projects/shell-chrome/src/rollup.config.js
+++ b/devtools/projects/shell-chrome/src/rollup.config.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const {nodeResolve} = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
diff --git a/devtools/projects/shell-chrome/src/test.ts b/devtools/projects/shell-chrome/src/test.ts
index 6689f8bd3ed..dc77c3c5c1a 100644
--- a/devtools/projects/shell-chrome/src/test.ts
+++ b/devtools/projects/shell-chrome/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone-testing';
diff --git a/devtools/src/app/app.component.ts b/devtools/src/app/app.component.ts
index 16d16dd1212..69d11f1147a 100644
--- a/devtools/src/app/app.component.ts
+++ b/devtools/src/app/app.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component} from '@angular/core';
import {Router} from '@angular/router';
diff --git a/devtools/src/app/app.e2e.module.ts b/devtools/src/app/app.e2e.module.ts
index 4df03d3e184..4f80e631c04 100644
--- a/devtools/src/app/app.e2e.module.ts
+++ b/devtools/src/app/app.e2e.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgModule} from '@angular/core';
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/app/app.module.ts b/devtools/src/app/app.module.ts
index 6483379a15a..fca1f4df1f6 100644
--- a/devtools/src/app/app.module.ts
+++ b/devtools/src/app/app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgModule} from '@angular/core';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/app/demo-app/demo-app.component.ts b/devtools/src/app/demo-app/demo-app.component.ts
index 08e5a49929e..78a71c74337 100644
--- a/devtools/src/app/demo-app/demo-app.component.ts
+++ b/devtools/src/app/demo-app/demo-app.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from '@angular/core';
import {ZippyComponent} from './zippy.component';
diff --git a/devtools/src/app/demo-app/demo-app.module.ts b/devtools/src/app/demo-app/demo-app.module.ts
index 9f3b74918fb..27acda37b98 100644
--- a/devtools/src/app/demo-app/demo-app.module.ts
+++ b/devtools/src/app/demo-app/demo-app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CUSTOM_ELEMENTS_SCHEMA, Injector, NgModule} from '@angular/core';
import {createCustomElement} from '@angular/elements';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/app/demo-app/heavy.component.ts b/devtools/src/app/demo-app/heavy.component.ts
index c1d4f08c486..b70999d4caa 100644
--- a/devtools/src/app/demo-app/heavy.component.ts
+++ b/devtools/src/app/demo-app/heavy.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Input} from '@angular/core';
const fib = (n: number) => {
diff --git a/devtools/src/app/demo-app/todo/about/about.component.ts b/devtools/src/app/demo-app/todo/about/about.component.ts
index 95099b431f9..771e7017e14 100644
--- a/devtools/src/app/demo-app/todo/about/about.component.ts
+++ b/devtools/src/app/demo-app/todo/about/about.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component} from '@angular/core';
@Component({
diff --git a/devtools/src/app/demo-app/todo/about/about.module.ts b/devtools/src/app/demo-app/todo/about/about.module.ts
index 0c86c98d1c6..26997999725 100644
--- a/devtools/src/app/demo-app/todo/about/about.module.ts
+++ b/devtools/src/app/demo-app/todo/about/about.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/app/demo-app/todo/app-todo.component.ts b/devtools/src/app/demo-app/todo/app-todo.component.ts
index fdfccc02534..58a2a46779b 100644
--- a/devtools/src/app/demo-app/todo/app-todo.component.ts
+++ b/devtools/src/app/demo-app/todo/app-todo.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component} from '@angular/core';
import {MatDialog} from '@angular/material/dialog';
@@ -21,7 +29,9 @@ export class AppTodoComponent {
});
dialogRef.afterClosed().subscribe((result) => {
+ // tslint:disable-next-line:no-console
console.log('The dialog was closed');
+
this.animal = result;
});
}
diff --git a/devtools/src/app/demo-app/todo/app.module.ts b/devtools/src/app/demo-app/todo/app.module.ts
index 58dde424229..0b88dfebaaa 100644
--- a/devtools/src/app/demo-app/todo/app.module.ts
+++ b/devtools/src/app/demo-app/todo/app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
diff --git a/devtools/src/app/demo-app/todo/dialog.component.ts b/devtools/src/app/demo-app/todo/dialog.component.ts
index 28dc3e4542e..874a027689f 100644
--- a/devtools/src/app/demo-app/todo/dialog.component.ts
+++ b/devtools/src/app/demo-app/todo/dialog.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
diff --git a/devtools/src/app/demo-app/todo/home/home.module.ts b/devtools/src/app/demo-app/todo/home/home.module.ts
index 5966cd0683c..cdf7a4222d8 100644
--- a/devtools/src/app/demo-app/todo/home/home.module.ts
+++ b/devtools/src/app/demo-app/todo/home/home.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/app/demo-app/todo/home/sample.pipe.ts b/devtools/src/app/demo-app/todo/home/sample.pipe.ts
index a9738f74e81..003268af515 100644
--- a/devtools/src/app/demo-app/todo/home/sample.pipe.ts
+++ b/devtools/src/app/demo-app/todo/home/sample.pipe.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {OnDestroy, Pipe, PipeTransform} from '@angular/core';
@Pipe({
@@ -10,6 +18,7 @@ export class SamplePipe implements PipeTransform, OnDestroy {
}
ngOnDestroy(): void {
+ // tslint:disable-next-line:no-console
console.log('Destroying');
}
}
diff --git a/devtools/src/app/demo-app/todo/home/todo.component.ts b/devtools/src/app/demo-app/todo/home/todo.component.ts
index 3757e0484b4..f53af99fb3d 100644
--- a/devtools/src/app/demo-app/todo/home/todo.component.ts
+++ b/devtools/src/app/demo-app/todo/home/todo.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';
import {Todo} from './todo';
diff --git a/devtools/src/app/demo-app/todo/home/todo.ts b/devtools/src/app/demo-app/todo/home/todo.ts
index be89de9333f..8cad0c0bf12 100644
--- a/devtools/src/app/demo-app/todo/home/todo.ts
+++ b/devtools/src/app/demo-app/todo/home/todo.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
export interface Todo {
id: string;
completed: boolean;
diff --git a/devtools/src/app/demo-app/todo/home/todos.component.ts b/devtools/src/app/demo-app/todo/home/todos.component.ts
index b2099ef2096..74e03c81a21 100644
--- a/devtools/src/app/demo-app/todo/home/todos.component.ts
+++ b/devtools/src/app/demo-app/todo/home/todos.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output} from '@angular/core';
import {Todo} from './todo';
@@ -88,7 +96,9 @@ export class TodosComponent implements OnInit, OnDestroy {
if (idx < 0) {
return;
}
+ // tslint:disable-next-line:no-console
console.log('Deleting', idx);
+
this.todos.splice(idx, 1);
}
}
diff --git a/devtools/src/app/demo-app/todo/home/todos.pipe.ts b/devtools/src/app/demo-app/todo/home/todos.pipe.ts
index c3090a3446d..ccd4cd92099 100644
--- a/devtools/src/app/demo-app/todo/home/todos.pipe.ts
+++ b/devtools/src/app/demo-app/todo/home/todos.pipe.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Pipe, PipeTransform} from '@angular/core';
import {Todo} from './todo';
diff --git a/devtools/src/app/demo-app/todo/home/todos.service.ts b/devtools/src/app/demo-app/todo/home/todos.service.ts
index 549c9fb4840..0e6af8e76a5 100644
--- a/devtools/src/app/demo-app/todo/home/todos.service.ts
+++ b/devtools/src/app/demo-app/todo/home/todos.service.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Todo} from './todo';
export abstract class TodosService {
diff --git a/devtools/src/app/demo-app/todo/home/tooltip.directive.ts b/devtools/src/app/demo-app/todo/home/tooltip.directive.ts
index c24ded83368..57d54913f9d 100644
--- a/devtools/src/app/demo-app/todo/home/tooltip.directive.ts
+++ b/devtools/src/app/demo-app/todo/home/tooltip.directive.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Directive, HostListener} from '@angular/core';
@Directive({
diff --git a/devtools/src/app/demo-app/zippy.component.ts b/devtools/src/app/demo-app/zippy.component.ts
index 3495a6f5054..4eeb6688d89 100644
--- a/devtools/src/app/demo-app/zippy.component.ts
+++ b/devtools/src/app/demo-app/zippy.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, Input} from '@angular/core';
@Component({
diff --git a/devtools/src/app/devtools-app/devtools-app.component.ts b/devtools/src/app/devtools-app/devtools-app.component.ts
index 799cdfcd95c..64096e31cb3 100644
--- a/devtools/src/app/devtools-app/devtools-app.component.ts
+++ b/devtools/src/app/devtools-app/devtools-app.component.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Component, ElementRef, ViewChild} from '@angular/core';
import {Events, MessageBus, PriorityAwareMessageBus} from 'protocol';
diff --git a/devtools/src/app/devtools-app/devtools-app.module.ts b/devtools/src/app/devtools-app/devtools-app.module.ts
index 51b1d366eac..22a0d9c31a0 100644
--- a/devtools/src/app/devtools-app/devtools-app.module.ts
+++ b/devtools/src/app/devtools-app/devtools-app.module.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
diff --git a/devtools/src/demo-application-environment.ts b/devtools/src/demo-application-environment.ts
index 3957c2f56d0..1b9dcc4b212 100644
--- a/devtools/src/demo-application-environment.ts
+++ b/devtools/src/demo-application-environment.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ApplicationEnvironment, Environment} from 'ng-devtools';
import {environment} from './environments/environment';
diff --git a/devtools/src/demo-application-operations.ts b/devtools/src/demo-application-operations.ts
index dcc4601b1aa..b3d284475b8 100644
--- a/devtools/src/demo-application-operations.ts
+++ b/devtools/src/demo-application-operations.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {ApplicationOperations} from 'ng-devtools';
import {DirectivePosition, ElementPosition} from 'protocol';
diff --git a/devtools/src/environments/environment.ts b/devtools/src/environments/environment.ts
index 641ad2ee7c0..9d0f39a4897 100644
--- a/devtools/src/environments/environment.ts
+++ b/devtools/src/environments/environment.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {BrowserAnimationsModule} from '@angular/platform-browser/animations';
export const environment = {
diff --git a/devtools/src/iframe-message-bus.ts b/devtools/src/iframe-message-bus.ts
index ea180074457..6727337e092 100644
--- a/devtools/src/iframe-message-bus.ts
+++ b/devtools/src/iframe-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus, Parameters} from 'protocol';
type AnyEventCallback = (topic: E, args: Parameters) => void;
diff --git a/devtools/src/main.e2e.ts b/devtools/src/main.e2e.ts
index d9ed43db570..c178875a106 100644
--- a/devtools/src/main.e2e.ts
+++ b/devtools/src/main.e2e.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {enableProdMode} from '@angular/core';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
diff --git a/devtools/src/main.ts b/devtools/src/main.ts
index e9f3d949d53..275b30a422d 100644
--- a/devtools/src/main.ts
+++ b/devtools/src/main.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {enableProdMode} from '@angular/core';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
diff --git a/devtools/src/polyfills.ts b/devtools/src/polyfills.ts
index c835d0ad7eb..7ca4ce670f2 100644
--- a/devtools/src/polyfills.ts
+++ b/devtools/src/polyfills.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
/**
* This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file.
diff --git a/devtools/src/rollup.config.js b/devtools/src/rollup.config.js
index e97bbe39d53..b8a247ba087 100644
--- a/devtools/src/rollup.config.js
+++ b/devtools/src/rollup.config.js
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
const {nodeResolve} = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
diff --git a/devtools/src/test.ts b/devtools/src/test.ts
index 6689f8bd3ed..dc77c3c5c1a 100644
--- a/devtools/src/test.ts
+++ b/devtools/src/test.ts
@@ -1,3 +1,11 @@
+/**
+ * @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
+ */
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone-testing';
diff --git a/devtools/src/zone-unaware-iframe-message-bus.ts b/devtools/src/zone-unaware-iframe-message-bus.ts
index 9950f1b426e..d73ada38d92 100644
--- a/devtools/src/zone-unaware-iframe-message-bus.ts
+++ b/devtools/src/zone-unaware-iframe-message-bus.ts
@@ -1,3 +1,11 @@
+/**
+ * @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 {Events, MessageBus, Parameters} from 'protocol';
import {IFrameMessageBus} from './iframe-message-bus';
diff --git a/tslint.json b/tslint.json
index a3829138d11..fcefcebcf11 100644
--- a/tslint.json
+++ b/tslint.json
@@ -38,7 +38,8 @@
true,
{
"match": "Copyright Google LLC",
- "allow-single-line-comments": false
+ "allow-single-line-comments": false,
+ "default": "@license\nCopyright Google LLC All Rights Reserved.\n\nUse of this source code is governed by an MIT-style license that can be\nfound in the LICENSE file at https://angular.io/license"
}
],
"no-console": [
@@ -94,7 +95,8 @@
true,
{
"match": "Copyright Google LLC",
- "allow-single-line-comments": false
+ "allow-single-line-comments": false,
+ "default": "@license\nCopyright Google LLC All Rights Reserved.\n\nUse of this source code is governed by an MIT-style license that can be\nfound in the LICENSE file at https://angular.io/license"
}
],
"no-console": [
@@ -140,10 +142,11 @@
// Ignore zone.js directory
// TODO(JiaLiPassion): add zone.js back later
"./packages/zone.js/**/*",
- "./devtools/node_modules/**/*",
+
"./devtools/dist/**/*",
"./devtools/bazel-bin/**/*",
- "./devtools/bazel-out/**/*"
+ "./devtools/bazel-out/**/*",
+ "./devtools/projects/ng-devtools/src/lib/vendor/**/*"
]
}
}