services: cache_factory: class: Drupal\Core\Cache\CacheFactory arguments: ['@settings'] calls: - [setContainer, ['@service_container']] cache.backend.database: class: Drupal\Core\Cache\DatabaseBackendFactory arguments: ['@database'] cache.backend.memory: class: Drupal\Core\Cache\MemoryBackendFactory cache.bootstrap: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [bootstrap] cache.config: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - { name: persist } factory_method: get factory_service: cache_factory arguments: [config] cache.cache: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [cache] cache.entity: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [entity] cache.field: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [field] cache.menu: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [menu] cache.page: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [page] cache.path: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } factory_method: get factory_service: cache_factory arguments: [path] config.cachedstorage.storage: class: Drupal\Core\Config\FileStorage factory_class: Drupal\Core\Config\FileStorageFactory factory_method: getActive config.storage: class: Drupal\Core\Config\CachedStorage arguments: ['@config.cachedstorage.storage', '@cache.config'] tags: - { name: persist } config.factory: class: Drupal\Core\Config\ConfigFactory tags: - { name: persist } - { name: event_subscriber } arguments: ['@config.storage', '@event_dispatcher', '@config.typed'] config.installer: class: Drupal\Core\Config\ConfigInstaller arguments: ['@config.factory', '@config.storage', '@config.typed', '@entity.manager', '@event_dispatcher'] config.storage.staging: class: Drupal\Core\Config\FileStorage factory_class: Drupal\Core\Config\FileStorageFactory factory_method: getStaging config.storage.snapshot: class: Drupal\Core\Config\DatabaseStorage arguments: ['@database', config_snapshot] config.storage.schema: class: Drupal\Core\Config\Schema\SchemaStorage config.storage.installer: class: Drupal\Core\Config\InstallStorage config.typed: class: Drupal\Core\Config\TypedConfigManager arguments: ['@config.storage', '@config.storage.schema', '@cache.config'] database: class: Drupal\Core\Database\Connection factory_class: Drupal\Core\Database\Database factory_method: getConnection arguments: [default] form_builder: class: Drupal\Core\Form\FormBuilder arguments: ['@module_handler', '@keyvalue.expirable', '@event_dispatcher', '@url_generator', '@string_translation', '@?csrf_token', '@?http_kernel'] calls: - [setRequest, ['@?request']] keyvalue: class: Drupal\Core\KeyValueStore\KeyValueFactory arguments: ['@service_container', '@settings'] keyvalue.database: class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory arguments: ['@database'] keyvalue.expirable: class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory arguments: ['@service_container', '@settings'] keyvalue.expirable.database: class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory tags: - { name: needs_destruction } arguments: ['@database'] settings: class: Drupal\Component\Utility\Settings factory_class: Drupal\Component\Utility\Settings factory_method: getSingleton state: class: Drupal\Core\KeyValueStore\State arguments: ['@keyvalue'] tags: - { name: persist } queue: class: Drupal\Core\Queue\QueueFactory arguments: ['@settings'] calls: - [setContainer, ['@service_container']] queue.database: class: Drupal\Core\Queue\QueueDatabaseFactory arguments: ['@database'] path.alias_whitelist: class: Drupal\Core\Path\AliasWhitelist tags: - { name: needs_destruction } arguments: [path_alias_whitelist, '@cache.cache', '@lock', '@state', '@database'] path.alias_manager: class: Drupal\Core\Path\AliasManager arguments: ['@database', '@path.alias_whitelist', '@language_manager'] http_client_simpletest_subscriber: class: Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber http_default_client: class: Guzzle\Http\Client arguments: [null, { curl.CURLOPT_TIMEOUT: 30, curl.CURLOPT_MAXREDIRS: 3 }] calls: - [addSubscriber, ['@http_client_simpletest_subscriber']] - [setUserAgent, ['Drupal (+http://drupal.org/)']] theme.negotiator: class: Drupal\Core\Theme\ThemeNegotiator arguments: ['@access_check.theme'] calls: - [setRequest, ['@request']] theme.negotiator.default: class: Drupal\Core\Theme\DefaultNegotiator arguments: ['@config.factory'] tags: - { name: theme_negotiator, priority: -100 } theme.negotiator.ajax_base_page: class: Drupal\Core\Theme\AjaxBasePageNegotiator arguments: ['@csrf_token', '@config.factory'] tags: - { name: theme_negotiator, priority: 1000 } container.namespaces: class: ArrayObject arguments: [ '%container.namespaces%' ] tags: - { name: persist } default_plugin_manager: abstract: true arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler'] theme_handler: class: Drupal\Core\Extension\ThemeHandler arguments: ['@config.factory', '@module_handler', '@cache.cache', '@info_parser', '@config.installer', '@router.builder'] entity.manager: class: Drupal\Core\Entity\EntityManager arguments: ['@container.namespaces', '@service_container', '@module_handler', '@cache.cache', '@language_manager', '@string_translation'] plugin.manager.field.field_type: class: Drupal\Core\Field\FieldTypePluginManager arguments: ['@container.namespaces', '@cache.field', '@language_manager', '@module_handler'] plugin.manager.field.widget: class: Drupal\Core\Field\WidgetPluginManager arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type'] plugin.manager.field.formatter: class: Drupal\Core\Field\FormatterPluginManager arguments: ['@container.namespaces', '@cache.field', '@module_handler', '@language_manager', '@plugin.manager.field.field_type'] plugin.manager.archiver: class: Drupal\Core\Archiver\ArchiverManager parent: default_plugin_manager plugin.manager.action: class: Drupal\Core\Action\ActionManager arguments: ['@container.namespaces'] plugin.manager.menu.local_action: class: Drupal\Core\Menu\LocalActionManager arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user'] plugin.manager.menu.local_task: class: Drupal\Core\Menu\LocalTaskManager arguments: ['@controller_resolver', '@request', '@router.route_provider', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user'] plugin.manager.menu.contextual_link: class: Drupal\Core\Menu\ContextualLinkManager arguments: ['@controller_resolver', '@module_handler', '@cache.cache', '@language_manager', '@access_manager', '@current_user'] request: class: Symfony\Component\HttpFoundation\Request synthetic: true event_dispatcher: class: Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher arguments: ['@service_container'] controller_resolver: class: Drupal\Core\Controller\ControllerResolver arguments: ['@service_container'] title_resolver: class: Drupal\Core\Controller\TitleResolver arguments: ['@controller_resolver', '@string_translation'] http_kernel: class: Drupal\Core\HttpKernel arguments: ['@event_dispatcher', '@service_container', '@controller_resolver'] language_manager: class: Drupal\Core\Language\LanguageManager string_translator.custom_strings: class: Drupal\Core\StringTranslation\Translator\CustomStrings arguments: ['@settings'] tags: - { name: string_translator, priority: 30 } string_translation: class: Drupal\Core\StringTranslation\TranslationManager arguments: ['@language_manager'] calls: - [initLanguageManager] database.slave: class: Drupal\Core\Database\Connection factory_class: Drupal\Core\Database\Database factory_method: getConnection arguments: [slave] typed_data_manager: class: Drupal\Core\TypedData\TypedDataManager parent: default_plugin_manager calls: - [setValidationConstraintManager, ['@validation.constraint']] validation.constraint: class: Drupal\Core\Validation\ConstraintManager parent: default_plugin_manager lock: class: Drupal\Core\Lock\DatabaseLockBackend arguments: ['@database'] user.tempstore: class: Drupal\user\TempStoreFactory arguments: ['@database', '@lock'] router.request_context: class: Symfony\Component\Routing\RequestContext calls: - [fromRequest, ['@request']] router.route_provider: class: Drupal\Core\Routing\RouteProvider arguments: ['@database'] router.matcher.final_matcher: class: Drupal\Core\Routing\UrlMatcher router.matcher: class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher arguments: ['@router.route_provider'] calls: - [setFinalMatcher, ['@router.matcher.final_matcher']] url_generator: class: Drupal\Core\Routing\UrlGenerator arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@config.factory', '@settings'] calls: - [setRequest, ['@?request']] - [setContext, ['@?router.request_context']] link_generator: class: Drupal\Core\Utility\LinkGenerator arguments: ['@url_generator', '@module_handler', '@language_manager', '@path.alias_manager.cached'] calls: - [setRequest, ['@?request']] router.dynamic: class: Symfony\Cmf\Component\Routing\DynamicRouter arguments: ['@router.request_context', '@router.matcher', '@url_generator'] router: class: Symfony\Cmf\Component\Routing\ChainRouter calls: - [setContext, ['@router.request_context']] - [add, ['@router.dynamic']] entity.query: class: Drupal\Core\Entity\Query\QueryFactory arguments: ['@entity.manager'] calls: - [setContainer, ['@service_container']] entity.query.config: class: Drupal\Core\Config\Entity\Query\QueryFactory arguments: ['@config.storage', '@config.factory'] entity.query.sql: class: Drupal\Core\Entity\Query\Sql\QueryFactory arguments: ['@database'] router.dumper: class: Drupal\Core\Routing\MatcherDumper arguments: ['@database'] router.builder: class: Drupal\Core\Routing\RouteBuilder arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver'] path.alias_manager.cached: class: Drupal\Core\CacheDecorator\AliasManagerCacheDecorator arguments: ['@path.alias_manager', '@cache.path'] path.crud: class: Drupal\Core\Path\Path arguments: ['@database', '@path.alias_manager'] # The argument to the hashing service defined in services.yml, to the # constructor of PhpassHashedPassword is the log2 number of iterations for # password stretching. # @todo increase by 1 every Drupal version in order to counteract increases in # the speed and power of computers available to crack the hashes. The current # password hashing method was introduced in Drupal 7 with a log2 count of 15. password: class: Drupal\Core\Password\PhpassHashedPassword arguments: [16] mime_type_matcher: class: Drupal\Core\Routing\MimeTypeMatcher tags: - { name: route_filter } paramconverter_manager: class: Drupal\Core\ParamConverter\ParamConverterManager calls: - [setContainer, ['@service_container']] tags: - { name: route_enhancer } paramconverter_subscriber: class: Drupal\Core\EventSubscriber\ParamConverterSubscriber tags: - { name: event_subscriber } arguments: ['@paramconverter_manager'] paramconverter.entity: class: Drupal\Core\ParamConverter\EntityConverter tags: - { name: paramconverter } arguments: ['@entity.manager'] route_subscriber.module: class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber tags: - { name: event_subscriber } arguments: ['@module_handler'] route_subscriber.entity: class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber tags: - { name: event_subscriber } arguments: ['@entity.manager'] reverse_proxy_subscriber: class: Drupal\Core\EventSubscriber\ReverseProxySubscriber tags: - { name: event_subscriber } arguments: ['@settings'] ajax_response_subscriber: class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber tags: - { name: event_subscriber } route_enhancer.authentication: class: Drupal\Core\Routing\Enhancer\AuthenticationEnhancer calls: - [setContainer, ['@service_container']] tags: - { name: route_enhancer, priority: 1000 } arguments: ['@authentication'] route_enhancer.content_controller: class: Drupal\Core\Routing\Enhancer\ContentControllerEnhancer arguments: ['@content_negotiation'] tags: - { name: route_enhancer, priority: 30 } route_enhancer.ajax: class: Drupal\Core\Routing\Enhancer\AjaxEnhancer arguments: ['@content_negotiation'] tags: - { name: route_enhancer, priority: 15 } - { name: legacy_route_enhancer, priority: 15 } route_enhancer.entity: class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer arguments: ['@controller_resolver', '@entity.manager', '@form_builder'] tags: - { name: route_enhancer, priority: 20 } route_enhancer.form: class: Drupal\Core\Routing\Enhancer\FormEnhancer arguments: ['@service_container', '@controller_resolver', '@form_builder'] tags: - { name: route_enhancer, priority: 10 } route_special_attributes_subscriber: class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber tags: - { name: event_subscriber } controller.page: class: Drupal\Core\Controller\HtmlPageController arguments: ['@controller_resolver', '@string_translation', '@title_resolver'] controller.ajax: class: Drupal\Core\Controller\AjaxController arguments: ['@controller_resolver'] controller.entityform: class: Drupal\Core\Entity\HtmlEntityFormController arguments: ['@controller_resolver', '@service_container', '@entity.manager'] controller.dialog: class: Drupal\Core\Controller\DialogController arguments: ['@controller_resolver', '@title_resolver'] router_listener: class: Symfony\Component\HttpKernel\EventListener\RouterListener tags: - { name: event_subscriber } arguments: ['@router'] content_negotiation: class: Drupal\Core\ContentNegotiation view_subscriber: class: Drupal\Core\EventSubscriber\ViewSubscriber tags: - { name: event_subscriber } arguments: ['@content_negotiation', '@title_resolver'] html_view_subscriber: class: Drupal\Core\EventSubscriber\HtmlViewSubscriber tags: - { name: event_subscriber } arguments: ['@html_page_renderer'] html_page_renderer: class: Drupal\Core\Page\DefaultHtmlPageRenderer arguments: ['@language_manager'] private_key: class: Drupal\Core\PrivateKey arguments: ['@state'] csrf_token: class: Drupal\Core\Access\CsrfTokenGenerator arguments: ['@private_key'] calls: - [setCurrentUser, ['@?current_user']] access_manager: class: Drupal\Core\Access\AccessManager arguments: ['@router.route_provider', '@url_generator', '@paramconverter_manager'] calls: - [setContainer, ['@service_container']] - [setRequest, ['@?request']] access_subscriber: class: Drupal\Core\EventSubscriber\AccessSubscriber arguments: ['@access_manager', '@current_user'] calls: - [setCurrentUser, ['@?current_user']] tags: - { name: event_subscriber } access_route_subscriber: class: Drupal\Core\EventSubscriber\AccessRouteSubscriber tags: - { name: event_subscriber } arguments: ['@access_manager'] access_check.default: class: Drupal\Core\Access\DefaultAccessCheck tags: - { name: access_check, applies_to: _access } access_check.entity: class: Drupal\Core\Entity\EntityAccessCheck tags: - { name: access_check, applies_to: _entity_access } access_check.entity_create: class: Drupal\Core\Entity\EntityCreateAccessCheck arguments: ['@entity.manager'] tags: - { name: access_check, applies_to: _entity_create_access } access_check.theme: class: Drupal\Core\Theme\ThemeAccessCheck tags: - { name: access_check, applies_to: _access_theme } access_check.custom: class: Drupal\Core\Access\CustomAccessCheck arguments: ['@controller_resolver'] tags: - { name: access_check, applies_to: _custom_access } access_check.csrf: class: Drupal\Core\Access\CsrfAccessCheck tags: - { name: access_check, applies_to: _csrf_token } arguments: ['@csrf_token'] maintenance_mode_subscriber: class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber tags: - { name: event_subscriber } path_subscriber: class: Drupal\Core\EventSubscriber\PathSubscriber tags: - { name: event_subscriber } arguments: ['@path.alias_manager.cached', '@path_processor_manager'] legacy_request_subscriber: class: Drupal\Core\EventSubscriber\LegacyRequestSubscriber tags: - { name: event_subscriber } finish_response_subscriber: class: Drupal\Core\EventSubscriber\FinishResponseSubscriber tags: - { name: event_subscriber } arguments: ['@language_manager'] scope: request redirect_response_subscriber: class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber arguments: ['@url_generator'] tags: - { name: event_subscriber } scope: request request_close_subscriber: class: Drupal\Core\EventSubscriber\RequestCloseSubscriber tags: - { name: event_subscriber } arguments: ['@module_handler'] config_global_override_subscriber: class: Drupal\Core\EventSubscriber\ConfigGlobalOverrideSubscriber tags: - { name: event_subscriber } config_import_subscriber: class: Drupal\Core\EventSubscriber\ConfigImportSubscriber tags: - { name: event_subscriber } config_snapshot_subscriber: class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber tags: - { name: event_subscriber } arguments: ['@config.storage', '@config.storage.snapshot'] exception_controller: class: Drupal\Core\Controller\ExceptionController arguments: ['@content_negotiation', '@string_translation', '@title_resolver', '@html_page_renderer'] calls: - [setContainer, ['@service_container']] exception_listener: class: Symfony\Component\HttpKernel\EventListener\ExceptionListener tags: - { name: event_subscriber } arguments: [['@exception_controller', execute]] route_processor_manager: class: Drupal\Core\RouteProcessor\RouteProcessorManager path_processor_manager: class: Drupal\Core\PathProcessor\PathProcessorManager path_processor_decode: class: Drupal\Core\PathProcessor\PathProcessorDecode tags: - { name: path_processor_inbound, priority: 1000 } path_processor_front: class: Drupal\Core\PathProcessor\PathProcessorFront tags: - { name: path_processor_inbound, priority: 200 } - { name: path_processor_outbound, priority: 200 } arguments: ['@config.factory'] path_processor_alias: class: Drupal\Core\PathProcessor\PathProcessorAlias tags: - { name: path_processor_inbound, priority: 100 } - { name: path_processor_outbound, priority: 300 } arguments: ['@path.alias_manager'] route_processor_csrf: class: Drupal\Core\Access\RouteProcessorCsrf tags: - { name: route_processor_outbound } arguments: ['@csrf_token'] transliteration: class: Drupal\Core\Transliteration\PHPTransliteration flood: class: Drupal\Core\Flood\DatabaseBackend arguments: ['@database', '@request'] mail.factory: class: Drupal\Core\Mail\MailFactory arguments: ['@config.factory'] plugin.manager.condition: class: Drupal\Core\Condition\ConditionManager parent: default_plugin_manager kernel_destruct_subscriber: class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber tags: - { name: event_subscriber } calls: - [setContainer, ['@service_container']] ajax.subscriber: class: Drupal\Core\Ajax\AjaxSubscriber tags: - { name: event_subscriber } image.toolkit.manager: class: Drupal\Core\ImageToolkit\ImageToolkitManager arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@config.factory'] image.toolkit: class: Drupal\Core\ImageToolkit\ImageToolkitInterface factory_method: getDefaultToolkit factory_service: image.toolkit.manager image.factory: class: Drupal\Core\Image\ImageFactory arguments: ['@image.toolkit'] breadcrumb: class: Drupal\Core\Breadcrumb\BreadcrumbManager arguments: ['@module_handler'] token: class: Drupal\Core\Utility\Token arguments: ['@module_handler'] batch.storage: class: Drupal\Core\Batch\BatchStorage arguments: ['@database'] slave_database_ignore__subscriber: class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber tags: - {name: event_subscriber} country_manager: class: Drupal\Core\Locale\CountryManager arguments: ['@module_handler'] date: class: Drupal\Core\Datetime\Date arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory'] feed.bridge.reader: class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer calls: - [setContainer, ['@service_container']] arguments: ['feed.reader.'] feed.bridge.writer: class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer calls: - [setContainer, ['@service_container']] arguments: ['feed.writer.'] # Zend Feed reader plugins feed.reader.dublincoreentry: class: Zend\Feed\Reader\Extension\DublinCore\Entry feed.reader.dublincorefeed: class: Zend\Feed\Reader\Extension\DublinCore\Feed feed.reader.contententry: class: Zend\Feed\Reader\Extension\Content\Entry feed.reader.atomentry: class: Zend\Feed\Reader\Extension\Atom\Entry feed.reader.atomfeed: class: Zend\Feed\Reader\Extension\Atom\Feed feed.reader.slashentry: class: Zend\Feed\Reader\Extension\Slash\Entry feed.reader.wellformedwebentry: class: Zend\Feed\Reader\Extension\WellFormedWeb\Entry feed.reader.threadentry: class: Zend\Feed\Reader\Extension\Thread\Entry feed.reader.podcastentry: class: Zend\Feed\Reader\Extension\Podcast\Entry feed.reader.podcastfeed: class: Zend\Feed\Reader\Extension\Podcast\Feed # Zend Feed writer plugins feed.writer.atomrendererfeed: class: Zend\Feed\Writer\Extension\Atom\Renderer\Feed feed.writer.contentrendererentry: class: Zend\Feed\Writer\Extension\Content\Renderer\Entry feed.writer.dublincorerendererentry: class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry feed.writer.dublincorerendererfeed: class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed feed.writer.itunesentry: class: Zend\Feed\Writer\Extension\ITunes\Entry feed.writer.itunesfeed: class: Zend\Feed\Writer\Extension\ITunes\Feed feed.writer.itunesrendererentry: class: Zend\Feed\Writer\Extension\ITunes\Renderer\Entry feed.writer.itunesrendererfeed: class: Zend\Feed\Writer\Extension\ITunes\Renderer\Feed feed.writer.slashrendererentry: class: Zend\Feed\Writer\Extension\Slash\Renderer\Entry feed.writer.threadingrendererentry: class: Zend\Feed\Writer\Extension\Threading\Renderer\Entry feed.writer.wellformedwebrendererentry: class: Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry theme.registry: class: Drupal\Core\Theme\Registry arguments: ['@cache.cache', '@lock', '@module_handler'] tags: - { name: needs_destruction } authentication: class: Drupal\Core\Authentication\AuthenticationManager authentication.cookie: class: Drupal\Core\Authentication\Provider\Cookie tags: - { name: authentication_provider, priority: 0 } authentication_subscriber: class: Drupal\Core\EventSubscriber\AuthenticationSubscriber tags: - { name: event_subscriber } arguments: ['@authentication'] current_user: class: Drupal\Core\Session\AccountInterface factory_method: authenticate factory_service: authentication arguments: ['@request'] synchronized: true asset.css.collection_renderer: class: Drupal\Core\Asset\CssCollectionRenderer arguments: [ '@state' ] asset.css.collection_optimizer: class: Drupal\Core\Asset\CssCollectionOptimizer arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@asset.css.dumper', '@state' ] asset.css.optimizer: class: Drupal\Core\Asset\CssOptimizer asset.css.collection_grouper: class: Drupal\Core\Asset\CssCollectionGrouper asset.css.dumper: class: Drupal\Core\Asset\AssetDumper asset.js.collection_renderer: class: Drupal\Core\Asset\JsCollectionRenderer arguments: [ '@state' ] asset.js.collection_optimizer: class: Drupal\Core\Asset\JsCollectionOptimizer arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@asset.js.dumper', '@state' ] asset.js.optimizer: class: Drupal\Core\Asset\JsOptimizer asset.js.collection_grouper: class: Drupal\Core\Asset\JsCollectionGrouper asset.js.dumper: class: Drupal\Core\Asset\AssetDumper info_parser: class: Drupal\Core\Extension\InfoParser