1 | {
|
2 | "$schema": "http://json-schema.org/draft-07/schema",
|
3 | "$id": "SchematicsCollectionSchema",
|
4 | "title": "Collection Schema for validating a 'collection.json'.",
|
5 | "type": "object",
|
6 | "properties": {
|
7 | "extends": {
|
8 | "oneOf": [
|
9 | {
|
10 | "type": "string",
|
11 | "minLength": 1
|
12 | },
|
13 | {
|
14 | "type": "array",
|
15 | "items": {
|
16 | "type": "string",
|
17 | "minLength": 1
|
18 | },
|
19 | "minItems": 1
|
20 | }
|
21 | ]
|
22 | },
|
23 | "schematics": {
|
24 | "type": "object",
|
25 | "description": "A map of schematic names to schematic details",
|
26 | "additionalProperties": {
|
27 | "type": "object",
|
28 | "properties": {
|
29 | "aliases": {
|
30 | "type": "array",
|
31 | "items": {
|
32 | "type": "string"
|
33 | }
|
34 | },
|
35 | "factory": {
|
36 | "type": "string",
|
37 | "description": "A folder or file path to the schematic factory"
|
38 | },
|
39 | "description": {
|
40 | "type": "string",
|
41 | "description": "A description for the schematic"
|
42 | },
|
43 | "extends": {
|
44 | "type": "string",
|
45 | "description": "An schematic override. It can be a local schematic or from another collection (in the format 'collection:schematic')"
|
46 | },
|
47 | "schema": {
|
48 | "type": "string",
|
49 | "description": "Location of the schema.json file of the schematic"
|
50 | },
|
51 | "hidden": {
|
52 | "type": "boolean",
|
53 | "default": false,
|
54 | "description": "Whether or not this schematic should be listed by the tooling. This does not prevent the tooling to run this schematic, just removes its name from listSchematicNames()."
|
55 | },
|
56 | "private": {
|
57 | "type": "boolean",
|
58 | "default": false,
|
59 | "description": "Whether or not this schematic can be called from an external schematic, or a tool. This implies hidden: true."
|
60 | }
|
61 | },
|
62 | "required": ["factory", "description"]
|
63 | }
|
64 | },
|
65 | "version": {
|
66 | "type": "string"
|
67 | }
|
68 | },
|
69 | "required": ["schematics"]
|
70 | }
|