UNPKG

13 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "id": "sfdxProjectSchema.json#",
4 "type": "object",
5 "title": "SFDX Project",
6 "description": "The properties and shape of the SFDX project",
7 "properties": {
8 "namespace": {
9 "type": "string",
10 "title": "Namespace",
11 "description": "The project's namespace"
12 },
13 "sfdcLoginUrl": {
14 "type": "string",
15 "title": "SFDC Login URL",
16 "description": "The Salesforce Login URL",
17 "default": "https://login.salesforce.com"
18 },
19 "sourceApiVersion": {
20 "type": "string",
21 "title": "Source API Version",
22 "description": "The API version of the Salesforce DX-formatted source",
23 "default": "43.0"
24 },
25 "softExit": {
26 "type": "boolean",
27 "title": "Soft Exit",
28 "description": "Enable or disable soft exit mode"
29 },
30 "enableTokenEncryption": {
31 "type": "boolean",
32 "title": "Enable Token Encryption",
33 "description": "Enable or disable token encryption"
34 },
35 "plugins": {
36 "type": "object",
37 "title": "CLI Plugins custom settings",
38 "description": "Plugins custom settings that users can set for a project.",
39 "additionalProperties": true
40 },
41 "packageAliases": {
42 "title": "Aliases for packaging ids",
43 "type": "object",
44 "description": "Acceptable alias name and alias value pairs",
45 "patternProperties": {
46 "^[ -~]+$": {
47 "type": "string",
48 "pattern": "^(0Ho|033|05i|04t)([a-zA-Z0-9]{15}|[a-zA-Z0-9]{12})$"
49 }
50 }
51 },
52 "packageDirectories": {
53 "type": "array",
54 "title": "Package Directories",
55 "description": "The list of package source directories",
56 "items": {
57 "$ref": "#/definitions/packageDirectory"
58 }
59 }
60 },
61 "additionalProperties": false,
62 "required": ["sfdcLoginUrl"],
63 "definitions": {
64 "features": {
65 "type": "oneOf",
66 "title": "Features",
67 "description": "The list of features names to enable",
68 "oneOf": [
69 {
70 "type": "string",
71 "title": "Features",
72 "description": "The list of feature names to enable as a string"
73 },
74 {
75 "type": "array",
76 "title": "Features",
77 "description": "The list of feature names to enable as an array",
78 "items": {
79 "type": "string",
80 "title": "Feature Name",
81 "description": "Name of the feature to enable"
82 }
83 }
84 ]
85 },
86 "orgPreferences": {
87 "type": "object",
88 "title": "Org Preferences",
89 "description": "The list of org preferences",
90 "properties": {
91 "enabled": {
92 "type": "array",
93 "title": "Enabled Org Preferences",
94 "description": "The list of org preferences to enable",
95 "items": {
96 "type": "string",
97 "title": "Org Preference Name",
98 "description": "Name of the org preference to enable"
99 }
100 },
101 "disabled": {
102 "type": "array",
103 "title": "Disabled Org Preferences",
104 "description": "The list of org preferences to disable",
105 "items": {
106 "type": "string",
107 "title": "Org Preference Name",
108 "description": "Name of the org preference to disable"
109 }
110 }
111 }
112 },
113 "dependency": {
114 "title": "Dependency",
115 "description": "Package OR package & versionNumber OR (Deprecated) Dependency packageId & versionNumber OR (Deprecated) subscriberPackageVersionId",
116 "oneOf": [
117 {
118 "type": "object",
119 "properties": {
120 "packageId": {
121 "type": "string",
122 "title": "Package ID",
123 "description": "The dependency package2 ID (starts with 0Ho)"
124 },
125 "versionNumber": {
126 "type": "string",
127 "title": "Version Number",
128 "description": "The dependency version number"
129 }
130 },
131 "required": ["packageId", "versionNumber"]
132 },
133 {
134 "type": "object",
135 "properties": {
136 "subscriberPackageVersionId": {
137 "type": "string",
138 "title": "Subscriber Package Version ID",
139 "description": "The dependency subscriber package version ID (starts with 04t)"
140 }
141 },
142 "required": ["subscriberPackageVersionId"]
143 },
144 {
145 "type": "object",
146 "properties": {
147 "package": {
148 "type": "string",
149 "title": "Subscriber Package Version ID or alias",
150 "description": "The dependency subscriber package version ID (starts with 04t) or alias for the ID"
151 },
152 "versionNumber": {
153 "type": "string",
154 "title": "Version Number",
155 "description": "The dependency version number"
156 }
157 },
158 "required": ["package"]
159 }
160 ]
161 },
162 "packageDirectory": {
163 "type": "object",
164 "title": "Directory Type",
165 "description": "Package source directory type",
166 "properties": {
167 "path": {
168 "type": "string",
169 "title": "Path",
170 "description": "The path name of the package directory"
171 },
172 "id": {
173 "type": "string",
174 "title": "ID",
175 "description": "ID of the package2 for the source directory (starts with 0Ho)"
176 },
177 "package": {
178 "type": "string",
179 "title": "Package Identifier",
180 "description": "The identifier (ID or alias) for the package."
181 },
182 "versionName": {
183 "type": "string",
184 "title": "Version Name",
185 "description": "The package version name."
186 },
187 "versionDescription": {
188 "type": "string",
189 "title": "Version Description",
190 "description": "The package version description"
191 },
192 "versionNumber": {
193 "type": "string",
194 "title": "Version Number",
195 "description": "The package version number: Major.Minor.Patch.Build"
196 },
197 "definitionFile": {
198 "type": "string",
199 "title": "Definition File",
200 "description": "Path to the definition json file that specifies org prefs and features"
201 },
202 "ancestorId": {
203 "type": "string",
204 "title": "Ancestor ID",
205 "description": "The package2 version ancestor ID (starts with 05i)"
206 },
207 "ancestorVersion": {
208 "type": "string",
209 "title": "Ancestor Version",
210 "description": "The package2 ancestor version number."
211 },
212 "releaseNotesUrl": {
213 "type": "string",
214 "title": "Release Notes Url",
215 "description": "The release notes url."
216 },
217 "postInstallUrl": {
218 "type": "string",
219 "title": "Post Install Url",
220 "description": "The post install url."
221 },
222 "postInstallScript": {
223 "type": "string",
224 "title": "Post Install Script",
225 "description": "The post install script."
226 },
227 "uninstallScript": {
228 "type": "string",
229 "title": "Uninstall Script",
230 "description": "The uninstall script."
231 },
232 "includeProfileUserLicenses": {
233 "type": "boolean",
234 "title": "Include Profile User Licenses",
235 "description": "Whether to include <userLicense> elements in profile metadata "
236 },
237 "default": {
238 "type": "boolean",
239 "title": "Default",
240 "description": "Enable / disable this package directory as default"
241 },
242 "features": {
243 "$ref": "#/definitions/features"
244 },
245 "orgPreferences": {
246 "$ref": "#/definitions/orgPreferences"
247 },
248 "unpackagedMetadata": {
249 "type": "object",
250 "title": "Unpackaged Metadata",
251 "description": "Metadata not meant to be packaged, but deployed when testing packaged metadata",
252 "properties": {
253 "path": {
254 "type": "string",
255 "title": "Path",
256 "description": "The path name of the package directory containing the unpackaged metadata"
257 }
258 }
259 },
260 "dependencies": {
261 "type": "array",
262 "title": "Dependencies",
263 "description": "The list of package dependencies",
264 "items": {
265 "$ref": "#/definitions/dependency"
266 },
267 "plugins": {
268 "type": "object",
269 "title": "CLI Plugins custom settings",
270 "description": "Plugins custom settings that users can set for a project.",
271 "additionalProperties": true,
272 "title": "Org Preferences",
273 "description": "The list of org preferences",
274 "properties": {
275 "enabled": {
276 "type": "array",
277 "title": "Enabled Org Preferences",
278 "description": "The list of org preferences to enable",
279 "items": {
280 "type": "string",
281 "title": "Org Preference Name",
282 "description": "Name of the org preference to enable"
283 }
284 },
285 "disabled": {
286 "type": "array",
287 "title": "Disabled Org Preferences",
288 "description": "The list of org preferences to disable",
289 "items": {
290 "type": "string",
291 "title": "Org Preference Name",
292 "description": "Name of the org preference to disable"
293 }
294 }
295 }
296 },
297 "definitionFile": {
298 "type": "string",
299 "title": "Definition File",
300 "description": "Path to the definition json file that specifies org prefs and features"
301 },
302 "features": {
303 "type": "string",
304 "title": "Features",
305 "description": "The list of feature names to enable"
306 },
307 "orgPreferences": {
308 "type": "object",
309 "title": "Org Preferences",
310 "description": "The list of org preferences",
311 "properties": {
312 "enabled": {
313 "type": "array",
314 "title": "Enabled Org Preferences",
315 "description": "The list of org preferences to enable",
316 "items": {
317 "type": "string",
318 "title": "Org Preference Name",
319 "description": "Name of the org preference to enable"
320 }
321 },
322 "disabled": {
323 "type": "array",
324 "title": "Disabled Org Preferences",
325 "description": "The list of org preferences to disable",
326 "items": {
327 "type": "string",
328 "title": "Org Preference Name",
329 "description": "Name of the org preference to disable"
330 }
331 }
332 }
333 },
334 "dependencies": {
335 "type": "array",
336 "title": "Dependencies",
337 "description": "The list of package dependencies",
338 "items": {
339 "title": "Dependency",
340 "description": "Dependency packageId & versionNumber or subscriberPackageVersionId",
341 "oneOf": [
342 {
343 "type": "object",
344 "properties": {
345 "packageId": {
346 "type": "string",
347 "title": "Package ID",
348 "description": "The dependency package2 ID (starts with 0Ho)"
349 },
350 "versionNumber": {
351 "type": "string",
352 "title": "Version Number",
353 "description": "The dependency version number"
354 }
355 },
356 "required": ["packageId", "versionNumber"]
357 },
358 {
359 "type": "object",
360 "properties": {
361 "subscriberPackageVersionId": {
362 "type": "string",
363 "title": "Subscriber Package Version ID",
364 "description": "The dependency subscriber package version ID (starts with 04t)"
365 }
366 },
367 "required": ["subscriberPackageVersionId"]
368 }
369 ]
370 }
371 }
372 }
373 },
374 "additionalProperties": false,
375 "oneOf": [
376 {
377 "required": ["id", "path", "versionName", "versionNumber"]
378 },
379 {
380 "required": ["package", "path", "versionName", "versionNumber"]
381 }
382 ]
383 }
384 }
385}