Feature: #99203 - Streamline FE/versionNumberInFilename to 'EXT:' resources

See forge#99203

Description

Local resources are currently not "cache-busted", for example, have no version in URL. TypoScript has no possibility to add the cache buster. When replacing them a new filename must be used (which feels little hacky).

getText "asset" to cache-bust assets in TypoScript

EXT:my_extension/Configuration/TypoScript/setup.typoscript
page.20 = TEXT
page.20 {
    value = { asset : EXT:core/Resources/Public/Icons/Extension.svg }
    insertData = 1
}
Copied!
Result
typo3/sysext/core/Resources/Public/Icons/Extension.svg?1709051481
Copied!

Cache-busted assets with the <f:uri.resource> ViewHelper

EXT:my_extension/Resources/Private/Template/MyTemplate.html
<f:uri.resource
    path="EXT:core/Resources/Public/Icons/Extension.svg"
    useCacheBusting="true"
/>
Copied!
Comparison
Before: typo3/sysext/core/Resources/Public/Icons/Extension.svg
Now: typo3/sysext/core/Resources/Public/Icons/Extension.svg?1709051481
Copied!

The ViewHelper argument useCacheBusting is enabled by default.

Depending on $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename'] the cache buster is applied as query string or embedded in the filename.

Impact

Local resources now can have a cache buster to easily replace them without changing the filename.