AddUserSettingsJavaScriptModulesEvent 

Changed in version 14.3

This event was moved from \TYPO3\CMS\Setup\Event\AddJavaScriptModulesEvent as the system extension setup was integrated into typo3/cms-backend .

JavaScript events in custom user settings configuration options should not be placed as inline JavaScript. Instead, use a dedicated JavaScript module to handle custom events.

Example 

EXT:my_extension/Classes/UserSettings/EventListener/MyEventListener.php
<?php

declare(strict_types=1);

namespace MyVendor\MyExtension\UserSettings\EventListener;

use TYPO3\CMS\Backend\Event\AddUserSettingsJavaScriptModulesEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;

#[AsEventListener(
    identifier: 'my-extension/my-event-listener',
)]
final readonly class MyEventListener
{
    public function __invoke(AddUserSettingsJavaScriptModulesEvent $event): void
    {
        $event->addJavaScriptModule('@my-extension/setupModule/some-file.js');
    }
}
Copied!

API 

class AddUserSettingsJavaScriptModulesEvent
Fully qualified name
\TYPO3\CMS\Backend\Event\AddUserSettingsJavaScriptModulesEvent

Collects additional JavaScript modules to be loaded in SetupModuleController (User Settings).

Replacement for prior TYPO3CMSSetupEventAddJavaScriptModulesEvent.

getRequest ( )
Returns
PsrHttpMessageServerRequestInterface
addJavaScriptModule ( string $specifier)
param $specifier

Bare module identifier like @my/package/filename.js

getJavaScriptModules ( )
Returns
string[]

Migration from AddJavaScriptModulesEvent to AddUserSettingsJavaScriptModulesEvent 

When dropping TYPO3 v13 support, switch to using the new location of the event:

+ use TYPO3\CMS\Backend\Event\AddUserSettingsJavaScriptModulesEvent;
  use TYPO3\CMS\Core\Attribute\AsEventListener;
- use TYPO3\CMS\Setup\Event\AddJavaScriptModulesEvent;

  final class SetupModuleListener
  {
      #[AsEventListener('my-extension/setup-module-listener')]
    - public function __invoke(AddJavaScriptModulesEvent $event): void
    + public function __invoke(AddUserSettingsJavaScriptModulesEvent $event): void
      {
          $event->addJavaScriptModule('@my-extension/setupModule/some-file.js');
      }
  }
Copied!

If you need to support TYPO3 v13 and v14 only listen to the legacy event \TYPO3\CMS\Setup\Event\AddJavaScriptModulesEvent .

For better dual version compatibility, no deprecation is emitted when using the legacy event location.