TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,90 @@
.. include:: /Includes.rst.txt
.. _breaking-101266-1688654482:
====================================
Breaking: #101266 - Remove RequireJS
====================================
See :issue:`101266`
Description
===========
The RequireJS project has been `discontinued`_ and was therefore
deprecated in TYPO3 v12 with :issue:`96510` in favor of native ECMAScript
v6/v11 modules (added in :issue:`96510`).
The infrastructure for configuration and loading of RequireJS
modules is now removed.
Impact
======
Registering FormEngine JavaScript modules via :php:`'requireJsModules'` will
have no effect. The PageRenderer endpoints
:php:`\TYPO3\CMS\Core\Page\PageRenderer->loadRequireJs()` and
:php:`\TYPO3\CMS\Core\Page\PageRenderer->loadRequireJsModule()`
have been removed and must no longer be called.
The respective :html:`includeRequireJsModules` property of the
:html:`<f:be.pageRenderer>` ViewHelper has also been removed.
Affected installations
======================
TYPO3 installations using RequireJS modules to provide JavaScript in the TYPO3
backend, or less common use PageRenderer RequireJS infrastructure for
frontend JavaScript module loading.
Migration
=========
Migrate your JavaScript from the AMD module format to native ES6 modules and
register your configuration in :php:`Configuration/JavaScriptModules.php`,
also see :issue:`96510` and :ref:`t3coreapi:backend-javascript-es6`
for more information:
.. code-block:: php
# Configuration/JavaScriptModules.php
<?php
return [
'dependencies' => ['core', 'backend'],
'imports' => [
'@vendor/my-extension/' => 'EXT:my_extension/Resources/Public/JavaScript/',
],
];
Then use :php:`\TYPO3\CMS\Core\Page\PageRenderer->loadJavaScriptModule()` instead
of :php:`\TYPO3\CMS\Core\Page\PageRenderer->loadRequireJsModule()` to load the ES6 module:
.. code-block:: php
// via PageRenderer
$this->pageRenderer->loadJavaScriptModule('@vendor/my-extension/example.js');
In Fluid templates `includeJavaScriptModules` is to be used instead of
`includeRequireJsModules`:
In Fluid template the `includeJavaScriptModules` property of the
:html:`<f:be.pageRenderer>` ViewHelper may be used:
.. code-block:: xml
<f:be.pageRenderer
includeJavaScriptModules="{
0: '@vendor/my-extension/example.js'
}"
/>
.. seealso::
:ref:`t3coreapi:backend-javascript-es6` for more info about JavaScript in TYPO3 Backend.
.. _discontinued: https://github.com/requirejs/requirejs/issues/1816
.. index:: Backend, JavaScript, PHP-API, PartiallyScanned, ext:core