Skip to content

Instantly share code, notes, and snippets.

@orcwarrior
Created February 1, 2022 16:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save orcwarrior/0026e81c778f0057370f462ccf8be81a to your computer and use it in GitHub Desktop.
Save orcwarrior/0026e81c778f0057370f462ccf8be81a to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"definitions": {
"ExtensionsConfig": {
"additionalProperties": false,
"type": "object"
}
},
"properties": {
"database": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
}
},
"required": [
"rules"
],
"type": "object"
},
{
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"instance": {
"type": "string"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
},
"target": {
"type": "string"
}
},
"required": [
"instance",
"rules"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"instance": {
"type": "string"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
},
"target": {
"type": "string"
}
},
"required": [
"rules",
"target"
],
"type": "object"
}
]
},
"type": "array"
}
]
},
"emulators": {
"additionalProperties": false,
"properties": {
"auth": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"database": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"firestore": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"functions": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"hosting": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"hub": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"logging": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"pubsub": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"storage": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
}
},
"type": "object"
},
"ui": {
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"host": {
"type": "string"
},
"port": {
"type": [
"string",
"number"
]
}
},
"type": "object"
}
},
"type": "object"
},
"extensions": {
"$ref": "#/definitions/ExtensionsConfig"
},
"firestore": {
"additionalProperties": false,
"properties": {
"indexes": {
"type": "string"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
}
},
"type": "object"
},
"functions": {
"additionalProperties": false,
"properties": {
"ignore": {
"items": {
"type": "string"
},
"type": "array"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"runtime": {
"enum": [
"nodejs10",
"nodejs12",
"nodejs14",
"nodejs16"
],
"type": "string"
},
"source": {
"type": "string"
}
},
"type": "object"
},
"hosting": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"appAssociation": {
"type": "string"
},
"cleanUrls": {
"type": "boolean"
},
"headers": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"glob",
"headers"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
}
},
"required": [
"headers",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"regex": {
"type": "string"
}
},
"required": [
"headers",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"i18n": {
"additionalProperties": false,
"properties": {
"root": {
"type": "string"
}
},
"required": [
"root"
],
"type": "object"
},
"ignore": {
"items": {
"type": "string"
},
"type": "array"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"public": {
"type": "string"
},
"redirects": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"rewrites": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"function",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"glob",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"glob": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"function",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"run",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"source": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"function",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"regex": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"regex",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"regex": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"site": {
"type": "string"
},
"target": {
"type": "string"
},
"trailingSlash": {
"type": "boolean"
}
},
"type": "object"
},
{
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"appAssociation": {
"type": "string"
},
"cleanUrls": {
"type": "boolean"
},
"headers": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"glob",
"headers"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
}
},
"required": [
"headers",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"regex": {
"type": "string"
}
},
"required": [
"headers",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"i18n": {
"additionalProperties": false,
"properties": {
"root": {
"type": "string"
}
},
"required": [
"root"
],
"type": "object"
},
"ignore": {
"items": {
"type": "string"
},
"type": "array"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"public": {
"type": "string"
},
"redirects": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"rewrites": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"function",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"glob",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"glob": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"function",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"run",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"source": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"function",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"regex": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"regex",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"regex": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"site": {
"type": "string"
},
"target": {
"type": "string"
},
"trailingSlash": {
"type": "boolean"
}
},
"required": [
"target"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"appAssociation": {
"type": "string"
},
"cleanUrls": {
"type": "boolean"
},
"headers": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"glob",
"headers"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
}
},
"required": [
"headers",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"headers": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"regex": {
"type": "string"
}
},
"required": [
"headers",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"i18n": {
"additionalProperties": false,
"properties": {
"root": {
"type": "string"
}
},
"required": [
"root"
],
"type": "object"
},
"ignore": {
"items": {
"type": "string"
},
"type": "array"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"public": {
"type": "string"
},
"redirects": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
},
"type": {
"type": "number"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"rewrites": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"destination",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"glob": {
"type": "string"
}
},
"required": [
"function",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"glob": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"glob",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"glob": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"glob"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"destination",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"function",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"run",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"source": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"source"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"destination": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"destination",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"function": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"required": [
"function",
"regex"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"regex": {
"type": "string"
},
"run": {
"additionalProperties": false,
"properties": {
"region": {
"type": "string"
},
"serviceId": {
"type": "string"
}
},
"required": [
"serviceId"
],
"type": "object"
}
},
"required": [
"regex",
"run"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"dynamicLinks": {
"type": "boolean"
},
"regex": {
"type": "string"
}
},
"required": [
"dynamicLinks",
"regex"
],
"type": "object"
}
]
},
"type": "array"
},
"site": {
"type": "string"
},
"target": {
"type": "string"
},
"trailingSlash": {
"type": "boolean"
}
},
"required": [
"site"
],
"type": "object"
}
]
},
"type": "array"
}
]
},
"remoteconfig": {
"additionalProperties": false,
"properties": {
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"template": {
"type": "string"
}
},
"required": [
"template"
],
"type": "object"
},
"storage": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
},
"target": {
"type": "string"
}
},
"required": [
"rules"
],
"type": "object"
},
{
"items": {
"additionalProperties": false,
"properties": {
"bucket": {
"type": "string"
},
"postdeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"predeploy": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"rules": {
"type": "string"
},
"target": {
"type": "string"
}
},
"required": [
"bucket",
"rules"
],
"type": "object"
},
"type": "array"
}
]
}
},
"type": "object"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment