{ "$schema": "https://json-schema.org/draft-07/schema", "properties": { "configurations": { "additionalProperties": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/startCommandParameters" }, { "$ref": "#/$defs/loginCommandParameters" }, { "$ref": "#/$defs/loginSharedCommandParameters" }, { "$ref": "#/$defs/initCommandParameters" }, { "$ref": "#/$defs/deployCommandParameters" }, { "$ref": "#/$defs/buildCommandParameters" }, { "properties": { "login": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/loginCommandParameters" }, { "$ref": "#/$defs/loginSharedCommandParameters" } ] } } }, { "properties": { "start": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/startCommandParameters" } ] } } }, { "properties": { "init": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/initCommandParameters" } ] } } }, { "properties": { "deploy": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/loginSharedCommandParameters" }, { "$ref": "#/$defs/deployCommandParameters" } ] } } }, { "properties": { "init": { "allOf": [ { "$ref": "#/$defs/globalParameters" }, { "$ref": "#/$defs/buildCommandParameters" } ] } } } ] }, "type": "object" } }, "$defs": { "globalParameters": { "properties": { "verbose": { "description": "Enable verbose output. Values are: silly,info,log,silent", "type": "string" }, "config": { "description": "Path to swa-cli.config.json file to use", "type": "string", "not": {} }, "printConfig": { "description": "Print all resolved options", "type": "string" } }, "type": "object" }, "startCommandParameters": { "properties": { "appLocation": { "description": "The folder containing the source code of the front-end application", "type": "string" }, "outputLocation": { "description": "The folder containing the built source of the front-end application", "type": "string" }, "apiLocation": { "description": "The folder containing the source code of the API application", "type": "string" }, "dataApiLocation": { "description": "The folder containing configurations for database connections", "type": "string" }, "appDevserverUrl": { "description": "Connect to the dev server at this URL instead of using output location", "type": "string" }, "apiDevserverUrl": { "description": "Connect to the api server at this URL instead of using api location", "type": "string" }, "apiPort": { "description": "The API server port passed to func start", "type": "number" }, "open": { "description": "Automatically open the CLI dev server in the default browser", "type": "boolean" }, "devserverTimeout": { "description": "The time to wait (in seconds) when connecting to a front-end application's dev server or api server", "type": "number" }, "host": { "description": "The host address to use for the CLI dev server", "type": "string" }, "port": { "description": "The port value to use for the CLI dev server", "type": "number" }, "run": { "description": "Run a custon shell command or file at startup", "type": "string" }, "ssl": { "description": "Serve the front-end application and API over HTTPS", "type": "boolean" }, "sslCert": { "description": "The SSL certificate (.crt) to use when enabling HTTPS", "type": "string" }, "sslKey": { "description": "The SSL key (.key) to use when enabling HTTPS", "type": "string" }, "funcArgs": { "description": "Pass additional arguments to the func start command", "type": "string" }, "swaConfigLocation": { "description": "The directory where the staticwebapp.config.json file is located", "type": "string" } }, "type": "object" }, "loginSharedCommandParameters": { "properties": { "subscriptionId": { "description": "Azure subscription ID used by this project", "type": "string" }, "resourceGroup": { "description": "Azure resource group used by this project", "type": "string" }, "appName": { "description": "Azure Static Web App application name", "type": "string" }, "tenant": { "description": "Azure tenant ID", "type": "string" }, "clientId": { "description": "Azure client ID", "type": "string" }, "clientSecret": { "description": "Azure client secret", "type": "string" }, "useKeychain": { "description": "Enable using the operating system native keychain for persistent credentials", "type": "boolean" }, "clearCredentials": { "description": "Clear persisted credentials before login", "type": "boolean" } }, "type": "object" }, "loginCommandParameters": { "properties": {}, "type": "object" }, "deployCommandParameters": { "properties": { "appLocation": { "description": "The folder containing the source code of the application", "type": "string" }, "apiLocation": { "description": "The folder containing the source code of the API application", "type": "string" }, "dataApiLocation": { "description": "The folder containing configurations for database connections", "type": "string" }, "outputLocation": { "description": "The folder where the front-end public files are location", "type": "string" }, "swaConfigLocation": { "description": "The directory where the staticwebapp.config.json file is located", "type": "string" }, "deploymentToken": { "description": "The secret token used to authenticate with the Static Web Apps", "not": {} }, "dryRun": { "description": "Simulate a deploy process without actually running it", "type": "boolean" }, "apiLanguage": { "description": "The runtime language of the API", "type": "string" }, "apiVersion": { "description": "The version of the API runtime language", "type": "string" } }, "type": "object" }, "initCommandParameters": { "properties": { "yes": { "description": "Answer yes to all prompts (disable interactive mode)", "type": "boolean" } }, "type": "object" }, "buildCommandParameters": { "properties": { "appLocation": { "description": "The folder containing the source code of the front-end application", "type": "string" }, "apiLocation": { "description": "The folder containing the source code of the API application", "type": "string" }, "outputLocation": { "description": "The folder where the front-end public files are location", "type": "string" }, "appBuildCommand": { "description": "The command used to build your app", "type": "string" }, "apiBuildCommand": { "description": "The command used to build your api", "type": "string" }, "auto": { "description": "Automatically detect how to build your app and api", "type": "boolean" } }, "type": "object" } }, "type": "object" }