{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/shopware/shopware-cli/internal/shop/config", "$ref": "#/$defs/Config", "$defs": { "Config": { "properties": { "include": { "items": { "type": "string" }, "type": "array" }, "url": { "type": "string", "description": "The URL of the Shopware instance" }, "compatibility_date": { "type": "string", "format": "date", "description": "Controls date-based compatibility behavior, formatted as YYYY-MM-DD." }, "build": { "$ref": "#/$defs/ConfigBuild" }, "admin_api": { "$ref": "#/$defs/ConfigAdminApi" }, "dump": { "$ref": "#/$defs/ConfigDump" }, "deployment": { "$ref": "#/$defs/ConfigDeployment" }, "validation": { "$ref": "#/$defs/ConfigValidation" }, "image_proxy": { "$ref": "#/$defs/ConfigImageProxy" }, "disable_composer_scripts": { "type": "boolean", "description": "When enabled, composer scripts will be disabled during CI builds" }, "disable_composer_install": { "type": "boolean", "description": "When enabled, composer install will be skipped during CI builds" } }, "additionalProperties": false, "type": "object" }, "ConfigAdminApi": { "properties": { "client_id": { "type": "string", "description": "Client ID of integration" }, "client_secret": { "type": "string", "description": "Client Secret of integration" }, "username": { "type": "string", "description": "Username of admin user" }, "password": { "type": "string", "description": "Password of admin user" }, "disable_ssl_check": { "type": "boolean", "description": "Disable SSL certificate check" } }, "additionalProperties": false, "type": "object" }, "ConfigBuild": { "properties": { "disable_asset_copy": { "type": "boolean", "description": "When enabled, the assets will not be copied to the public folder" }, "remove_extension_assets": { "type": "boolean", "description": "When enabled, the assets of extensions will be removed from the extension public folder. (Requires Shopware 6.5.2.0)" }, "keep_extension_source": { "type": "boolean", "description": "When enabled, the extensions source code will be keep in the final build" }, "keep_source_maps": { "type": "boolean", "description": "When enabled, the source maps will not be removed from the final build" }, "cleanup_paths": { "items": { "type": "string" }, "type": "array", "description": "Paths to delete for the final build" }, "browserslist": { "type": "string", "description": "Browserslist configuration for the Storefront build" }, "exclude_extensions": { "items": { "type": "string" }, "type": "array", "description": "Extensions to exclude from the build" }, "disable_storefront_build": { "type": "boolean", "description": "When enabled, the storefront build will be skipped" }, "force_extension_build": { "items": { "$ref": "#/$defs/ConfigBuildExtension" }, "type": "array", "description": "Extensions to force build for, even if they have compiled files" }, "force_admin_build": { "type": "boolean", "description": "When enabled, the shopware admin will be built" }, "keep_node_modules": { "items": { "type": "string" }, "type": "array", "description": "Keep following node_modules in the final build" }, "mjml": { "$ref": "#/$defs/ConfigBuildMJML", "description": "MJML email template compilation configuration" }, "asset_caching": { "type": "boolean", "description": "When enabled, built assets are cached locally and restored on subsequent builds when sources haven't changed" }, "hooks": { "$ref": "#/$defs/ConfigBuildHooks", "description": "Hooks to run at specific points during CI builds" }, "bundles": { "items": { "$ref": "#/$defs/ConfigProjectBundle" }, "type": "array", "description": "Shopware bundles to include in builds (alternative to composer.json extra.shopware-bundles)" } }, "additionalProperties": false, "type": "object" }, "ConfigBuildExtension": { "properties": { "name": { "type": "string", "description": "Name of the extension" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "description": "ConfigBuildExtension defines the configuration for forcing extension builds." }, "ConfigBuildHooks": { "properties": { "pre": { "items": { "type": "string" }, "type": "array", "description": "Commands to run before anything runs" }, "post": { "items": { "type": "string" }, "type": "array", "description": "Commands to run after everything completes" }, "pre-composer": { "items": { "type": "string" }, "type": "array", "description": "Commands to run before composer install" }, "post-composer": { "items": { "type": "string" }, "type": "array", "description": "Commands to run after composer install" }, "pre-assets": { "items": { "type": "string" }, "type": "array", "description": "Commands to run before asset build" }, "post-assets": { "items": { "type": "string" }, "type": "array", "description": "Commands to run after asset build" } }, "additionalProperties": false, "type": "object", "description": "ConfigBuildHooks defines hooks to run at specific points during CI builds." }, "ConfigBuildMJML": { "properties": { "enabled": { "type": "boolean", "description": "Whether to enable MJML compilation" }, "search_paths": { "items": { "type": "string" }, "type": "array", "description": "Directories to search for MJML files" } }, "additionalProperties": false, "type": "object", "description": "ConfigBuildMJML defines the configuration for MJML email template compilation." }, "ConfigDeployment": { "properties": { "hooks": { "properties": { "pre": { "type": "string" }, "post": { "type": "string" }, "pre-install": { "type": "string" }, "post-install": { "type": "string" }, "pre-update": { "type": "string" }, "post-update": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "store": { "properties": { "license-domain": { "type": "string" } }, "additionalProperties": false, "type": "object" }, "cache": { "properties": { "always_clear": { "type": "boolean" } }, "additionalProperties": false, "type": "object" }, "extension-management": { "properties": { "enabled": { "type": "boolean" }, "exclude": { "items": { "type": "string" }, "type": "array" }, "overrides": { "$ref": "#/$defs/ConfigDeploymentOverrides" }, "force_updates": { "items": { "type": "string" }, "type": "array" }, "force-update": { "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false, "type": "object", "description": "The extension management of the deployment" }, "one-time-tasks": { "items": { "properties": { "id": { "type": "string" }, "script": { "type": "string" } }, "additionalProperties": false, "type": "object", "required": [ "id", "script" ] }, "type": "array" } }, "additionalProperties": false, "type": "object" }, "ConfigDeploymentOverrides": { "additionalProperties": { "properties": { "state": { "type": "string", "enum": [ "inactive", "remove", "ignore", "installed" ] }, "keepUserData": { "type": "boolean" } }, "type": "object", "required": [ "state" ] }, "type": "object", "title": "Extension overrides" }, "ConfigDump": { "properties": { "rewrite": { "additionalProperties": { "additionalProperties": { "type": "string" }, "type": "object" }, "type": "object", "description": "Allows to rewrite single columns, perfect for GDPR compliance" }, "nodata": { "items": { "type": "string" }, "type": "array", "description": "Only export the schema of these tables" }, "ignore": { "items": { "type": "string" }, "type": "array", "description": "Ignore these tables from export" }, "where": { "additionalProperties": { "type": "string" }, "type": "object", "description": "Add an where condition to that table, schema is table name as key, and where statement as value" } }, "additionalProperties": false, "type": "object" }, "ConfigImageProxy": { "properties": { "url": { "type": "string", "description": "The URL of the upstream server to proxy requests to when files are not found locally" } }, "additionalProperties": false, "type": "object" }, "ConfigProjectBundle": { "properties": { "path": { "type": "string", "description": "Relative path from project root to the bundle directory" }, "name": { "type": "string", "description": "Optional override for the bundle name; defaults to the directory basename" } }, "additionalProperties": false, "type": "object", "required": [ "path" ], "description": "ConfigProjectBundle defines a project-level Shopware bundle." }, "ConfigValidation": { "properties": { "ignore": { "items": { "$ref": "#/$defs/ConfigValidationIgnoreItem" }, "type": "array", "description": "Ignore items from the validation." }, "ignore_extensions": { "items": { "$ref": "#/$defs/ConfigValidationIgnoreExtension" }, "type": "array" } }, "additionalProperties": false, "type": "object", "description": "ConfigValidation is used to configure the project validation." }, "ConfigValidationIgnoreExtension": { "properties": { "name": { "type": "string", "description": "The name of the extension to ignore." } }, "additionalProperties": false, "type": "object" }, "ConfigValidationIgnoreItem": { "properties": { "identifier": { "type": "string", "description": "The identifier of the item to ignore." }, "path": { "type": "string", "description": "The path of the item to ignore." }, "message": { "type": "string", "description": "The message of the item to ignore." } }, "additionalProperties": false, "type": "object", "description": "ConfigValidationIgnoreItem is used to ignore items from the validation." } } }