source: trip-planner-front/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_resolver.d.ts@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 4.3 KB
Line 
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/ngcc/src/dependencies/dependency_resolver" />
9import { DepGraph } from 'dependency-graph';
10import { ReadonlyFileSystem } from '../../../src/ngtsc/file_system';
11import { Logger } from '../../../src/ngtsc/logging';
12import { NgccConfiguration } from '../packages/configuration';
13import { EntryPoint, EntryPointFormat } from '../packages/entry_point';
14import { PartiallyOrderedList } from '../utils';
15import { DependencyHost, EntryPointWithDependencies } from './dependency_host';
16/**
17 * Holds information about entry points that are removed because
18 * they have dependencies that are missing (directly or transitively).
19 *
20 * This might not be an error, because such an entry point might not actually be used
21 * in the application. If it is used then the `ngc` application compilation would
22 * fail also, so we don't need ngcc to catch this.
23 *
24 * For example, consider an application that uses the `@angular/router` package.
25 * This package includes an entry-point called `@angular/router/upgrade`, which has a dependency
26 * on the `@angular/upgrade` package.
27 * If the application never uses code from `@angular/router/upgrade` then there is no need for
28 * `@angular/upgrade` to be installed.
29 * In this case the ngcc tool should just ignore the `@angular/router/upgrade` end-point.
30 */
31export interface InvalidEntryPoint {
32 entryPoint: EntryPoint;
33 missingDependencies: string[];
34}
35/**
36 * Holds information about dependencies of an entry-point that do not need to be processed
37 * by the ngcc tool.
38 *
39 * For example, the `rxjs` package does not contain any Angular decorators that need to be
40 * compiled and so this can be safely ignored by ngcc.
41 */
42export interface IgnoredDependency {
43 entryPoint: EntryPoint;
44 dependencyPath: string;
45}
46export interface DependencyDiagnostics {
47 invalidEntryPoints: InvalidEntryPoint[];
48 ignoredDependencies: IgnoredDependency[];
49}
50/**
51 * Represents a partially ordered list of entry-points.
52 *
53 * The entry-points' order/precedence is such that dependent entry-points always come later than
54 * their dependencies in the list.
55 *
56 * See `DependencyResolver#sortEntryPointsByDependency()`.
57 */
58export declare type PartiallyOrderedEntryPoints = PartiallyOrderedList<EntryPoint>;
59/**
60 * A list of entry-points, sorted by their dependencies, and the dependency graph.
61 *
62 * The `entryPoints` array will be ordered so that no entry point depends upon an entry point that
63 * appears later in the array.
64 *
65 * Some entry points or their dependencies may have been ignored. These are captured for
66 * diagnostic purposes in `invalidEntryPoints` and `ignoredDependencies` respectively.
67 */
68export interface SortedEntryPointsInfo extends DependencyDiagnostics {
69 entryPoints: PartiallyOrderedEntryPoints;
70 graph: DepGraph<EntryPoint>;
71}
72/**
73 * A class that resolves dependencies between entry-points.
74 */
75export declare class DependencyResolver {
76 private fs;
77 private logger;
78 private config;
79 private hosts;
80 private typingsHost;
81 constructor(fs: ReadonlyFileSystem, logger: Logger, config: NgccConfiguration, hosts: Partial<Record<EntryPointFormat, DependencyHost>>, typingsHost: DependencyHost);
82 /**
83 * Sort the array of entry points so that the dependant entry points always come later than
84 * their dependencies in the array.
85 * @param entryPoints An array entry points to sort.
86 * @param target If provided, only return entry-points depended on by this entry-point.
87 * @returns the result of sorting the entry points by dependency.
88 */
89 sortEntryPointsByDependency(entryPoints: EntryPointWithDependencies[], target?: EntryPoint): SortedEntryPointsInfo;
90 getEntryPointWithDependencies(entryPoint: EntryPoint): EntryPointWithDependencies;
91 /**
92 * Computes a dependency graph of the given entry-points.
93 *
94 * The graph only holds entry-points that ngcc cares about and whose dependencies
95 * (direct and transitive) all exist.
96 */
97 private computeDependencyGraph;
98 private getEntryPointFormatInfo;
99 /**
100 * Filter out the deepImports that can be ignored, according to this entryPoint's config.
101 */
102 private filterIgnorableDeepImports;
103}
Note: See TracBrowser for help on using the repository browser.