UNPKG

5.85 kBTypeScriptView Raw
1import cosmiconfig from 'cosmiconfig';
2import { ArgsType } from './cli/args';
3import { ILogger } from './utils/logger';
4export default class Config {
5 logger: ILogger;
6 constructor(logger: ILogger);
7 /**
8 * Load the .autorc from the file system, set up defaults, combine with CLI args
9 * load the extends property, load the plugins and start the git remote interface.
10 */
11 loadConfig(args: ArgsType): Promise<{
12 labels: import("./release").ILabelDefinitionMap;
13 skipReleaseLabels: any;
14 command: string;
15 githubApi?: string | undefined;
16 baseBranch?: string | undefined;
17 githubGraphqlApi?: string | undefined;
18 plugins?: string[] | undefined;
19 owner?: string | undefined;
20 repo?: string | undefined;
21 verbose?: boolean | undefined;
22 veryVerbose?: boolean | undefined;
23 onlyLabels?: boolean | undefined;
24 dryRun?: boolean | undefined;
25 } | {
26 labels: import("./release").ILabelDefinitionMap;
27 skipReleaseLabels: any;
28 command: string;
29 githubApi?: string | undefined;
30 baseBranch?: string | undefined;
31 githubGraphqlApi?: string | undefined;
32 plugins?: string[] | undefined;
33 owner?: string | undefined;
34 repo?: string | undefined;
35 verbose?: boolean | undefined;
36 veryVerbose?: boolean | undefined;
37 dryRun?: boolean | undefined;
38 } | {
39 labels: import("./release").ILabelDefinitionMap;
40 skipReleaseLabels: any;
41 command: string;
42 githubApi?: string | undefined;
43 baseBranch?: string | undefined;
44 githubGraphqlApi?: string | undefined;
45 plugins?: string[] | undefined;
46 owner?: string | undefined;
47 repo?: string | undefined;
48 verbose?: boolean | undefined;
49 veryVerbose?: boolean | undefined;
50 pr?: number | undefined;
51 } | {
52 labels: import("./release").ILabelDefinitionMap;
53 skipReleaseLabels: any;
54 command: string;
55 githubApi?: string | undefined;
56 baseBranch?: string | undefined;
57 githubGraphqlApi?: string | undefined;
58 plugins?: string[] | undefined;
59 owner?: string | undefined;
60 repo?: string | undefined;
61 verbose?: boolean | undefined;
62 veryVerbose?: boolean | undefined;
63 pr?: number | undefined;
64 url?: string | undefined;
65 context?: string | undefined;
66 dryRun?: boolean | undefined;
67 } | {
68 labels: import("./release").ILabelDefinitionMap;
69 skipReleaseLabels: any;
70 command: string;
71 githubApi?: string | undefined;
72 baseBranch?: string | undefined;
73 githubGraphqlApi?: string | undefined;
74 plugins?: string[] | undefined;
75 owner?: string | undefined;
76 repo?: string | undefined;
77 verbose?: boolean | undefined;
78 veryVerbose?: boolean | undefined;
79 sha?: string | undefined;
80 pr?: number | undefined;
81 url: string;
82 state: "error" | "pending" | "success" | "failure";
83 description: string;
84 context: string;
85 dryRun?: boolean | undefined;
86 } | {
87 labels: import("./release").ILabelDefinitionMap;
88 skipReleaseLabels: any;
89 command: string;
90 githubApi?: string | undefined;
91 baseBranch?: string | undefined;
92 githubGraphqlApi?: string | undefined;
93 plugins?: string[] | undefined;
94 owner?: string | undefined;
95 repo?: string | undefined;
96 verbose?: boolean | undefined;
97 veryVerbose?: boolean | undefined;
98 message: string;
99 pr?: number | undefined;
100 context?: string | undefined;
101 dryRun?: boolean | undefined;
102 } | {
103 labels: import("./release").ILabelDefinitionMap;
104 skipReleaseLabels: any;
105 command: string;
106 githubApi?: string | undefined;
107 baseBranch?: string | undefined;
108 githubGraphqlApi?: string | undefined;
109 plugins?: string[] | undefined;
110 owner?: string | undefined;
111 repo?: string | undefined;
112 verbose?: boolean | undefined;
113 veryVerbose?: boolean | undefined;
114 noVersionPrefix?: boolean | undefined;
115 jira?: string | undefined;
116 dryRun?: boolean | undefined;
117 useVersion?: string | undefined;
118 slack?: string | undefined;
119 name?: string | undefined;
120 email?: string | undefined;
121 } | {
122 labels: import("./release").ILabelDefinitionMap;
123 skipReleaseLabels: any;
124 command: string;
125 githubApi?: string | undefined;
126 baseBranch?: string | undefined;
127 githubGraphqlApi?: string | undefined;
128 plugins?: string[] | undefined;
129 owner?: string | undefined;
130 repo?: string | undefined;
131 verbose?: boolean | undefined;
132 veryVerbose?: boolean | undefined;
133 onlyPublishWithReleaseLabel?: boolean | undefined;
134 } | {
135 labels: import("./release").ILabelDefinitionMap;
136 skipReleaseLabels: any;
137 command: string;
138 githubApi?: string | undefined;
139 baseBranch?: string | undefined;
140 githubGraphqlApi?: string | undefined;
141 plugins?: string[] | undefined;
142 owner?: string | undefined;
143 repo?: string | undefined;
144 verbose?: boolean | undefined;
145 veryVerbose?: boolean | undefined;
146 dryRun?: boolean | undefined;
147 slack?: string | undefined;
148 }>;
149 /**
150 * Loads a config from a path, package name, or special `auto-config` pattern
151 *
152 * ex: auto-config-MY_CONFIG
153 * ex: @MY_CONFIG/auto-config
154 *
155 * @param extend Path or name of config to find
156 */
157 loadExtendConfig(extend: string): Promise<cosmiconfig.Config | {
158 auto: cosmiconfig.Config;
159 }>;
160}