{
	"$schema": "http://json-schema.org/schema",
	"type": "object",
	"cli": "nx",
	"description": "Executor to build and deploy cloud functions",
	"properties": {
		"deploySentry": {
			"type": "boolean",
			"description": "Whether to deploy the sentry release",
			"aliases": ["sentry"]
		},
		"flavor": {
			"type": "string",
			"description": "The flavor to run from the flavors object"
		},
		"flavors": {
			"type": "object",
			"description": "The different flavors to deploy, keyed by the flavor name and value is the firebase project id"
		},
		"envFiles": {
			"type": "object",
			"description": "The different env files to use, keyed by the flavor name and value is the env file path"
		},
		"outputDirectory": {
			"type": "string",
			"description": "The output directory of the build",
			"aliases": ["outDir"]
		},
		"tsconfig": {
			"type": "string",
			"description": "The tsconfig file to use for the build",
			"aliases": ["tsconfig"]
		},
		"region": {
			"type": "string",
			"description": "The default region to deploy the functions to",
			"aliases": ["location"]
		},
		"silent": {
			"type": "boolean",
			"description": "Whether to suppress all logs",
			"aliases": ["s"]
		},
		"sourcemap": {
			"type": "boolean",
			"description": "Whether to generate sourcemaps",
			"default": true
		},
		"requireFix": {
			"type": "boolean",
			"description": "Add require at the top of the file",
			"default": true
		},
		"__dirnameFix": {
			"type": "boolean",
			"description": "Add __dirname at the top of the file",
			"default": true
		},
		"__filenameFix": {
			"type": "boolean",
			"description": "Add __filename at the top of the file",
			"default": true
		},
		"dryRun": {
			"type": "boolean",
			"description": "Whether to run the command as a dry run",
			"aliases": ["d", "dry"]
		},
		"verbose": {
			"type": "boolean",
			"description": "Whether to run the command with verbose logging",
			"aliases": ["v"]
		},
		"concurrency": {
			"type": "number",
			"description": "The number of functions to deploy in parallel",
			"aliases": ["c"]
		},
		"retryConcurrency": {
			"type": "number",
			"description": "The number of functions to deploy in parallel when retrying"
		},
		"devEnvFileName": {
			"type": "string",
			"description": "The name of the environment file for the development flavor",
			"aliases": ["devEnv"]
		},
		"envString": {
			"type": "string",
			"description": "Stringify version of the environment.",
			"aliases": ["ciEnv"]
		},
		"production": {
			"type": "boolean",
			"description": "Whether to deploy the production flavor",
			"aliases": ["prod"]
		},
		"development": {
			"type": "boolean",
			"description": "Whether to deploy the development flavor",
			"aliases": ["dev"]
		},
		"functionsDirectory": {
			"type": "string",
			"description": "The directory containing the functions to deploy",
			"aliases": ["functionsDir", "inputDirectory", "inDir"]
		},
		"only": {
			"type": "string",
			"description": "Only deploy the given function names separated by comma",
			"aliases": ["o"]
		},
		"force": {
			"type": "boolean",
			"description": "Force deploy all functions, even if no files changed",
			"aliases": ["f"]
		},
		"packageManager": {
			"type": "string",
			"enum": ["pnpm", "npm", "yarn", "global"],
			"description": "The package manager to use for deploying with firebase-tools",
			"aliases": ["pm"]
		},
		"validate": {
			"type": "boolean",
			"default": false,
			"description": "Will run tsc -noEmits in project root to validate the build",
			"aliases": ["valid"]
		},
		"ignoreMissingEnvironmentKey": {
			"type": "boolean",
			"default": false,
			"description": "Will ignore missing environment keys error",
			"aliases": ["ignoreMissingEnv"]
		},
		"nodeVersion": {
			"type": "string",
			"description": "The node version to use for the functions",
			"aliases": ["node"]
		},
		"retryAmount": {
			"type": "number",
			"description": "The amount of times to retry a failed deployment",
			"aliases": ["retry"]
		},
		"pnpmFix": {
			"type": "boolean",
			"default": false,
			"description": "Will fix the firebase-tools issue with pnpm"
		},
		"minify": {
			"type": "boolean",
			"default": true,
			"description": "Will minify the functions"
		}
	},
	"required": ["flavors"]
}
