aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
76 lines (75 loc) • 2.43 kB
TypeScript
import { ConstructTreeNode } from './tree';
export interface DisplayNoticesProps {
/**
* The cloud assembly directory. Usually 'cdk.out'.
*/
readonly outdir: string;
/**
* Issue numbers of notices that have been acknowledged by a user
* of the current CDK repository. These notices will be skipped.
*/
readonly acknowledgedIssueNumbers: number[];
/**
* Whether cached notices should be ignored. Setting this property
* to true will force the CLI to download fresh data
*
* @default false
*/
readonly ignoreCache?: boolean;
}
export declare function refreshNotices(): Promise<Notice[]>;
export declare function displayNotices(props: DisplayNoticesProps): Promise<number>;
export declare function generateMessage(dataSource: NoticeDataSource, props: DisplayNoticesProps): Promise<string>;
export interface FilterNoticeOptions {
outdir?: string;
cliVersion?: string;
frameworkVersion?: string;
acknowledgedIssueNumbers?: Set<number>;
}
export declare function filterNotices(data: Notice[], options: FilterNoticeOptions): Notice[];
export declare function formatNotices(data: Notice[]): string[];
export interface Component {
name: string;
version: string;
}
export interface Notice {
title: string;
issueNumber: number;
overview: string;
components: Component[];
schemaVersion: string;
}
export interface NoticeDataSource {
fetch(): Promise<Notice[]>;
}
export declare class WebsiteNoticeDataSource implements NoticeDataSource {
fetch(): Promise<Notice[]>;
}
export declare class CachedDataSource implements NoticeDataSource {
private readonly fileName;
private readonly dataSource;
private readonly skipCache?;
constructor(fileName: string, dataSource: NoticeDataSource, skipCache?: boolean | undefined);
fetch(): Promise<Notice[]>;
private fetchInner;
private load;
private save;
}
export interface NoticeFilterProps {
cliVersion: string;
acknowledgedIssueNumbers: Set<number>;
tree: ConstructTreeNode;
}
export declare class NoticeFilter {
private readonly props;
private readonly acknowledgedIssueNumbers;
constructor(props: NoticeFilterProps);
/**
* Returns true iff we should show this notice.
*/
apply(notice: Notice): boolean;
/**
* Returns true iff we should show the notice.
*/
private applyVersion;
}