Skip to content

Commit 1f02a30

Browse files
Bobby EarlBlackbaud-MikitaYankouski
Bobby Earl
authored andcommitted
Initial commit of skyuxconfig.json schema (blackbaud#347)
* Initial commit of skyuxconfig.json schema * Allowing $schema property * Added codeCoverageThreshold * Removing schema property
1 parent 2a7a272 commit 1f02a30

File tree

1 file changed

+223
-0
lines changed

1 file changed

+223
-0
lines changed

skyuxconfig-schema.json

+223
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"title": "JSON schema for SKY UX CLI skyuxconfig.json",
4+
"definitions": {
5+
"externalFileCSS": {
6+
"type": "object",
7+
"properties": {
8+
"url": {
9+
"description": "Fully qualified URL of the file.",
10+
"type": "string"
11+
},
12+
"integrity": {
13+
"description": "Subresource integrity string to include.",
14+
"type": "string"
15+
}
16+
}
17+
},
18+
"externalFileJS": {
19+
"allOf":[
20+
{
21+
"$ref": "#/definitions/externalFileCSS"
22+
},
23+
{
24+
"properties": {
25+
"head": {
26+
"description": "Inject in the head versus before the closing body tag.",
27+
"type": "boolean"
28+
}
29+
}
30+
}
31+
]
32+
}
33+
},
34+
"properties": {
35+
"a11y": {
36+
"description": "Enables or disables accessibility test rules. You can manage rules individually, or you can enable or disable all rules in bulk.",
37+
"type": [
38+
"object",
39+
"boolean"
40+
],
41+
"properties": {
42+
"rules": {
43+
"type": "array",
44+
"items": {
45+
"type": "string"
46+
}
47+
}
48+
}
49+
},
50+
"app": {
51+
"description": "Specifies configuration options for the local app when running skyux serve",
52+
"type": "object",
53+
"properties": {
54+
"title": {
55+
"description": "Controls the page title at the template level while waiting for the application to load.",
56+
"type": "string"
57+
},
58+
"port": {
59+
"description": "Configures a port for the skyux serve command to use. If no port is specified, skyux serve dynamically finds an available port.",
60+
"type": "string"
61+
},
62+
"externals": {
63+
"description": "Dynamically injects CSS and JavaScript files into SKY UX Host. You should have a specific use-case for an externals and they must be white-listed by the SKY UX team.",
64+
"type": "object",
65+
"properties": {
66+
"css": {
67+
"description": "CSS files to inject",
68+
"type": "object",
69+
"properties": {
70+
"before": {
71+
"description": "CSS files to inject before default SKY UX files.",
72+
"type": "array",
73+
"items": {
74+
"$ref": "#/definitions/externalFileCSS"
75+
}
76+
},
77+
"after": {
78+
"description": "CSS files to inject after default SKY UX files.",
79+
"type": "array",
80+
"items": {
81+
"$ref": "#/definitions/externalFileCSS"
82+
}
83+
}
84+
}
85+
},
86+
"js": {
87+
"description": "JS files to inject",
88+
"type": "object",
89+
"properties": {
90+
"before": {
91+
"description": "JS files to inject before default SKY UX files.",
92+
"type": "array",
93+
"items": {
94+
"$ref": "#/definitions/externalFileJS"
95+
}
96+
},
97+
"after": {
98+
"description": "JS files to inject before default SKY UX files.",
99+
"type": "array",
100+
"items": {
101+
"$ref": "#/definitions/externalFileJS"
102+
}
103+
}
104+
}
105+
}
106+
}
107+
}
108+
}
109+
},
110+
"appSettings": {
111+
"description": "Specifies data that is available for reuse throughout the application.",
112+
"type": "object"
113+
},
114+
"auth": {
115+
"description": "Indicates whether the application requires an authenticated Blackbaud ID",
116+
"type": "boolean"
117+
},
118+
"codeCoverageThreshold": {
119+
"description": "Specifies the minimum required code coverage threshold.",
120+
"type": "string",
121+
"enum": [
122+
"none",
123+
"standard",
124+
"strict"
125+
]
126+
},
127+
"compileMode": {
128+
"description": "Specifies how to compile the project's code.",
129+
"type": "string",
130+
"enum": [
131+
"aot",
132+
"jit"
133+
],
134+
"default": "aot"
135+
},
136+
"cssPath": {
137+
"description": "Specifies a path to reference CSS styles. This property is specific to the SKY UX docs site and is for internal Blackbaud use only.",
138+
"type": "string"
139+
},
140+
"help": {
141+
"description": " Indicates whether to automatically include the help widget in the application to identify the current page and display relevant help content. This property is for internal Blackbaud use only.",
142+
"type": [
143+
"boolean",
144+
"object"
145+
]
146+
},
147+
"host": {
148+
"description": "Specifies configuration options for communication with SKY UX Host.",
149+
"type": "object",
150+
"properties": {
151+
"url": {
152+
"description": "Specifies a base URL to pass information from skyux serve to the SKY UX Host.",
153+
"type": "string",
154+
"default": "https://host.nxt.blackbaud.com"
155+
}
156+
}
157+
},
158+
"importPath": {
159+
"description": "Specifies a path to reference SKY UX components in Angular. This property is specific to the SKY UX docs site and is for internal Blackbaud use only.",
160+
"type": "string"
161+
},
162+
"mode": {
163+
"description": "Controls how much boilerplate code to generate automatically.",
164+
"type": "string",
165+
"enum": [
166+
"easy",
167+
"advanced"
168+
],
169+
"default": "easy"
170+
},
171+
"name": {
172+
"description": "Specifies the name of the project when running in SKY UX Host. By default, SKY UX Builder uses the name property in the package.json file, minus the 'blackbaud-skyux-spa-' prefix.",
173+
"type": "string"
174+
},
175+
"omnibar": {
176+
"description": "Specifies an object to pass to the omnibar's load method. This property is for internal Blackbaud use only.",
177+
"type": "object",
178+
"properties": {
179+
"experimental": {
180+
"description": "Whether to display the new 'experimental' Omnibar or the traditional one.",
181+
"type": "boolean"
182+
}
183+
}
184+
},
185+
"pacts": {
186+
"description": "PACTS",
187+
"type": "array"
188+
},
189+
"params": {
190+
"description": "Specifies a list of parameters that are allowed at runtime.",
191+
"type": [
192+
"array",
193+
"object"
194+
]
195+
},
196+
"plugins": {
197+
"description": "Specifies plugins to expand on existing SKY UX Builder functionality and create new functionality.",
198+
"type": "array"
199+
},
200+
"redirects": {
201+
"description": "Specifies redirects for pages within an application using from : to pattern.",
202+
"type": "object"
203+
},
204+
"routes": {
205+
"description": "Allows you to use the omnibar but still define navigation items. This property is for internal Blackbaud use only.",
206+
"type": "object",
207+
"properties": {
208+
"public": {
209+
"description": "Public routes.",
210+
"type": "array"
211+
},
212+
"referenced": {
213+
"description": "Referenced routes.",
214+
"type": "array"
215+
}
216+
}
217+
},
218+
"useHashRouting": {
219+
"description": "Allows your SPA to use Angular's hash location strategy.",
220+
"type": "boolean"
221+
}
222+
}
223+
}

0 commit comments

Comments
 (0)