@angular/compiler-cli 11.2.5 → 11.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -0
- package/index.js +5 -3
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +1 -1
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +4 -4
- package/ngcc/src/analysis/decoration_analyzer.js +10 -8
- package/ngcc/src/execution/analyze_entry_points.js +10 -4
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/build_marker.js +1 -1
- package/package.json +3 -3
- package/src/ngtsc/annotations/src/component.d.ts +4 -7
- package/src/ngtsc/annotations/src/component.js +107 -77
- package/src/ngtsc/annotations/src/directive.d.ts +3 -1
- package/src/ngtsc/annotations/src/directive.js +6 -3
- package/src/ngtsc/annotations/src/injectable.d.ts +3 -1
- package/src/ngtsc/annotations/src/injectable.js +6 -3
- package/src/ngtsc/annotations/src/ng_module.d.ts +3 -1
- package/src/ngtsc/annotations/src/ng_module.js +6 -3
- package/src/ngtsc/annotations/src/pipe.d.ts +3 -1
- package/src/ngtsc/annotations/src/pipe.js +6 -3
- package/src/ngtsc/core/api/src/options.d.ts +2 -3
- package/src/ngtsc/core/api/src/options.js +1 -1
- package/src/ngtsc/core/src/compiler.d.ts +19 -8
- package/src/ngtsc/core/src/compiler.js +222 -165
- package/src/ngtsc/cycles/src/imports.d.ts +3 -1
- package/src/ngtsc/cycles/src/imports.js +35 -30
- package/src/ngtsc/diagnostics/src/error_code.d.ts +7 -1
- package/src/ngtsc/diagnostics/src/error_code.js +10 -4
- package/src/ngtsc/incremental/src/state.d.ts +2 -1
- package/src/ngtsc/incremental/src/state.js +134 -129
- package/src/ngtsc/perf/index.d.ts +2 -2
- package/src/ngtsc/perf/index.js +8 -5
- package/src/ngtsc/perf/src/api.d.ts +300 -5
- package/src/ngtsc/perf/src/api.js +268 -1
- package/src/ngtsc/perf/src/noop.d.ts +7 -0
- package/src/ngtsc/perf/src/noop.js +25 -10
- package/src/ngtsc/perf/src/recorder.d.ts +58 -0
- package/src/ngtsc/perf/src/recorder.js +143 -0
- package/src/ngtsc/program.d.ts +0 -2
- package/src/ngtsc/program.js +138 -122
- package/src/ngtsc/transform/src/compilation.js +6 -4
- package/src/ngtsc/transform/src/transform.d.ts +2 -1
- package/src/ngtsc/transform/src/transform.js +5 -4
- package/src/ngtsc/tsc_plugin.js +14 -4
- package/src/ngtsc/typecheck/api/api.d.ts +27 -0
- package/src/ngtsc/typecheck/api/api.js +1 -1
- package/src/ngtsc/typecheck/src/checker.d.ts +3 -1
- package/src/ngtsc/typecheck/src/checker.js +132 -110
- package/src/ngtsc/typecheck/src/context.d.ts +3 -1
- package/src/ngtsc/typecheck/src/context.js +31 -30
- package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
- package/src/ngtsc/typecheck/src/environment.js +1 -1
- package/src/ngtsc/typecheck/src/oob.d.ts +6 -0
- package/src/ngtsc/typecheck/src/oob.js +36 -1
- package/src/ngtsc/typecheck/src/type_check_block.js +107 -23
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_file.js +3 -3
- package/src/perform_compile.js +16 -10
- package/src/version.js +1 -1
- package/src/ngtsc/perf/src/tracking.d.ts +0 -33
- package/src/ngtsc/perf/src/tracking.js +0 -103
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
/// <amd-module name="@angular/compiler-cli/src/ngtsc/perf/src/recorder" />
|
|
9
|
+
import { PerfCheckpoint, PerfEvent, PerfPhase, PerfRecorder } from './api';
|
|
10
|
+
/**
|
|
11
|
+
* Serializable performance data for the compilation, using string names.
|
|
12
|
+
*/
|
|
13
|
+
export interface PerfResults {
|
|
14
|
+
events: Record<string, number>;
|
|
15
|
+
phases: Record<string, number>;
|
|
16
|
+
memory: Record<string, number>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A `PerfRecorder` that actively tracks performance statistics.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ActivePerfRecorder implements PerfRecorder {
|
|
22
|
+
private zeroTime;
|
|
23
|
+
private counters;
|
|
24
|
+
private phaseTime;
|
|
25
|
+
private bytes;
|
|
26
|
+
private currentPhase;
|
|
27
|
+
private currentPhaseEntered;
|
|
28
|
+
/**
|
|
29
|
+
* Creates an `ActivePerfRecoder` with its zero point set to the current time.
|
|
30
|
+
*/
|
|
31
|
+
static zeroedToNow(): ActivePerfRecorder;
|
|
32
|
+
private constructor();
|
|
33
|
+
reset(): void;
|
|
34
|
+
memory(after: PerfCheckpoint): void;
|
|
35
|
+
phase(phase: PerfPhase): PerfPhase;
|
|
36
|
+
inPhase<T>(phase: PerfPhase, fn: () => T): T;
|
|
37
|
+
eventCount(counter: PerfEvent, incrementBy?: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* Return the current performance metrics as a serializable object.
|
|
40
|
+
*/
|
|
41
|
+
finalize(): PerfResults;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A `PerfRecorder` that delegates to a target `PerfRecorder` which can be updated later.
|
|
45
|
+
*
|
|
46
|
+
* `DelegatingPerfRecorder` is useful when a compiler class that needs a `PerfRecorder` can outlive
|
|
47
|
+
* the current compilation. This is true for most compiler classes as resource-only changes reuse
|
|
48
|
+
* the same `NgCompiler` for a new compilation.
|
|
49
|
+
*/
|
|
50
|
+
export declare class DelegatingPerfRecorder implements PerfRecorder {
|
|
51
|
+
target: PerfRecorder;
|
|
52
|
+
constructor(target: PerfRecorder);
|
|
53
|
+
eventCount(counter: PerfEvent, incrementBy?: number): void;
|
|
54
|
+
phase(phase: PerfPhase): PerfPhase;
|
|
55
|
+
inPhase<T>(phase: PerfPhase, fn: () => T): T;
|
|
56
|
+
memory(after: PerfCheckpoint): void;
|
|
57
|
+
reset(): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
/// <reference types="node" />
|
|
9
|
+
(function (factory) {
|
|
10
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
11
|
+
var v = factory(require, exports);
|
|
12
|
+
if (v !== undefined) module.exports = v;
|
|
13
|
+
}
|
|
14
|
+
else if (typeof define === "function" && define.amd) {
|
|
15
|
+
define("@angular/compiler-cli/src/ngtsc/perf/src/recorder", ["require", "exports", "@angular/compiler-cli/src/ngtsc/perf/src/api", "@angular/compiler-cli/src/ngtsc/perf/src/clock"], factory);
|
|
16
|
+
}
|
|
17
|
+
})(function (require, exports) {
|
|
18
|
+
"use strict";
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.DelegatingPerfRecorder = exports.ActivePerfRecorder = void 0;
|
|
21
|
+
var api_1 = require("@angular/compiler-cli/src/ngtsc/perf/src/api");
|
|
22
|
+
var clock_1 = require("@angular/compiler-cli/src/ngtsc/perf/src/clock");
|
|
23
|
+
/**
|
|
24
|
+
* A `PerfRecorder` that actively tracks performance statistics.
|
|
25
|
+
*/
|
|
26
|
+
var ActivePerfRecorder = /** @class */ (function () {
|
|
27
|
+
function ActivePerfRecorder(zeroTime) {
|
|
28
|
+
this.zeroTime = zeroTime;
|
|
29
|
+
this.currentPhase = api_1.PerfPhase.Unaccounted;
|
|
30
|
+
this.currentPhaseEntered = this.zeroTime;
|
|
31
|
+
this.counters = Array(api_1.PerfEvent.LAST).fill(0);
|
|
32
|
+
this.phaseTime = Array(api_1.PerfPhase.LAST).fill(0);
|
|
33
|
+
this.bytes = Array(api_1.PerfCheckpoint.LAST).fill(0);
|
|
34
|
+
// Take an initial memory snapshot before any other compilation work begins.
|
|
35
|
+
this.memory(api_1.PerfCheckpoint.Initial);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates an `ActivePerfRecoder` with its zero point set to the current time.
|
|
39
|
+
*/
|
|
40
|
+
ActivePerfRecorder.zeroedToNow = function () {
|
|
41
|
+
return new ActivePerfRecorder(clock_1.mark());
|
|
42
|
+
};
|
|
43
|
+
ActivePerfRecorder.prototype.reset = function () {
|
|
44
|
+
this.counters = Array(api_1.PerfEvent.LAST).fill(0);
|
|
45
|
+
this.phaseTime = Array(api_1.PerfPhase.LAST).fill(0);
|
|
46
|
+
this.bytes = Array(api_1.PerfCheckpoint.LAST).fill(0);
|
|
47
|
+
this.zeroTime = clock_1.mark();
|
|
48
|
+
this.currentPhase = api_1.PerfPhase.Unaccounted;
|
|
49
|
+
this.currentPhaseEntered = this.zeroTime;
|
|
50
|
+
};
|
|
51
|
+
ActivePerfRecorder.prototype.memory = function (after) {
|
|
52
|
+
this.bytes[after] = process.memoryUsage().heapUsed;
|
|
53
|
+
};
|
|
54
|
+
ActivePerfRecorder.prototype.phase = function (phase) {
|
|
55
|
+
var previous = this.currentPhase;
|
|
56
|
+
this.phaseTime[this.currentPhase] += clock_1.timeSinceInMicros(this.currentPhaseEntered);
|
|
57
|
+
this.currentPhase = phase;
|
|
58
|
+
this.currentPhaseEntered = clock_1.mark();
|
|
59
|
+
return previous;
|
|
60
|
+
};
|
|
61
|
+
ActivePerfRecorder.prototype.inPhase = function (phase, fn) {
|
|
62
|
+
var previousPhase = this.phase(phase);
|
|
63
|
+
try {
|
|
64
|
+
return fn();
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.phase(previousPhase);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
ActivePerfRecorder.prototype.eventCount = function (counter, incrementBy) {
|
|
71
|
+
if (incrementBy === void 0) { incrementBy = 1; }
|
|
72
|
+
this.counters[counter] += incrementBy;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Return the current performance metrics as a serializable object.
|
|
76
|
+
*/
|
|
77
|
+
ActivePerfRecorder.prototype.finalize = function () {
|
|
78
|
+
// Track the last segment of time spent in `this.currentPhase` in the time array.
|
|
79
|
+
this.phase(api_1.PerfPhase.Unaccounted);
|
|
80
|
+
var results = {
|
|
81
|
+
events: {},
|
|
82
|
+
phases: {},
|
|
83
|
+
memory: {},
|
|
84
|
+
};
|
|
85
|
+
for (var i = 0; i < this.phaseTime.length; i++) {
|
|
86
|
+
if (this.phaseTime[i] > 0) {
|
|
87
|
+
results.phases[api_1.PerfPhase[i]] = this.phaseTime[i];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
for (var i = 0; i < this.phaseTime.length; i++) {
|
|
91
|
+
if (this.counters[i] > 0) {
|
|
92
|
+
results.events[api_1.PerfEvent[i]] = this.counters[i];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (var i = 0; i < this.bytes.length; i++) {
|
|
96
|
+
if (this.bytes[i] > 0) {
|
|
97
|
+
results.memory[api_1.PerfCheckpoint[i]] = this.bytes[i];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return results;
|
|
101
|
+
};
|
|
102
|
+
return ActivePerfRecorder;
|
|
103
|
+
}());
|
|
104
|
+
exports.ActivePerfRecorder = ActivePerfRecorder;
|
|
105
|
+
/**
|
|
106
|
+
* A `PerfRecorder` that delegates to a target `PerfRecorder` which can be updated later.
|
|
107
|
+
*
|
|
108
|
+
* `DelegatingPerfRecorder` is useful when a compiler class that needs a `PerfRecorder` can outlive
|
|
109
|
+
* the current compilation. This is true for most compiler classes as resource-only changes reuse
|
|
110
|
+
* the same `NgCompiler` for a new compilation.
|
|
111
|
+
*/
|
|
112
|
+
var DelegatingPerfRecorder = /** @class */ (function () {
|
|
113
|
+
function DelegatingPerfRecorder(target) {
|
|
114
|
+
this.target = target;
|
|
115
|
+
}
|
|
116
|
+
DelegatingPerfRecorder.prototype.eventCount = function (counter, incrementBy) {
|
|
117
|
+
this.target.eventCount(counter, incrementBy);
|
|
118
|
+
};
|
|
119
|
+
DelegatingPerfRecorder.prototype.phase = function (phase) {
|
|
120
|
+
return this.target.phase(phase);
|
|
121
|
+
};
|
|
122
|
+
DelegatingPerfRecorder.prototype.inPhase = function (phase, fn) {
|
|
123
|
+
// Note: this doesn't delegate to `this.target.inPhase` but instead is implemented manually here
|
|
124
|
+
// to avoid adding an additional frame of noise to the stack when debugging.
|
|
125
|
+
var previousPhase = this.target.phase(phase);
|
|
126
|
+
try {
|
|
127
|
+
return fn();
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
this.target.phase(previousPhase);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
DelegatingPerfRecorder.prototype.memory = function (after) {
|
|
134
|
+
this.target.memory(after);
|
|
135
|
+
};
|
|
136
|
+
DelegatingPerfRecorder.prototype.reset = function () {
|
|
137
|
+
this.target.reset();
|
|
138
|
+
};
|
|
139
|
+
return DelegatingPerfRecorder;
|
|
140
|
+
}());
|
|
141
|
+
exports.DelegatingPerfRecorder = DelegatingPerfRecorder;
|
|
142
|
+
});
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3BlcmYvc3JjL3JlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILDhCQUE4Qjs7Ozs7Ozs7Ozs7OztJQUU5QixvRUFBeUU7SUFDekUsd0VBQXdEO0lBV3hEOztPQUVHO0lBQ0g7UUFlRSw0QkFBNEIsUUFBZ0I7WUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtZQVZwQyxpQkFBWSxHQUFHLGVBQVMsQ0FBQyxXQUFXLENBQUM7WUFDckMsd0JBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQVUxQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxlQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLGVBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsb0JBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEQsNEVBQTRFO1lBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBZEQ7O1dBRUc7UUFDSSw4QkFBVyxHQUFsQjtZQUNFLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxZQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFXRCxrQ0FBSyxHQUFMO1lBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJ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UUFDdEIsQ0FBQztRQUNILDZCQUFDO0lBQUQsQ0FBQyxBQTdCRCxJQTZCQztJQTdCWSx3REFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwibm9kZVwiIC8+XG5cbmltcG9ydCB7UGVyZkNoZWNrcG9pbnQsIFBlcmZFdmVudCwgUGVyZlBoYXNlLCBQZXJmUmVjb3JkZXJ9IGZyb20gJy4vYXBpJztcbmltcG9ydCB7SHJUaW1lLCBtYXJrLCB0aW1lU2luY2VJbk1pY3Jvc30gZnJvbSAnLi9jbG9jayc7XG5cbi8qKlxuICogU2VyaWFsaXphYmxlIHBlcmZvcm1hbmNlIGRhdGEgZm9yIHRoZSBjb21waWxhdGlvbiwgdXNpbmcgc3RyaW5nIG5hbWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBlcmZSZXN1bHRzIHtcbiAgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICBwaGFzZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gIG1lbW9yeTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbn1cblxuLyoqXG4gKiBBIGBQZXJmUmVjb3JkZXJgIHRoYXQgYWN0aXZlbHkgdHJhY2tzIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3RpdmVQZXJmUmVjb3JkZXIgaW1wbGVtZW50cyBQZXJmUmVjb3JkZXIge1xuICBwcml2YXRlIGNvdW50ZXJzOiBudW1iZXJbXTtcbiAgcHJpdmF0ZSBwaGFzZVRpbWU6IG51bWJlcltdO1xuICBwcml2YXRlIGJ5dGVzOiBudW1iZXJbXTtcblxuICBwcml2YXRlIGN1cnJlbnRQaGFzZSA9IFBlcmZQaGFzZS5VbmFjY291bnRlZDtcbiAgcHJpdmF0ZSBjdXJyZW50UGhhc2VFbnRlcmVkID0gdGhpcy56ZXJvVGltZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBgQWN0aXZlUGVyZlJlY29kZXJgIHdpdGggaXRzIHplcm8gcG9pbnQgc2V0IHRvIHRoZSBjdXJyZW50IHRpbWUuXG4gICAqL1xuICBzdGF0aWMgemVyb2VkVG9Ob3coKTogQWN0aXZlUGVyZlJlY29yZGVyIHtcbiAgICByZXR1cm4gbmV3IEFjdGl2ZVBlcmZSZWNvcmRlcihtYXJrKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHplcm9UaW1lOiBIclRpbWUpIHtcbiAgICB0aGlzLmNvdW50ZXJzID0gQXJyYXkoUGVyZkV2ZW50LkxBU1QpLmZpbGwoMCk7XG4gICAgdGhpcy5waGFzZVRpbWUgPSBBcnJheShQZXJmUGhhc2UuTEFTVCkuZmlsbCgwKTtcbiAgICB0aGlzLmJ5dGVzID0gQXJyYXkoUGVyZkNoZWNrcG9pbnQuTEFTVCkuZmlsbCgwKTtcblxuICAgIC8vIFRha2UgYW4gaW5pdGlhbCBtZW1vcnkgc25hcHNob3QgYmVmb3JlIGFueSBvdGhlciBjb21waWxhdGlvbiB3b3JrIGJlZ2lucy5cbiAgICB0aGlzLm1lbW9yeShQZXJmQ2hlY2twb2ludC5Jbml0aWFsKTtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuY291bnRlcnMgPSBBcnJheShQZXJmRXZlbnQuTEFTVCkuZmlsbCgwKTtcbiAgICB0aGlzLnBoYXNlVGltZSA9IEFycmF5KFBlcmZQaGFzZS5MQVNUKS5maWxsKDApO1xuICAgIHRoaXMuYnl0ZXMgPSBBcnJheShQZXJmQ2hlY2twb2ludC5MQVNUKS5maWxsKDApO1xuICAgIHRoaXMuemVyb1RpbWUgPSBtYXJrKCk7XG4gICAgdGhpcy5jdXJyZW50UGhhc2UgPSBQZXJmUGhhc2UuVW5hY2NvdW50ZWQ7XG4gICAgdGhpcy5jdXJyZW50UGhhc2VFbnRlcmVkID0gdGhpcy56ZXJvVGltZTtcbiAgfVxuXG4gIG1lbW9yeShhZnRlcjogUGVyZkNoZWNrcG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJ5dGVzW2FmdGVyXSA9IHByb2Nlc3MubWVtb3J5VXNhZ2UoKS5oZWFwVXNlZDtcbiAgfVxuXG4gIHBoYXNlKHBoYXNlOiBQZXJmUGhhc2UpOiBQZXJmUGhhc2Uge1xuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5jdXJyZW50UGhhc2U7XG4gICAgdGhpcy5waGFzZVRpbWVbdGhpcy5jdXJyZW50UGhhc2VdICs9IHRpbWVTaW5jZUluTWljcm9zKHRoaXMuY3VycmVudFBoYXNlRW50ZXJlZCk7XG4gICAgdGhpcy5jdXJyZW50UGhhc2UgPSBwaGFzZTtcbiAgICB0aGlzLmN1cnJlbnRQaGFzZUVudGVyZWQgPSBtYXJrKCk7XG4gICAgcmV0dXJuIHByZXZpb3VzO1xuICB9XG5cbiAgaW5QaGFzZTxUPihwaGFzZTogUGVyZlBoYXNlLCBmbjogKCkgPT4gVCk6IFQge1xuICAgIGNvbnN0IHByZXZpb3VzUGhhc2UgPSB0aGlzLnBoYXNlKHBoYXNlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMucGhhc2UocHJldmlvdXNQaGFzZSk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnRDb3VudChjb3VudGVyOiBQZXJmRXZlbnQsIGluY3JlbWVudEJ5OiBudW1iZXIgPSAxKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudGVyc1tjb3VudGVyXSArPSBpbmNyZW1lbnRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyBhcyBhIHNlcmlhbGl6YWJsZSBvYmplY3QuXG4gICAqL1xuICBmaW5hbGl6ZSgpOiBQZXJmUmVzdWx0cyB7XG4gICAgLy8gVHJhY2sgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aW1lIHNwZW50IGluIGB0aGlzLmN1cnJlbnRQaGFzZWAgaW4gdGhlIHRpbWUgYXJyYXkuXG4gICAgdGhpcy5waGFzZShQZXJmUGhhc2UuVW5hY2NvdW50ZWQpO1xuXG4gICAgY29uc3QgcmVzdWx0czogUGVyZlJlc3VsdHMgPSB7XG4gICAgICBldmVudHM6IHt9LFxuICAgICAgcGhhc2VzOiB7fSxcbiAgICAgIG1lbW9yeToge30sXG4gICAgfTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5waGFzZVRpbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLnBoYXNlVGltZVtpXSA+IDApIHtcbiAgICAgICAgcmVzdWx0cy5waGFzZXNbUGVyZlBoYXNlW2ldXSA9IHRoaXMucGhhc2VUaW1lW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5waGFzZVRpbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmNvdW50ZXJzW2ldID4gMCkge1xuICAgICAgICByZXN1bHRzLmV2ZW50c1tQZXJmRXZlbnRbaV1dID0gdGhpcy5jb3VudGVyc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYnl0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmJ5dGVzW2ldID4gMCkge1xuICAgICAgICByZXN1bHRzLm1lbW9yeVtQZXJmQ2hlY2twb2ludFtpXV0gPSB0aGlzLmJ5dGVzW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG59XG5cbi8qKlxuICogQSBgUGVyZlJlY29yZGVyYCB0aGF0IGRlbGVnYXRlcyB0byBhIHRhcmdldCBgUGVyZlJlY29yZGVyYCB3aGljaCBjYW4gYmUgdXBkYXRlZCBsYXRlci5cbiAqXG4gKiBgRGVsZWdhdGluZ1BlcmZSZWNvcmRlcmAgaXMgdXNlZnVsIHdoZW4gYSBjb21waWxlciBjbGFzcyB0aGF0IG5lZWRzIGEgYFBlcmZSZWNvcmRlcmAgY2FuIG91dGxpdmVcbiAqIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uLiBUaGlzIGlzIHRydWUgZm9yIG1vc3QgY29tcGlsZXIgY2xhc3NlcyBhcyByZXNvdXJjZS1vbmx5IGNoYW5nZXMgcmV1c2VcbiAqIHRoZSBzYW1lIGBOZ0NvbXBpbGVyYCBmb3IgYSBuZXcgY29tcGlsYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0aW5nUGVyZlJlY29yZGVyIGltcGxlbWVudHMgUGVyZlJlY29yZGVyIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRhcmdldDogUGVyZlJlY29yZGVyKSB7fVxuXG4gIGV2ZW50Q291bnQoY291bnRlcjogUGVyZkV2ZW50LCBpbmNyZW1lbnRCeT86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0LmV2ZW50Q291bnQoY291bnRlciwgaW5jcmVtZW50QnkpO1xuICB9XG5cbiAgcGhhc2UocGhhc2U6IFBlcmZQaGFzZSk6IFBlcmZQaGFzZSB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0LnBoYXNlKHBoYXNlKTtcbiAgfVxuXG4gIGluUGhhc2U8VD4ocGhhc2U6IFBlcmZQaGFzZSwgZm46ICgpID0+IFQpOiBUIHtcbiAgICAvLyBOb3RlOiB0aGlzIGRvZXNuJ3QgZGVsZWdhdGUgdG8gYHRoaXMudGFyZ2V0LmluUGhhc2VgIGJ1dCBpbnN0ZWFkIGlzIGltcGxlbWVudGVkIG1hbnVhbGx5IGhlcmVcbiAgICAvLyB0byBhdm9pZCBhZGRpbmcgYW4gYWRkaXRpb25hbCBmcmFtZSBvZiBub2lzZSB0byB0aGUgc3RhY2sgd2hlbiBkZWJ1Z2dpbmcuXG4gICAgY29uc3QgcHJldmlvdXNQaGFzZSA9IHRoaXMudGFyZ2V0LnBoYXNlKHBoYXNlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFyZ2V0LnBoYXNlKHByZXZpb3VzUGhhc2UpO1xuICAgIH1cbiAgfVxuXG4gIG1lbW9yeShhZnRlcjogUGVyZkNoZWNrcG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldC5tZW1vcnkoYWZ0ZXIpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQucmVzZXQoKTtcbiAgfVxufVxuIl19
|
package/src/ngtsc/program.d.ts
CHANGED
|
@@ -41,8 +41,6 @@ export declare class NgtscProgram implements api.Program {
|
|
|
41
41
|
private reuseTsProgram;
|
|
42
42
|
private closureCompilerEnabled;
|
|
43
43
|
private host;
|
|
44
|
-
private perfRecorder;
|
|
45
|
-
private perfTracker;
|
|
46
44
|
private incrementalStrategy;
|
|
47
45
|
constructor(rootNames: ReadonlyArray<string>, options: NgCompilerOptions, delegateHost: api.CompilerHost, oldProgram?: NgtscProgram);
|
|
48
46
|
getTsProgram(): ts.Program;
|