-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
Copy pathinterfaces.ts
77 lines (61 loc) · 1.52 KB
/
interfaces.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
export interface Project {
projectId: string;
projectNumber: string;
displayName: string;
name: string;
resources: { [key: string]: string };
}
export interface FirebaseDeployConfig {
cwd: string;
only?: string;
}
export interface FirebaseTools {
projects: {
list(): Promise<Project[]>;
};
logger: {
add(...args: any[]): any
};
login(): Promise<void>;
deploy(config: FirebaseDeployConfig): Promise<any>;
serve(options: any): Promise<any>;
use(options: any, lol: any): Promise<any>;
}
export interface FirebaseHostingRewrite {
source: string;
destination?: string;
function?: string;
}
export interface FirebaseHostingConfig {
public?: string;
ignore: string[];
target: string;
rewrites: FirebaseHostingRewrite[];
}
export interface FirebaseFunctionsConfig { [key: string]: any; }
export interface FirebaseJSON {
hosting?: FirebaseHostingConfig[] | FirebaseHostingConfig;
functions?: FirebaseFunctionsConfig;
}
export interface FirebaseRcTarget {
hosting: Record<string, string[]>;
}
export interface FirebaseRc {
targets?: Record<string, FirebaseRcTarget>;
}
export interface DeployBuilderSchema {
buildTarget?: string;
firebaseProject?: string;
preview?: boolean;
universalBuildTarget?: string;
ssr?: boolean;
}
export interface BuildTarget {
name: string;
options?: {[name: string]: any};
}
export interface FSHost {
moveSync(src: string, dest: string): void;
writeFileSync(src: string, data: string): void;
renameSync(src: string, dest: string): void;
}