From ce4190d312433685a0fd28cba851245009a3d4b3 Mon Sep 17 00:00:00 2001
From: Andreas Kienast <a.fernandez@scripting-base.de>
Date: Tue, 27 Aug 2024 13:01:01 +0200
Subject: [PATCH] [TASK] Update `mime-db` package
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The package `mime-db` received some updates since its introduction,
hence it is now updated to its latest version.

Executed commands:

    cd Build
    npm install --save-dev mime-db@^1.53.0
    ./Scripts/generateMimeTypes.php

Resolves: #104743
Releases: main, 12.4, 11.5
Change-Id: I756eed3e8d1a6b02f7b2f855dc63623a0c97245e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/85788
Reviewed-by: Andreas Kienast <a.fernandez@scripting-base.de>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Andreas Kienast <a.fernandez@scripting-base.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
---
 Build/Scripts/generateMimeTypes.php           |  2 +-
 Build/package-lock.json                       | 17 +++--
 Build/package.json                            |  2 +-
 .../Classes/Resource/MimeTypeCollection.php   | 70 +++++++++++++++----
 4 files changed, 72 insertions(+), 19 deletions(-)

diff --git a/Build/Scripts/generateMimeTypes.php b/Build/Scripts/generateMimeTypes.php
index aae6a5fab1e2..60b64e698335 100755
--- a/Build/Scripts/generateMimeTypes.php
+++ b/Build/Scripts/generateMimeTypes.php
@@ -61,7 +61,7 @@ final class MimeTypeCollection
 {
     private $map = [
 ' . rtrim($mimeTypeString, ',') .
-'   ];
+'    ];
 
     /**
      * @return array<string, List<string>>
diff --git a/Build/package-lock.json b/Build/package-lock.json
index ba54b89f9572..429a1cdb042f 100644
--- a/Build/package-lock.json
+++ b/Build/package-lock.json
@@ -136,7 +136,7 @@
         "grunt-stylelint": "^0.18.0",
         "grunt-terser": "^2.0.0",
         "lintspaces-cli": "^0.8.0",
-        "mime-db": "^1.46.0",
+        "mime-db": "^1.53.0",
         "pofile": "^1.1.4",
         "postcss-banner": "^4.0.1",
         "postcss-clean": "^1.2.2",
@@ -10564,9 +10564,9 @@
       }
     },
     "node_modules/mime-db": {
-      "version": "1.52.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "version": "1.53.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz",
+      "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==",
       "dev": true,
       "engines": {
         "node": ">= 0.6"
@@ -10584,6 +10584,15 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/mime-types/node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
     "node_modules/mimic-fn": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
diff --git a/Build/package.json b/Build/package.json
index f1c90a48cd8e..bb1b12a2fad0 100644
--- a/Build/package.json
+++ b/Build/package.json
@@ -56,7 +56,7 @@
     "grunt-stylelint": "^0.18.0",
     "grunt-terser": "^2.0.0",
     "lintspaces-cli": "^0.8.0",
-    "mime-db": "^1.46.0",
+    "mime-db": "^1.53.0",
     "pofile": "^1.1.4",
     "postcss-banner": "^4.0.1",
     "postcss-clean": "^1.2.2",
diff --git a/typo3/sysext/core/Classes/Resource/MimeTypeCollection.php b/typo3/sysext/core/Classes/Resource/MimeTypeCollection.php
index 838280c67dbc..627ad8071640 100644
--- a/typo3/sysext/core/Classes/Resource/MimeTypeCollection.php
+++ b/typo3/sysext/core/Classes/Resource/MimeTypeCollection.php
@@ -25,7 +25,10 @@ final class MimeTypeCollection
 {
     private $map = [
         'application/andrew-inset' => ['ez'],
+        'application/appinstaller' => ['appinstaller'],
         'application/applixware' => ['aw'],
+        'application/appx' => ['appx'],
+        'application/appxbundle' => ['appxbundle'],
         'application/atom+xml' => ['atom'],
         'application/atomcat+xml' => ['atomcat'],
         'application/atomdeleted+xml' => ['atomdeleted'],
@@ -33,6 +36,8 @@ final class MimeTypeCollection
         'application/atsc-dwd+xml' => ['dwd'],
         'application/atsc-held+xml' => ['held'],
         'application/atsc-rsat+xml' => ['rsat'],
+        'application/automationml-aml+xml' => ['aml'],
+        'application/automationml-amlx+zip' => ['amlx'],
         'application/bdoc' => ['bdoc'],
         'application/calendar+xml' => ['xcs'],
         'application/ccxml+xml' => ['ccxml'],
@@ -42,17 +47,22 @@ final class MimeTypeCollection
         'application/cdmi-domain' => ['cdmid'],
         'application/cdmi-object' => ['cdmio'],
         'application/cdmi-queue' => ['cdmiq'],
+        'application/cpl+xml' => ['cpl'],
         'application/cu-seeme' => ['cu'],
+        'application/cwl' => ['cwl'],
         'application/dash+xml' => ['mpd'],
+        'application/dash-patch+xml' => ['mpp'],
         'application/davmount+xml' => ['davmount'],
         'application/docbook+xml' => ['dbk'],
         'application/dssc+der' => ['dssc'],
         'application/dssc+xml' => ['xdssc'],
-        'application/ecmascript' => ['ecma', 'es'],
+        'application/ecmascript' => ['ecma'],
         'application/emma+xml' => ['emma'],
         'application/emotionml+xml' => ['emotionml'],
         'application/epub+zip' => ['epub'],
         'application/exi' => ['exi'],
+        'application/express' => ['exp'],
+        'application/fdf' => ['fdf'],
         'application/fdt+xml' => ['fdt'],
         'application/font-tdpfr' => ['pfr'],
         'application/geo+json' => ['geojson'],
@@ -68,7 +78,7 @@ final class MimeTypeCollection
         'application/java-archive' => ['jar', 'war', 'ear'],
         'application/java-serialized-object' => ['ser'],
         'application/java-vm' => ['class'],
-        'application/javascript' => ['js', 'mjs'],
+        'application/javascript' => ['js'],
         'application/json' => ['json', 'map'],
         'application/json5' => ['json5'],
         'application/jsonml+json' => ['jsonml'],
@@ -84,6 +94,7 @@ final class MimeTypeCollection
         'application/mathematica' => ['ma', 'nb', 'mb'],
         'application/mathml+xml' => ['mathml'],
         'application/mbox' => ['mbox'],
+        'application/media-policy-dataset+xml' => ['mpf'],
         'application/mediaservercontrol+xml' => ['mscml'],
         'application/metalink+xml' => ['metalink'],
         'application/metalink4+xml' => ['meta4'],
@@ -92,9 +103,9 @@ final class MimeTypeCollection
         'application/mmt-usd+xml' => ['musd'],
         'application/mods+xml' => ['mods'],
         'application/mp21' => ['m21', 'mp21'],
-        'application/mp4' => ['mp4s', 'm4p'],
-        'application/mrb-consumer+xml' => ['xdf'],
-        'application/mrb-publish+xml' => ['xdf'],
+        'application/mp4' => ['mp4', 'mpg4', 'mp4s', 'm4p'],
+        'application/msix' => ['msix'],
+        'application/msixbundle' => ['msixbundle'],
         'application/msword' => ['doc', 'dot'],
         'application/mxf' => ['mxf'],
         'application/n-quads' => ['nq'],
@@ -111,7 +122,8 @@ final class MimeTypeCollection
         'application/patch-ops-error+xml' => ['xer'],
         'application/pdf' => ['pdf'],
         'application/pgp-encrypted' => ['pgp'],
-        'application/pgp-signature' => ['asc', 'sig'],
+        'application/pgp-keys' => ['asc'],
+        'application/pgp-signature' => ['sig', 'asc'],
         'application/pics-rules' => ['prf'],
         'application/pkcs10' => ['p10'],
         'application/pkcs7-mime' => ['p7m', 'p7c'],
@@ -126,6 +138,7 @@ final class MimeTypeCollection
         'application/postscript' => ['ai', 'eps', 'ps'],
         'application/provenance+xml' => ['provx'],
         'application/prs.cww' => ['cww'],
+        'application/prs.xsf+xml' => ['xsf'],
         'application/pskc+xml' => ['pskcxml'],
         'application/raml+yaml' => ['raml'],
         'application/rdf+xml' => ['rdf', 'owl'],
@@ -158,6 +171,7 @@ final class MimeTypeCollection
         'application/smil+xml' => ['smi', 'smil'],
         'application/sparql-query' => ['rq'],
         'application/sparql-results+xml' => ['srx'],
+        'application/sql' => ['sql'],
         'application/srgs' => ['gram'],
         'application/srgs+xml' => ['grxml'],
         'application/sru+xml' => ['sru'],
@@ -168,6 +182,7 @@ final class MimeTypeCollection
         'application/thraud+xml' => ['tfi'],
         'application/timestamped-data' => ['tsd'],
         'application/toml' => ['toml'],
+        'application/trig' => ['trig'],
         'application/ttml+xml' => ['ttml'],
         'application/ubjson' => ['ubj'],
         'application/urc-ressheet+xml' => ['rsheet'],
@@ -187,6 +202,7 @@ final class MimeTypeCollection
         'application/vnd.adobe.fxp' => ['fxp', 'fxpl'],
         'application/vnd.adobe.xdp+xml' => ['xdp'],
         'application/vnd.adobe.xfdf' => ['xfdf'],
+        'application/vnd.age' => ['age'],
         'application/vnd.ahead.space' => ['ahead'],
         'application/vnd.airzip.filesecure.azf' => ['azf'],
         'application/vnd.airzip.filesecure.azs' => ['azs'],
@@ -278,6 +294,7 @@ final class MimeTypeCollection
         'application/vnd.fuzzysheet' => ['fzs'],
         'application/vnd.genomatix.tuxedo' => ['txd'],
         'application/vnd.geogebra.file' => ['ggb'],
+        'application/vnd.geogebra.slides' => ['ggs'],
         'application/vnd.geogebra.tool' => ['ggt'],
         'application/vnd.geometry-explorer' => ['gex', 'gre'],
         'application/vnd.geonext' => ['gxt'],
@@ -289,6 +306,7 @@ final class MimeTypeCollection
         'application/vnd.google-apps.spreadsheet' => ['gsheet'],
         'application/vnd.google-earth.kml+xml' => ['kml'],
         'application/vnd.google-earth.kmz' => ['kmz'],
+        'application/vnd.gov.sk.xmldatacontainer+xml' => ['xdcf'],
         'application/vnd.grafeq' => ['gqf', 'gqs'],
         'application/vnd.groove-account' => ['gac'],
         'application/vnd.groove-help' => ['ghf'],
@@ -354,6 +372,7 @@ final class MimeTypeCollection
         'application/vnd.lotus-screencam' => ['scm'],
         'application/vnd.lotus-wordpro' => ['lwp'],
         'application/vnd.macports.portpkg' => ['portpkg'],
+        'application/vnd.mapbox-vector-tile' => ['mvt'],
         'application/vnd.mcd' => ['mcd'],
         'application/vnd.medcalcdata' => ['mc1'],
         'application/vnd.mediastation.cdkey' => ['cdkey'],
@@ -403,6 +422,7 @@ final class MimeTypeCollection
         'application/vnd.musician' => ['mus'],
         'application/vnd.muvee.style' => ['msty'],
         'application/vnd.mynfc' => ['taglet'],
+        'application/vnd.nato.bindingdataobject+xml' => ['bdo'],
         'application/vnd.neurolanguage.nlu' => ['nlu'],
         'application/vnd.nitf' => ['ntf', 'nitf'],
         'application/vnd.noblenet-directory' => ['nnd'],
@@ -461,6 +481,7 @@ final class MimeTypeCollection
         'application/vnd.proteus.magazine' => ['mgz'],
         'application/vnd.publishare-delta-tree' => ['qps'],
         'application/vnd.pvi.ptid1' => ['ptid'],
+        'application/vnd.pwg-xhtml-print+xml' => ['xhtm'],
         'application/vnd.quark.quarkxpress' => ['qxd', 'qxt', 'qwd', 'qwt', 'qxl', 'qxb'],
         'application/vnd.rar' => ['rar'],
         'application/vnd.realvnc.bed' => ['bed'],
@@ -523,7 +544,7 @@ final class MimeTypeCollection
         'application/vnd.uiq.theme' => ['utz'],
         'application/vnd.umajin' => ['umj'],
         'application/vnd.unity' => ['unityweb'],
-        'application/vnd.uoml+xml' => ['uoml'],
+        'application/vnd.uoml+xml' => ['uoml', 'uo'],
         'application/vnd.vcx' => ['vcx'],
         'application/vnd.visio' => ['vsd', 'vst', 'vss', 'vsw'],
         'application/vnd.visionary' => ['vis'],
@@ -550,6 +571,7 @@ final class MimeTypeCollection
         'application/vnd.zzazz.deck+xml' => ['zaz'],
         'application/voicexml+xml' => ['vxml'],
         'application/wasm' => ['wasm'],
+        'application/watcherinfo+xml' => ['wif'],
         'application/widget' => ['wgt'],
         'application/winhlp' => ['hlp'],
         'application/wsdl+xml' => ['wsdl'],
@@ -605,6 +627,9 @@ final class MimeTypeCollection
         'application/x-httpd-php' => ['php'],
         'application/x-install-instructions' => ['install'],
         'application/x-iso9660-image' => ['iso'],
+        'application/x-iwork-keynote-sffkey' => ['key'],
+        'application/x-iwork-numbers-sffnumbers' => ['numbers'],
+        'application/x-iwork-pages-sffpages' => ['pages'],
         'application/x-java-archive-diff' => ['jardiff'],
         'application/x-java-jnlp-file' => ['jnlp'],
         'application/x-keepass2' => ['kdbx'],
@@ -684,9 +709,9 @@ final class MimeTypeCollection
         'application/xcap-caps+xml' => ['xca'],
         'application/xcap-diff+xml' => ['xdf'],
         'application/xcap-el+xml' => ['xel'],
-        'application/xcap-error+xml' => ['xer'],
         'application/xcap-ns+xml' => ['xns'],
         'application/xenc+xml' => ['xenc'],
+        'application/xfdf' => ['xfdf'],
         'application/xhtml+xml' => ['xhtml', 'xht'],
         'application/xliff+xml' => ['xlf'],
         'application/xml' => ['xml', 'xsl', 'xsd', 'rng'],
@@ -700,6 +725,7 @@ final class MimeTypeCollection
         'application/yin+xml' => ['yin'],
         'application/zip' => ['zip'],
         'audio/3gpp' => ['3gpp'],
+        'audio/aac' => ['adts', 'aac'],
         'audio/adpcm' => ['adp'],
         'audio/amr' => ['amr'],
         'audio/basic' => ['au', 'snd'],
@@ -752,10 +778,13 @@ final class MimeTypeCollection
         'font/woff2' => ['woff2'],
         'image/aces' => ['exr'],
         'image/apng' => ['apng'],
+        'image/avci' => ['avci'],
+        'image/avcs' => ['avcs'],
         'image/avif' => ['avif'],
-        'image/bmp' => ['bmp'],
+        'image/bmp' => ['bmp', 'dib'],
         'image/cgm' => ['cgm'],
         'image/dicom-rle' => ['drle'],
+        'image/dpx' => ['dpx'],
         'image/emf' => ['emf'],
         'image/fits' => ['fits'],
         'image/g3fax' => ['g3'],
@@ -772,8 +801,9 @@ final class MimeTypeCollection
         'image/jpeg' => ['jpeg', 'jpg', 'jpe'],
         'image/jph' => ['jph'],
         'image/jphc' => ['jhc'],
-        'image/jpm' => ['jpm'],
+        'image/jpm' => ['jpm', 'jpgm'],
         'image/jpx' => ['jpx', 'jpf'],
+        'image/jxl' => ['jxl'],
         'image/jxr' => ['jxr'],
         'image/jxra' => ['jxra'],
         'image/jxrs' => ['jxrs'],
@@ -784,7 +814,7 @@ final class MimeTypeCollection
         'image/ktx' => ['ktx'],
         'image/ktx2' => ['ktx2'],
         'image/png' => ['png'],
-        'image/prs.btif' => ['btif'],
+        'image/prs.btif' => ['btif', 'btf'],
         'image/prs.pti' => ['pti'],
         'image/sgi' => ['sgi'],
         'image/svg+xml' => ['svg', 'svgz'],
@@ -846,10 +876,18 @@ final class MimeTypeCollection
         'model/gltf+json' => ['gltf'],
         'model/gltf-binary' => ['glb'],
         'model/iges' => ['igs', 'iges'],
+        'model/jt' => ['jt'],
         'model/mesh' => ['msh', 'mesh', 'silo'],
         'model/mtl' => ['mtl'],
         'model/obj' => ['obj'],
+        'model/prc' => ['prc'],
+        'model/step+xml' => ['stpx'],
+        'model/step+zip' => ['stpz'],
+        'model/step-xml+zip' => ['stpxz'],
         'model/stl' => ['stl'],
+        'model/u3d' => ['u3d'],
+        'model/vnd.bary' => ['bary'],
+        'model/vnd.cld' => ['cld'],
         'model/vnd.collada+xml' => ['dae'],
         'model/vnd.dwf' => ['dwf'],
         'model/vnd.gdl' => ['gdl'],
@@ -858,6 +896,9 @@ final class MimeTypeCollection
         'model/vnd.opengex' => ['ogex'],
         'model/vnd.parasolid.transmit.binary' => ['x_b'],
         'model/vnd.parasolid.transmit.text' => ['x_t'],
+        'model/vnd.pytha.pyox' => ['pyo', 'pyox'],
+        'model/vnd.sap.vds' => ['vds'],
+        'model/vnd.usda' => ['usda'],
         'model/vnd.usdz+zip' => ['usdz'],
         'model/vnd.valve.source.compiled-map' => ['bsp'],
         'model/vnd.vtu' => ['vtu'],
@@ -874,9 +915,10 @@ final class MimeTypeCollection
         'text/csv' => ['csv'],
         'text/html' => ['html', 'htm', 'shtml'],
         'text/jade' => ['jade'],
+        'text/javascript' => ['js', 'mjs'],
         'text/jsx' => ['jsx'],
         'text/less' => ['less'],
-        'text/markdown' => ['markdown', 'md'],
+        'text/markdown' => ['md', 'markdown'],
         'text/mathml' => ['mml'],
         'text/mdx' => ['mdx'],
         'text/n3' => ['n3'],
@@ -899,6 +941,7 @@ final class MimeTypeCollection
         'text/vnd.curl.mcurl' => ['mcurl'],
         'text/vnd.curl.scurl' => ['scurl'],
         'text/vnd.dvb.subtitle' => ['sub'],
+        'text/vnd.familysearch.gedcom' => ['ged'],
         'text/vnd.fly' => ['fly'],
         'text/vnd.fmi.flexstor' => ['flx'],
         'text/vnd.graphviz' => ['gv'],
@@ -908,6 +951,7 @@ final class MimeTypeCollection
         'text/vnd.wap.wml' => ['wml'],
         'text/vnd.wap.wmlscript' => ['wmls'],
         'text/vtt' => ['vtt'],
+        'text/wgsl' => ['wgsl'],
         'text/x-asm' => ['s', 'asm'],
         'text/x-c' => ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],
         'text/x-component' => ['htc'],
@@ -940,7 +984,7 @@ final class MimeTypeCollection
         'video/jpeg' => ['jpgv'],
         'video/jpm' => ['jpm', 'jpgm'],
         'video/mj2' => ['mj2', 'mjp2'],
-        'video/mp2t' => ['ts'],
+        'video/mp2t' => ['ts', 'm2t', 'm2ts', 'mts'],
         'video/mp4' => ['mp4', 'mp4v', 'mpg4'],
         'video/mpeg' => ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],
         'video/ogg' => ['ogv'],
-- 
GitLab