collection-schema.json 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. }