---
title: "Deprecation: #98431 - Replace requireJsModules in FormEngine resultArray"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-98431-1664652773"
source: "Changelog/12.0/Deprecation-98431-ReplaceRequireJsModulesInFormEngineResultArray.rst"
typo3-version: "12.0"
typo3-major: 12
type: "deprecation"
issue: 98431
forge: "https://forge.typo3.org/issues/98431"
tags: ["Backend", "JavaScript", "NotScanned", "ext:backend"]
rendered: "2026-10-01T19:27:47+00:00"
---

# Deprecation: #98431 - Replace requireJsModules in FormEngine resultArray {#deprecation-98431-1664652773}

See [forge#98431](https://forge.typo3.org/issues/98431)

## Description {#description}

Loading JavaScript modules via `$resultArray['requireJsModules']` has been
deprecated in favor of a new generic key named `'javaScriptModules'`.

The ability for custom `FormEngine` components to load JavaScript modules
via instances of `\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` is now
streamlined to use a new, generic `$resultArray` key named
`'javaScriptModules'`. The behaviour is otherwise identical to the
functionality that has been available via `'requireJsModules'`,
but the new name reflects that not just RequireJS modules may be loaded,
but also newer, native ECMAScript v6 JavaScript modules.

Using `'javaScriptModules'` is now the suggested to be used over
`'requireJsModules'`, as this latter is deprecated from now on
and will be removed in TYPO3 v13.

The ability for custom `FormEngine` components to load JavaScript modules
via instances of `\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` is now
streamlined to use a new, generic `$resultArray` key named
`'javaScriptModules'`. The behaviour is otherwise identical to the
functionality that has been available via `'requireJsModules'`,
but the new name reflects that not just RequireJS modules may be loaded,
but also newer, native ECMAScript v6 JavaScript modules.

The `'requireJsModules'` key is deprecated.

## Impact {#impact}

Registering modules via :`'requireJsModules'` will still work.
These modules will be loaded after modules registered via `'javaScriptModules'`.
Extensions that use `'requireJsModules` will work as before but trigger a
PHP `E_USER_DEPRECATED` error.

## Affected installations {#affected-installations}

Installations that register custom FormEngine components with JavaScript modules.

## Migration {#migration}

Use the key `'javaScriptModules'` and assign an instance of
`\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction`:

```php
// use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
$resultArray['javaScriptModules'][] = JavaScriptModuleInstruction::create(
    '@my/extension/my-element.js'
);
```
