*http_method_override?:bool|Param,// Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
*trust_x_sendfile_type_header?:scalar|Param|null,// Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
*set_locale_from_accept_language?:bool|Param,// Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
*set_content_language_from_locale?:bool|Param,// Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
*check_header?:scalar|Param|null,// Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
*cookie_name?:scalar|Param|null,// The name of the cookie to use when using stateless protection. // Default: "csrf-token"
*default_uri?:scalar|Param|null,// The default URI used to generate URLs in a non-HTTP context. // Default: null
*http_port?:scalar|Param|null,// Default: 80
*https_port?:scalar|Param|null,// Default: 443
*strict_requirements?:scalar|Param|null,// set to true to throw an exception when a parameter does not match the requirements set to false to disable exceptions when a parameter does not match the requirements (and return null instead) set to null to disable parameter checks against requirements 'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production // Default: true
*exclude_dotfiles?:bool|Param,// If true, any files starting with "." will be excluded from the asset mapper. // Default: true
*server?:bool|Param,// If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
*public_prefix?:scalar|Param|null,// The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
*missing_import_mode?:"strict"|"warn"|"ignore"|Param,// Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. "import './non-existent.js'". "strict" means an exception is thrown, "warn" means a warning is logged, "ignore" means the import is left as-is. // Default: "warn"
*extensions?:array<string,scalar|Param|null>,
*importmap_path?:scalar|Param|null,// The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
*importmap_polyfill?:scalar|Param|null,// The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
*prefix_seed?:scalar|Param|null,// Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
*app?:scalar|Param|null,// App related cache pools configuration. // Default: "cache.adapter.filesystem"
*system?:scalar|Param|null,// System related cache pools configuration. // Default: "cache.adapter.system"
*default_serializer?:scalar|Param|null,// Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
*format?:scalar|Param|null,// Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
*service?:scalar|Param|null,// Service id to override the retry strategy entirely. // Default: null
*max_retries?:int|Param,// Default: 3
*delay?:int|Param,// Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
*multiplier?:float|Param,// If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
*max_delay?:int|Param,// Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
*jitter?:float|Param,// Randomness to apply to the delay (between 0 and 1). // Default: 0.1
*mock_response_factory?:scalar|Param|null,// The id of the service that should generate mock responses. It should be either an invokable or an iterable.
*scope?:scalar|Param|null,// The regular expression that the request URL must match before adding the other options. When none is provided, the base URI is used instead.
*base_uri?:scalar|Param|null,// The URI to resolve relative URLs, following rules in RFC 3985, section 2.
*auth_basic?:scalar|Param|null,// An HTTP Basic authentication "username:password".
*auth_bearer?:scalar|Param|null,// A token enabling HTTP Bearer authorization.
*auth_ntlm?:scalar|Param|null,// A "username:password" pair to use Microsoft NTLM authentication (requires the cURL extension).
*repository?:scalar|Param|null,// S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
*cipher?:int|Param,// A set of algorithms used to encrypt the message // Default: null
*lock_factory?:scalar|Param|null,// The service ID of the lock factory used by this limiter (or null to disable locking). // Default: "auto"
*cache_pool?:scalar|Param|null,// The cache pool to use for storing the current limiter state. // Default: "cache.rate_limiter"
*storage_service?:scalar|Param|null,// The service ID of a custom storage implementation, this precedes any configured "cache_pool". // Default: null
*policy:"fixed_window"|"token_bucket"|"sliding_window"|"compound"|"no_limit"|Param,// The algorithm to be used by this limiter.
*limiters?:list<scalar|Param|null>,
*limit?:int|Param,// The maximum allowed hits in a fixed interval or burst.
*interval?:scalar|Param|null,// Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
*interval?:scalar|Param|null,// Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
*amount?:int|Param,// Amount of tokens to add each interval. // Default: 1
*url?:scalar|Param|null,// A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
*dbname?:scalar|Param|null,
*host?:scalar|Param|null,// Defaults to "localhost" at runtime.
*port?:scalar|Param|null,// Defaults to null at runtime.
*user?:scalar|Param|null,// Defaults to "root" at runtime.
*password?:scalar|Param|null,// Defaults to null at runtime.
*dbname_suffix?:scalar|Param|null,// Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
*application_name?:scalar|Param|null,
*charset?:scalar|Param|null,
*path?:scalar|Param|null,
*memory?:bool|Param,
*unix_socket?:scalar|Param|null,// The unix socket to use for MySQL
*persistent?:bool|Param,// True to use as persistent connection for the ibm_db2 driver
*protocol?:scalar|Param|null,// The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
*service?:bool|Param,// True to use SERVICE_NAME as connection parameter instead of SID for Oracle
*servicename?:scalar|Param|null,// Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
*sessionMode?:scalar|Param|null,// The session mode to use for the oci8 driver
*server?:scalar|Param|null,// The name of a running database server to connect to for SQL Anywhere.
*default_dbname?:scalar|Param|null,// Override the default database (postgres) to connect to for PostgreSQL connexion.
*sslmode?:scalar|Param|null,// Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
*sslrootcert?:scalar|Param|null,// The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
*sslcert?:scalar|Param|null,// The path to the SSL client certificate file for PostgreSQL.
*sslkey?:scalar|Param|null,// The path to the SSL client key file for PostgreSQL.
*sslcrl?:scalar|Param|null,// The file name of the SSL certificate revocation list for PostgreSQL.
*pooled?:bool|Param,// True to use a pooled server with the oci8/pdo_oracle driver
*MultipleActiveResultSets?:bool|Param,// Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
*instancename?:scalar|Param|null,// Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
*connectstring?:scalar|Param|null,// Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
*url?:scalar|Param|null,// A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
*dbname?:scalar|Param|null,
*host?:scalar|Param|null,// Defaults to "localhost" at runtime.
*port?:scalar|Param|null,// Defaults to null at runtime.
*user?:scalar|Param|null,// Defaults to "root" at runtime.
*password?:scalar|Param|null,// Defaults to null at runtime.
*dbname_suffix?:scalar|Param|null,// Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
*application_name?:scalar|Param|null,
*charset?:scalar|Param|null,
*path?:scalar|Param|null,
*memory?:bool|Param,
*unix_socket?:scalar|Param|null,// The unix socket to use for MySQL
*persistent?:bool|Param,// True to use as persistent connection for the ibm_db2 driver
*protocol?:scalar|Param|null,// The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
*service?:bool|Param,// True to use SERVICE_NAME as connection parameter instead of SID for Oracle
*servicename?:scalar|Param|null,// Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
*sessionMode?:scalar|Param|null,// The session mode to use for the oci8 driver
*server?:scalar|Param|null,// The name of a running database server to connect to for SQL Anywhere.
*default_dbname?:scalar|Param|null,// Override the default database (postgres) to connect to for PostgreSQL connexion.
*sslmode?:scalar|Param|null,// Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
*sslrootcert?:scalar|Param|null,// The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
*sslcert?:scalar|Param|null,// The path to the SSL client certificate file for PostgreSQL.
*sslkey?:scalar|Param|null,// The path to the SSL client key file for PostgreSQL.
*sslcrl?:scalar|Param|null,// The file name of the SSL certificate revocation list for PostgreSQL.
*pooled?:bool|Param,// True to use a pooled server with the oci8/pdo_oracle driver
*MultipleActiveResultSets?:bool|Param,// Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
*instancename?:scalar|Param|null,// Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
*connectstring?:scalar|Param|null,// Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
*enable_native_lazy_objects?:bool|Param,// Deprecated: The "enable_native_lazy_objects" option is deprecated and will be removed in DoctrineBundle 4.0, as native lazy objects are now always enabled. // Default: true
*auto_mapping?:bool|Param,// Deprecated: The "doctrine.orm.controller_resolver.auto_mapping.auto_mapping" option is deprecated and will be removed in DoctrineBundle 4.0, as it only accepts `false` since 3.0. // Set to true to enable using route placeholders as lookup criteria when the primary key doesn't match the argument name // Default: false
*evict_cache?:bool|Param,// Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
*validate_xml_mapping?:bool|Param,// Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/6728. // Default: false
*connection?:scalar|Param|null,// Connection name to use for the migrations database. // Default: null
*em?:scalar|Param|null,// Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
*all_or_nothing?:scalar|Param|null,// Run all migrations in a transaction. // Default: false
*check_database_platform?:scalar|Param|null,// Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
*organize_migrations?:scalar|Param|null,// Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
*enable_profiler?:bool|Param,// Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
*transactional?:bool|Param,// Whether or not to wrap migrations in a single transaction. // Default: true
*max_items?:int|Param,// Max number of displayed items past the first level, -1 means no limit. // Default: 2500
*min_depth?:int|Param,// Minimum tree depth to clone all the items, 1 is default. // Default: 1
*max_string_length?:int|Param,// Max length of displayed strings, -1 means no limit. // Default: -1
*dump_destination?:scalar|Param|null,// A stream URL where dumps should be written to. // Default: null
*theme?:"dark"|"light"|Param,// Changes the color of the dump() output when rendered directly on the templating. "dark" (default) or "light". // Default: "dark"
*timezone?:scalar|Param|null,// The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
*html_to_text_converter?:scalar|Param|null,// A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
*hash_algorithm?:scalar|Param|null,// Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
*user_checker?:scalar|Param|null,// The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
*request_matcher?:scalar|Param|null,
*access_denied_url?:scalar|Param|null,
*access_denied_handler?:scalar|Param|null,
*entry_point?:scalar|Param|null,// An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
*check_route:scalar|Param|null,// Route that will validate the login link - e.g. "app_login_link_verify".
*check_post_only?:scalar|Param|null,// If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
*signature_properties:list<scalar|Param|null>,
*lifetime?:int|Param,// The lifetime of the login link in seconds. // Default: 600
*max_uses?:int|Param,// Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
*used_link_cache?:scalar|Param|null,// Cache service id used to expired links of max_uses is set.
*success_handler?:scalar|Param|null,// A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
*failure_handler?:scalar|Param|null,// A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
*provider?:scalar|Param|null,// The user provider to load users from.
*base_uri:scalar|Param|null,// Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
*locator?:"filesystem"|"filesystem_insecure"|Param,// Using the "filesystem_insecure" locator is not recommended due to a less secure resolver mechanism, but is provided for those using heavily symlinked projects. // Default: "filesystem"
*access_control_type?:"blacklist"|"whitelist"|Param,// Sets the access control method applied to bundle names in "access_control_list" into a blacklist or whitelist. // Default: "blacklist"
*enqueue?:bool|Param,// Enables integration with enqueue if set true. Allows resolve image caches in background by sending messages to MQ. // Default: false
*messenger?:bool|array{// Enables integration with symfony/messenger if set true. Warmup image caches in background by sending messages to MQ.
*enabled?:bool|Param,// Default: false
*},
*templating?:bool|Param,// Enables integration with symfony/templating component // Default: true
*dump_directory?:scalar|Param|null,// The directory to which the sitemap will be dumped. It can be either absolute, or relative (to the place where the command will be triggered). Default to Symfony's public dir. // Default: "%kernel.project_dir%/public"
*default_section?:scalar|Param|null,// The default section in which static routes are registered. // Default: "default"
*alternate?:bool|array{// Automatically generate alternate (hreflang) urls with static routes. Requires route_annotation_listener config to be enabled.
*enabled?:bool|Param,// Default: false
*default_locale?:scalar|Param|null,// The default locale of your routes. // Default: "en"
*locales?:list<scalar|Param|null>,
*i18n?:"symfony"|"jms"|Param,// Strategy used to create your i18n routes. // Default: "symfony"
*},
*}
*@psalm-typeSentryConfig=array{
*dsn?:scalar|Param|null,// If this value is not provided, the SDK will try to read it from the SENTRY_DSN environment variable. If that variable also does not exist, the SDK will not send any events.
*logger?:scalar|Param|null,// The service ID of the PSR-3 logger used to log messages coming from the SDK client. Be aware that setting the same logger of the application may create a circular loop when an event fails to be sent. // Default: null
*options?:array{
*integrations?:mixed,// Default: []
*default_integrations?:bool|Param,
*prefixes?:list<scalar|Param|null>,
*sample_rate?:float|Param,// The sampling factor to apply to events. A value of 0 will deny sending any event, and a value of 1 will send all events.
*enable_tracing?:bool|Param,
*traces_sample_rate?:float|Param,// The sampling factor to apply to transactions. A value of 0 will deny sending any transaction, and a value of 1 will send all transactions.
*traces_sampler?:scalar|Param|null,
*profiles_sample_rate?:float|Param,// The sampling factor to apply to profiles. A value of 0 will deny sending any profiles, and a value of 1 will send all profiles. Profiles are sampled in relation to traces_sample_rate
*http_connect_timeout?:float|Param,// The maximum number of seconds to wait while trying to connect to a server. It works only when using the default transport.
*http_timeout?:float|Param,// The maximum execution time for the request+response as a whole. It works only when using the default transport.
*legacy_hash_algo?:scalar|Param|null,// Fallback algorithm to allow for frictionless hash algorithm upgrades. Use with caution and as a temporary measure as it allows for downgrade attacks. // Default: null
*xss_protection?:array{// Deprecated: The "xss_protection" option is deprecated, use Content Security Policy without allowing "unsafe-inline" scripts instead.
*algorithm?:"sha256"|"sha384"|"sha512"|Param,// The algorithm to use for hashes // Default: "sha256"
*},
*report?:array{
*level1_fallback?:bool|Param,// Provides CSP Level 1 fallback when using hash or nonce (CSP level 2) by adding 'unsafe-inline' source. See https://www.w3.org/TR/CSP2/#directive-script-src and https://www.w3.org/TR/CSP2/#directive-style-src // Default: true
*browser_adaptive?:bool|array{// Do not send directives that browser do not support
*level1_fallback?:bool|Param,// Provides CSP Level 1 fallback when using hash or nonce (CSP level 2) by adding 'unsafe-inline' source. See https://www.w3.org/TR/CSP2/#directive-script-src and https://www.w3.org/TR/CSP2/#directive-style-src // Default: true
*browser_adaptive?:bool|array{// Do not send directives that browser do not support
*coep?:"unsafe-none"|"require-corp"|"credentialless"|Param,// Cross-Origin-Embedder-Policy (COEP) header value
*coop?:"unsafe-none"|"same-origin-allow-popups"|"same-origin"|"noopener-allow-popups"|Param,// Cross-Origin-Opener-Policy (COOP) header value
*corp?:"same-site"|"same-origin"|"cross-origin"|Param,// Cross-Origin-Resource-Policy (CORP) header value
*report_only?:bool|Param,// Use Report-Only headers instead of enforcing (applies to COEP and COOP only) // Default: false
*report_to?:scalar|Param|null,// Reporting endpoint name for violations (requires Reporting API configuration, applies to COEP and COOP only) // Default: null
*}>,
*},
*}
*@psalm-typePwaConfig=array{
*asset_compiler?:bool|Param,// When true, the assets will be compiled when the command "asset-map:compile" is run. // Default: true
*early_hints?:bool|array{// Early Hints (HTTP 103) configuration. Requires a compatible server (FrankenPHP, Caddy).
*enabled?:bool|Param,// Default: false
*preload_manifest?:bool|Param,// Preload the PWA manifest file. // Default: true
*preload_serviceworker?:bool|Param,// Preload the service worker script. Disabled by default as SW registration is usually deferred. // Default: false
*preconnect_workbox_cdn?:bool|Param,// Preconnect to Workbox CDN when using CDN mode. // Default: true
*},
*favicons?:bool|array{
*enabled?:bool|Param,// Default: false
*default?:array{// The favicon source and parameters. When used with "dark", this favicon will become the light version.
*src:scalar|Param|null,// The path to the icon. Can be served by Asset Mapper, an absolute path or a Symfony UX Icon (if the bundle is installed).
*background_color?:scalar|Param|null,// The background color of the application. If this value is not defined and that of the Manifest section is, the value of the latter will be used. // Default: null
*border_radius?:int|Param,// The border radius of the icon. // Default: null
*image_scale?:int|Param,// The scale of the icon. // Default: null
*svg_attr?:array<string,mixed>,
*},
*dark?:array{// The favicon source and parameters for the dark theme. Should only be used with "default".
*src:scalar|Param|null,// The path to the icon. Can be served by Asset Mapper, an absolute path or a Symfony UX Icon (if the bundle is installed).
*background_color?:scalar|Param|null,// The background color of the application. If this value is not defined and that of the Manifest section is, the value of the latter will be used. // Default: null
*border_radius?:int|Param,// The border radius of the icon. // Default: null
*image_scale?:int|Param,// The scale of the icon. // Default: null
*svg_attr?:array<string,mixed>,
*},
*src?:scalar|Param|null,// Deprecated: The "src" configuration key is deprecated. Use the "default.src" configuration key instead. // The source of the favicon. Shall be a SVG or large PNG. // Default: null
*src_dark?:scalar|Param|null,// Deprecated: The "src_dark" configuration key is deprecated. Use the "dark.src" configuration key instead. // The source of the favicon in dark mode. Shall be a SVG or large PNG. // Default: null
*background_color?:scalar|Param|null,// Deprecated: The "background_color" configuration key is deprecated. Use the "default.background_color" configuration key instead. // The background color of the icon. // Default: null
*background_color_dark?:scalar|Param|null,// Deprecated: The "background_color_dark" configuration key is deprecated. Use the "dark.background_color" configuration key instead. // The background color of the icon in dark mode. // Default: null
*safari_pinned_tab_color?:scalar|Param|null,// The color of the Safari pinned tab. Requires "use_silhouette" to be set to "true". // Default: null
*tile_color?:scalar|Param|null,// The color of the tile for Windows 8+. // Default: null
*border_radius?:int|Param,// Deprecated: The "border_radius" configuration key is deprecated. Use the "default.border_radius" or "dark.border_radius" configuration key instead. // The border radius of the icon. // Default: null
*image_scale?:int|Param,// Deprecated: The "image_scale" configuration key is deprecated. Use the "default.image_scale" or "dark.image_scale" configuration key instead. // The scale of the icon. // Default: null
*low_resolution?:bool|Param,// Include low resolution icons. // Default: false
*use_silhouette?:bool|Param|null,// Use only the silhouette of the icon. Applicable for macOS Safari and Windows 8+. Requires potrace to be installed. // Default: null
*use_start_image?:bool|Param,// Use the icon as a start image for the iOS splash screen. // Default: true
*svg_color?:scalar|Param|null,// When the asset is a SVG file, replaces the currentColor attribute with this color. // Default: "#000"
*monochrome?:bool|Param,// Use a monochrome icon. // Default: false
*potrace?:scalar|Param|null,// The path to the potrace binary. // Default: "potrace"
*},
*image_processor?:scalar|Param|null,// The image processor to use to generate the icons of different sizes. // Default: null
*logger?:scalar|Param|null,// The logger service to use. If not set, the default logger will be used. // Default: null
*manifest?:bool|array{
*enabled?:bool|Param,// Default: false
*public_url?:scalar|Param|null,// The public URL of the manifest file. // Default: "/site.webmanifest"
*use_credentials?:bool|Param,// Indicates whether the manifest should be fetched with credentials. // Default: true
*background_color?:scalar|Param|null,// The background color of the application. It should match the background-color CSS property in the sites stylesheet for a smooth transition between launching the web application and loading the site's content.
*categories?:list<scalar|Param|null>,
*description?:scalar|Param|null,// The description of the application.
*display?:scalar|Param|null,// The display mode of the application.
*display_override?:list<scalar|Param|null>,
*id?:scalar|Param|null,// A string that represents the identity of the web application.
*orientation?:scalar|Param|null,// The orientation of the application.
*dir?:scalar|Param|null,// The direction of the application.
*lang?:scalar|Param|null,// The language of the application.
*name?:scalar|Param|null,// The name of the application.
*short_name?:scalar|Param|null,// The short name of the application.
*scope?:scalar|Param|null,// The scope of the application.
*start_url?:string|array{// The start URL of the application.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*theme_color?:scalar|Param|null,// The theme color of the application. If a dark theme color is specified, the theme color will be used for the light theme.
*dark_theme_color?:scalar|Param|null,// The dark theme color of the application.
*edge_side_panel?:array{// Specifies whether or not your app supports the side panel view in Microsoft Edge.
*preferred_width?:int|Param,// Specifies the preferred width of the side panel view in Microsoft Edge.
*},
*iarc_rating_id?:scalar|Param|null,// Specifies the International Age Rating Coalition (IARC) rating ID for the app. See https://www.globalratings.com/how-iarc-works.aspx for more information.
*scope_extensions?:list<array{// Default: []
*type?:scalar|Param|null,// Specifies the type of scope extension. This is currently always origin (default), but future extensions may add other types. // Default: "origin"
*origin:scalar|Param|null,// Specifies the origin pattern to associate with.
*}>,
*handle_links?:scalar|Param|null,// Specifies the default link handling for the web app.
*note_taking?:array{// The note-taking capabilities of the application.
*note_taking_url?:string|array{// The URL to the note-taking service.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*},
*icons?:list<string|array{// Default: []
*src:scalar|Param|null,// The path to the icon. Can be served by Asset Mapper, an absolute path or a Symfony UX Icon (if the bundle is installed).
*sizes?:list<int|Param>,
*background_color?:scalar|Param|null,// The background color of the application. If this value is not defined and that of the Manifest section is, the value of the latter will be used. // Default: null
*border_radius?:int|Param,// The border radius of the icon. // Default: null
*image_scale?:int|Param,// The scale of the icon. // Default: null
*type?:scalar|Param|null,// The icon mime type.
*format?:scalar|Param|null,// The icon format. When set, the "type" option is ignored and the image will be converted.
*purpose?:scalar|Param|null,// The purpose of the icon.
*svg_attr?:array<string,mixed>,
*}>,
*screenshots?:list<string|array{// Default: []
*src?:scalar|Param|null,// The path to the screenshot. Can be served by Asset Mapper.
*height?:scalar|Param|null,// Default: null
*width?:scalar|Param|null,// Default: null
*form_factor?:scalar|Param|null,// The form factor of the screenshot. Will guess the form factor if not set.
*label?:scalar|Param|null,// The label of the screenshot.
*platform?:scalar|Param|null,// The platform of the screenshot.
*format?:scalar|Param|null,// The format of the screenshot. Will convert the file if set.
*reference?:scalar|Param|null,// The URL of the screenshot. Only for reference and not used by the bundle. // Default: null
*}>,
*file_handlers?:list<array{// Default: []
*action?:string|array{// The action to take.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*accept?:array<string,list<scalar|Param|null>>,
*}>,
*launch_handler?:array{// The launch handler of the application.
*client_mode?:list<scalar|Param|null>,
*},
*protocol_handlers?:list<array{// Default: []
*protocol:scalar|Param|null,// The protocol of the handler.
*placeholder?:scalar|Param|null,// The placeholder of the handler. Will be replaced by "xxx=%s". // Default: null
*url?:string|array{// The URL of the handler.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*}>,
*prefer_related_applications?:bool|Param,// prefer related native applications (instead of this application) // Default: false
*related_applications?:list<array{// Default: []
*platform:scalar|Param|null,// The platform of the application.
*url?:string|array{// The URL of the application.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*id?:scalar|Param|null,// The ID of the application.
*}>,
*shortcuts?:list<array{// Default: []
*name:scalar|Param|null,// The name of the shortcut.
*short_name?:scalar|Param|null,// The short name of the shortcut.
*description?:scalar|Param|null,// The description of the shortcut.
*url?:string|array{// The URL of the shortcut.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*icons?:list<string|array{// Default: []
*src:scalar|Param|null,// The path to the icon. Can be served by Asset Mapper, an absolute path or a Symfony UX Icon (if the bundle is installed).
*sizes?:list<int|Param>,
*background_color?:scalar|Param|null,// The background color of the application. If this value is not defined and that of the Manifest section is, the value of the latter will be used. // Default: null
*border_radius?:int|Param,// The border radius of the icon. // Default: null
*image_scale?:int|Param,// The scale of the icon. // Default: null
*type?:scalar|Param|null,// The icon mime type.
*format?:scalar|Param|null,// The icon format. When set, the "type" option is ignored and the image will be converted.
*purpose?:scalar|Param|null,// The purpose of the icon.
*svg_attr?:array<string,mixed>,
*}>,
*}>,
*share_target?:array{// The share target of the application.
*action?:string|array{// The action of the share target.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*method?:scalar|Param|null,// The method of the share target.
*enctype?:scalar|Param|null,// The enctype of the share target. Ignored if method is GET.
*params:array{// The parameters of the share target.
*title?:scalar|Param|null,// The title of the share target.
*text?:scalar|Param|null,// The text of the share target.
*url?:scalar|Param|null,// The URL of the share target.
*files?:list<array{// Default: []
*name?:scalar|Param|null,// The name of the file parameter.
*accept?:list<scalar|Param|null>,
*}>,
*},
*},
*widgets?:list<array{// Default: []
*name:scalar|Param|null,// The title of the widget, presented to users.
*short_name?:scalar|Param|null,// An alternative short version of the name.
*description:scalar|Param|null,// The description of the widget.
*icons?:list<string|array{// Default: []
*src:scalar|Param|null,// The path to the icon. Can be served by Asset Mapper, an absolute path or a Symfony UX Icon (if the bundle is installed).
*sizes?:list<int|Param>,
*background_color?:scalar|Param|null,// The background color of the application. If this value is not defined and that of the Manifest section is, the value of the latter will be used. // Default: null
*border_radius?:int|Param,// The border radius of the icon. // Default: null
*image_scale?:int|Param,// The scale of the icon. // Default: null
*type?:scalar|Param|null,// The icon mime type.
*format?:scalar|Param|null,// The icon format. When set, the "type" option is ignored and the image will be converted.
*purpose?:scalar|Param|null,// The purpose of the icon.
*svg_attr?:array<string,mixed>,
*}>,
*screenshots?:list<string|array{// Default: []
*src?:scalar|Param|null,// The path to the screenshot. Can be served by Asset Mapper.
*height?:scalar|Param|null,// Default: null
*width?:scalar|Param|null,// Default: null
*form_factor?:scalar|Param|null,// The form factor of the screenshot. Will guess the form factor if not set.
*label?:scalar|Param|null,// The label of the screenshot.
*platform?:scalar|Param|null,// The platform of the screenshot.
*format?:scalar|Param|null,// The format of the screenshot. Will convert the file if set.
*reference?:scalar|Param|null,// The URL of the screenshot. Only for reference and not used by the bundle. // Default: null
*}>,
*tag:scalar|Param|null,// A string used to reference the widget in the PWA service worker.
*template?:scalar|Param|null,// The template to use to display the widget in the operating system widgets dashboard. Note: this property is currently only informational and not used. See ms_ac_template below.
*ms_ac_template?:string|array{// The URL of the custom Adaptive Cards template to use to display the widget in the operating system widgets dashboard.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*data?:string|array{// The URL where the data to fill the template with can be found. If present, this URL is required to return valid JSON.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*type?:scalar|Param|null,// The MIME type for the widget data.
*auth?:bool|Param,// A boolean indicating if the widget requires authentication.
*update?:int|Param,// The frequency, in seconds, at which the widget will be updated. Code in your service worker must perform the updating; the widget is not updated automatically. See Access widget instances at runtime.
*multiple?:bool|Param,// A boolean indicating whether to allow multiple instances of the widget. Defaults to true. // Default: true
*}>,
*},
*path_type_reference?:int|Param,// Deprecated: The "path_type_reference" configuration key is deprecated. Use the "path_type_reference" of URL nodes instead. // The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*resource_hints?:bool|array{// Resource Hints configuration for preconnect, dns-prefetch, and preload.
*enabled?:bool|Param,// Default: false
*auto_preconnect?:bool|Param,// Automatically add preconnect hints for detected external origins (Workbox CDN, Google Fonts). // Default: true
*preconnect?:list<scalar|Param|null>,
*dns_prefetch?:list<scalar|Param|null>,
*preload?:list<array{// Default: []
*href:scalar|Param|null,// The URL or path to preload.
*as:"script"|"style"|"font"|"image"|"fetch"|"document"|"audio"|"video"|"track"|"worker"|Param,// The resource type.
*type?:scalar|Param|null,// The MIME type of the resource. // Default: null
*crossorigin?:"anonymous"|"use-credentials"|Param,// The crossorigin attribute value. Required for fonts. // Default: null
*fetchpriority?:"high"|"low"|"auto"|Param,// The fetch priority hint. // Default: null
*media?:scalar|Param|null,// Media query for responsive preloading. // Default: null
*}>,
*},
*serviceworker?:bool|string|array{
*enabled?:bool|Param,// Default: false
*src?:scalar|Param|null,// The path to the service worker source file. Can be served by Asset Mapper.
*dest?:scalar|Param|null,// The public URL to the service worker. // Default: "/sw.js"
*skip_waiting?:bool|Param,// Whether to skip waiting for the service worker to be activated. // Default: false
*scope?:scalar|Param|null,// The scope of the service worker. // Default: "/"
*use_cache?:bool|Param,// Whether the service worker should use the cache. // Default: true
*workbox?:bool|array{// The configuration of the workbox.
*enabled?:bool|Param,// Default: true
*use_cdn?:bool|Param,// Deprecated: The "use_cdn" option is deprecated and will be removed in 2.0.0. use "config.use_cdn" instead. // Whether to use the local workbox or the CDN. // Default: false
*google_fonts?:bool|array{
*enabled?:bool|Param,// Default: true
*cache_prefix?:scalar|Param|null,// The cache prefix for the Google fonts. // Default: null
*max_age?:scalar|Param|null,// The maximum age of the Google fonts cache (in seconds). // Default: null
*max_entries?:int|Param,// The maximum number of entries in the Google fonts cache. // Default: null
*},
*cache_manifest?:bool|Param,// Whether to cache the manifest file. // Default: true
*version?:scalar|Param|null,// Deprecated: The "version" option is deprecated and will be removed in 2.0.0. use "config.version" instead. // The version of workbox. When using local files, the version shall be "7.0.0." // Default: "7.3.0"
*workbox_public_url?:scalar|Param|null,// Deprecated: The "workbox_public_url" option is deprecated and will be removed in 2.0.0. use "config.workbox_public_url" instead. // The public path to the local workbox. Only used if use_cdn is false. // Default: "/workbox"
*idb_public_url?:scalar|Param|null,// The public path to the local IndexDB. Only used if use_cdn is false. // Default: "/idb"
*workbox_import_placeholder?:scalar|Param|null,// Deprecated: The "workbox_import_placeholder" option is deprecated and will be removed in 2.0.0. No replacement. // The placeholder for the workbox import. Will be replaced by the workbox import. // Default: "//WORKBOX_IMPORT_PLACEHOLDER"
*standard_rules_placeholder?:scalar|Param|null,// Deprecated: The "standard_rules_placeholder" option is deprecated and will be removed in 2.0.0. No replacement. // The placeholder for the standard rules. Will be replaced by caching strategies. // Default: "//STANDARD_RULES_PLACEHOLDER"
*offline_fallback_placeholder?:scalar|Param|null,// Deprecated: The "offline_fallback_placeholder" option is deprecated and will be removed in 2.0.0. No replacement. // The placeholder for the offline fallback. Will be replaced by the URL. // Default: "//OFFLINE_FALLBACK_PLACEHOLDER"
*widgets_placeholder?:scalar|Param|null,// Deprecated: The "widgets_placeholder" option is deprecated and will be removed in 2.0.0. No replacement. // The placeholder for the widgets. Will be replaced by the widgets management events. // Default: "//WIDGETS_PLACEHOLDER"
*clear_cache?:bool|Param,// Whether to clear the cache during the service worker activation. // Default: true
*navigation_preload?:bool|Param,// Whether to enable navigation preload. This speeds up navigation requests by making the network request in parallel with service worker boot-up. Note: Do not enable if you are precaching HTML pages (e.g., with offline_fallback or warm_cache_urls), as it would be redundant. // Default: false
*config?:array{
*debug?:bool|Param,// Controls workbox debug logging. Set to false to disable debug mode and logging. // Default: true
*version?:scalar|Param|null,// The version of workbox. When using local files, the version shall be "7.0.0." // Default: "7.3.0"
*use_cdn?:bool|Param,// Whether to use the local workbox or the CDN. // Default: false
*workbox_public_url?:scalar|Param|null,// The public path to the local workbox. Only used if use_cdn is false. // Default: "/workbox"
*},
*offline_fallback?:array{
*cache_name?:scalar|Param|null,// The name of the offline cache. // Default: "offline"
*page?:string|array{// The URL of the offline page fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*image?:string|array{// The URL of the offline image fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*font?:string|array{// The URL of the offline font fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*},
*image_cache?:bool|array{
*enabled?:bool|Param,// Default: true
*cache_name?:scalar|Param|null,// The name of the image cache. // Default: "images"
*regex?:scalar|Param|null,// The regex to match the images. // Default: "/\\.(ico|png|jpe?g|gif|svg|webp|bmp)$/"
*max_entries?:int|Param,// The maximum number of entries in the image cache. // Default: 60
*max_age?:scalar|Param|null,// The maximum number of seconds before the image cache is invalidated. // Default: 31536000
*},
*asset_cache?:bool|array{
*enabled?:bool|Param,// Default: true
*cache_name?:scalar|Param|null,// The name of the asset cache. // Default: "assets"
*regex?:scalar|Param|null,// The regex to match the assets. // Default: "/\\.(css|js|json|xml|txt|map|ico|png|jpe?g|gif|svg|webp|bmp)$/"
*max_age?:scalar|Param|null,// The maximum number of seconds before the asset cache is invalidated. // Default: 31536000
*},
*font_cache?:bool|array{
*enabled?:bool|Param,// Default: true
*cache_name?:scalar|Param|null,// The name of the font cache. // Default: "fonts"
*regex?:scalar|Param|null,// The regex to match the fonts. // Default: "/\\.(ttf|eot|otf|woff2)$/"
*max_entries?:int|Param,// The maximum number of entries in the image cache. // Default: 60
*max_age?:int|Param,// The maximum number of seconds before the font cache is invalidated. // Default: 31536000
*},
*resource_caches?:list<array{// Default: []
*match_callback:scalar|Param|null,// The regex or callback function to match the URLs.
*cache_name?:scalar|Param|null,// The name of the page cache.
*network_timeout?:int|Param,// The network timeout in seconds before cache is called (for "NetworkFirst" and "NetworkOnly" strategies). // Default: 3
*strategy?:scalar|Param|null,// The caching strategy. Only "NetworkFirst", "CacheFirst" and "StaleWhileRevalidate" are supported. StaleWhileRevalidate provides instant page loads with background updates. // Default: "StaleWhileRevalidate"
*max_entries?:scalar|Param|null,// The maximum number of entries in the cache (for "CacheFirst" and "NetworkFirst" strategy only). // Default: null
*max_age?:scalar|Param|null,// The maximum number of seconds before the cache is invalidated (for "CacheFirst" and "NetWorkFirst" strategy only). // Default: null
*broadcast?:bool|Param,// Whether to broadcast the cache update events (for "StaleWhileRevalidate" strategy only). Enables client notification when content is updated. // Default: true
*range_requests?:bool|Param,// Whether to support range requests (for "CacheFirst" strategy only). // Default: false
*path:scalar|Param|null,// The URL of the shortcut.
*params?:list<mixed>,
*}>,
*}>,
*background_sync?:list<array{// Default: []
*queue_name:scalar|Param|null,// The name of the queue.
*match_callback:scalar|Param|null,// The regex or callback function to match the URLs.
*error_on_4xx?:bool|Param,// Whether to retry the request on 4xx errors. // Default: true
*error_on_5xx?:bool|Param,// Whether to retry the request on 5xx errors. // Default: true
*expected_status_codes?:list<int|Param>,
*expect_redirect?:bool|Param,// Whether to expect a redirect (JS response type should be "opaqueredirect" or the "redirected" property is "true"). // Default: false
*method?:scalar|Param|null,// The HTTP method. // Default: "POST"
*broadcast_channel?:scalar|Param|null,// The broadcast channel. Set null to disable. // Default: null
*max_retention_time?:int|Param,// The maximum retention time in minutes. // Default: 1440
*force_sync_fallback?:bool|Param,// If `true`, instead of attempting to use background sync events, always attempt to replay queued request at service worker startup. Most folks will not need this, unless you explicitly target a runtime like Electron that exposes the interfaces for background sync, but does not have a working implementation. // Default: false
*}>,
*background_fetch?:bool|array{
*enabled?:bool|Param,// Default: false
*db_name?:scalar|Param|null,// The IndexDB name where downloads are stored // Default: "bgfetch-completed"
*progress_url?:string|array{// The URL of the progress page.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*success_url?:string|array{// The URL of the success page.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*success_message?:scalar|Param|null,// The message to display on success. This message is translated. // Default: null
*failure_message?:scalar|Param|null,// The message to display on success. This message is translated. // Default: null
*},
*image_cache_name?:scalar|Param|null,// Deprecated: The "image_cache_name" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.image_cache.cache_name" instead. // The name of the image cache. // Default: "images"
*font_cache_name?:scalar|Param|null,// Deprecated: The "font_cache_name" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.font_cache.cache_name" instead. // The name of the font cache. // Default: "fonts"
*page_cache_name?:scalar|Param|null,// Deprecated: The "page_cache_name" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.resource_caches[].cache_name" instead. // The name of the page cache. // Default: "pages"
*asset_cache_name?:scalar|Param|null,// Deprecated: The "asset_cache_name" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.asset_cache.cache_name" instead. // The name of the asset cache. // Default: "assets"
*page_fallback?:string|array{// The URL of the offline page fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*image_fallback?:string|array{// The URL of the offline image fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*font_fallback?:string|array{// The URL of the offline font fallback.
*path:scalar|Param|null,// The URL or route name.
*path_type_reference?:int|Param,// The path type reference to generate paths/URLs. See https://symfony.com/doc/current/routing.html#generating-urls-in-controllers for more information. // Default: 1
*params?:list<mixed>,
*},
*image_regex?:scalar|Param|null,// Deprecated: The "image_regex" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.image_cache.regex" instead. // The regex to match the images. // Default: "/\\.(ico|png|jpe?g|gif|svg|webp|bmp)$/"
*static_regex?:scalar|Param|null,// Deprecated: The "static_regex" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.asset_cache.regex" instead. // The regex to match the static files. // Default: "/\\.(css|js|json|xml|txt|map)$/"
*font_regex?:scalar|Param|null,// Deprecated: The "font_regex" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.font_cache.regex" instead. // The regex to match the static files. // Default: "/\\.(ttf|eot|otf|woff2)$/"
*max_image_cache_entries?:int|Param,// Deprecated: The "max_image_cache_entries" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.image_cache.max_entries" instead. // The maximum number of entries in the image cache. // Default: 60
*max_image_age?:int|Param,// Deprecated: The "max_image_age" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.image_cache.max_age" instead. // The maximum number of seconds before the image cache is invalidated. // Default: 31536000
*max_font_cache_entries?:int|Param,// Deprecated: The "max_font_cache_entries" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.font_cache.max_entries" instead. // The maximum number of entries in the font cache. // Default: 30
*max_font_age?:int|Param,// Deprecated: The "max_font_age" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.font_cache.max_age" instead. // The maximum number of seconds before the font cache is invalidated. // Default: 31536000
*network_timeout_seconds?:int|Param,// Deprecated: The "network_timeout_seconds" option is deprecated and will be removed in 2.0.0. Please use "pwa.serviceworker.workbox.resource_caches[].network_timeout" instead. // The network timeout in seconds before cache is called (for warm cache URLs only). // Default: 3
*referrer_policy?:scalar|Param|null,// Referrer policy for the speculative request. // Default: null
*}>,
*prerender?:list<array{// Default: []
*source?:"list"|"document"|Param,// The source type: "list" for explicit URLs, "document" for link matching. // Default: "document"
*urls?:list<string|array{// Default: []
*path:scalar|Param|null,// The URL path or route name.
*params?:list<mixed>,
*}>,
*selector_matches?:scalar|Param|null,// For "document" source: CSS selector to match links. // Default: null
*href_matches?:scalar|Param|null,// For "document" source: URL pattern to match href attributes. // Default: null
*eagerness?:"immediate"|"eager"|"moderate"|"conservative"|Param,// Eagerness level. For prerender, "conservative" is recommended. // Default: "conservative"
*referrer_policy?:scalar|Param|null,// Referrer policy for the speculative request. // Default: null
*}>,
*},
*web_client?:scalar|Param|null,// The Panther Client for generating screenshots. If not set, the default client will be used. // Default: null
*user_agent?:scalar|Param|null,// The user agent to use when generating screenshots. When this user agent is detected, the Symfony profiler and debug toolbar will be automatically disabled to ensure screenshots look like production. // Default: "PWAScreenshotBot"
*}
*@psalm-typeWebpushConfig=array{
*logger?:scalar|Param|null,// A PSR3 logger to receive logs // Default: null
*http_client?:scalar|Param|null,// PSR18 client to send notification to Web Push Services // Default: "Symfony\\Contracts\\HttpClient\\HttpClientInterface"
*vapid?:bool|array{
*enabled?:bool|Param,// Default: false
*subject:scalar|Param|null,// The URL of the service or an email address
*token_lifetime?:scalar|Param|null,// A PSR6 cache pool to enable caching feature // Default: "now +1hour"
*web_token?:bool|array{
*enabled?:bool|Param,// Default: false
*private_key:scalar|Param|null,// The VAPID private key
*public_key:scalar|Param|null,// The VAPID public key
*},
*lcobucci?:bool|array{
*enabled?:bool|Param,// Default: false
*private_key:scalar|Param|null,// The VAPID private key
*public_key:scalar|Param|null,// The VAPID public key
*},
*custom?:bool|array{
*enabled?:bool|Param,// Default: false
*id:scalar|Param|null,// The custom JWS Provider service ID
*},
*},
*payload?:array{
*aes128gcm?:array{
*padding?:scalar|Param|null,// Length of the padding: none, recommended, max or and integer // Default: "recommended"
*cache?:scalar|Param|null,// A PSR6 cache pool to enable caching feature // Default: null
*cache_lifetime?:scalar|Param|null,// A PSR6 cache pool to enable caching feature // Default: "now + 30min"
*},
*aesgcm?:array{
*padding?:scalar|Param|null,// Length of the padding: none, recommended, max or and integer // Default: "recommended"
*cache?:scalar|Param|null,// A PSR6 cache pool to enable caching feature // Default: null
*cache_lifetime?:scalar|Param|null,// A PSR6 cache pool to enable caching feature // Default: "now + 30min"