this repo has no description
1export type Config = {
2 extensions: ConfigExtensions;
3 repositories: string[];
4 devSearchPaths?: string[];
5 loggerLevel?: string;
6 patchAll?: boolean;
7};
8
9export type ConfigExtensions =
10 | { [key: string]: boolean }
11 | { [key: string]: ConfigExtension };
12
13export type ConfigExtension = {
14 enabled: boolean;
15 config?: Record<string, any>;
16};
17
18export enum ExtensionSettingType {
19 Boolean = "boolean",
20 Number = "number",
21 String = "string",
22 Select = "select",
23 MultiSelect = "multiselect",
24 List = "list",
25 Dictionary = "dictionary",
26 Custom = "custom"
27}
28
29export type SelectOption =
30 | string
31 | {
32 value: string;
33 label: string;
34 };
35
36export type BooleanSettingType = {
37 type: ExtensionSettingType.Boolean;
38 default?: boolean;
39};
40
41export type NumberSettingType = {
42 type: ExtensionSettingType.Number;
43 default?: number;
44 min?: number;
45 max?: number;
46};
47
48export type StringSettingType = {
49 type: ExtensionSettingType.String;
50 default?: string;
51};
52
53export type SelectSettingType = {
54 type: ExtensionSettingType.Select;
55 options: SelectOption[];
56 default?: string;
57};
58
59export type MultiSelectSettingType = {
60 type: ExtensionSettingType.MultiSelect;
61 options: string[];
62 default?: string[];
63};
64
65export type ListSettingType = {
66 type: ExtensionSettingType.List;
67 default?: string[];
68};
69
70export type DictionarySettingType = {
71 type: ExtensionSettingType.Dictionary;
72 default?: Record<string, string>;
73};
74
75export type CustomSettingType = {
76 type: ExtensionSettingType.Custom;
77 default?: any;
78};
79
80export type ExtensionSettingsManifest = {
81 displayName?: string;
82 description?: string;
83} & (
84 | BooleanSettingType
85 | NumberSettingType
86 | StringSettingType
87 | SelectSettingType
88 | MultiSelectSettingType
89 | ListSettingType
90 | DictionarySettingType
91 | CustomSettingType
92);