From a25c2e139269d69b76642b0833c600388fc466f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julian=20B=C3=A4ume?= <julian.baeume@open-xchange.com>
Date: Tue, 21 Sep 2021 13:38:51 +0200
Subject: [PATCH] inject dependencies into manifest.json data

this got lost when implementation changed to base data on vite manifests but should
still be part of the manifest.json file
---
 spec/manifest_parsing_test.js | 5 +++++
 src/manifests.js              | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/spec/manifest_parsing_test.js b/spec/manifest_parsing_test.js
index 71ecd14..58b0035 100644
--- a/spec/manifest_parsing_test.js
+++ b/spec/manifest_parsing_test.js
@@ -107,5 +107,10 @@ describe('Vite manifest parsing', () => {
       'settings',
       'io.ox/core/main'
     ])
+    expect(manifests.map(manifest => manifest.dependencies)).toEqual([
+      ['io.ox/guidedtours/preload-helper-a7bbbf37.js'],
+      ['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js'],
+      ['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js']
+    ])
   })
 })
diff --git a/src/manifests.js b/src/manifests.js
index 6564160..34945fe 100644
--- a/src/manifests.js
+++ b/src/manifests.js
@@ -41,14 +41,18 @@ export const loadViteManifests = (() => {
 })()
 
 export function viteToOxManifest (viteManifests) {
+  const deps = viteManifestToDeps(viteManifests)
   return Object.values(viteManifests)
     .filter(manifest => Array.isArray(manifest?.meta?.manifests))
     .map(manifest =>
       manifest.meta.manifests.map(oxManifest => {
-        return {
+        const dependencies = deps[manifest.file]
+        const data = {
           ...oxManifest,
           path: manifest.file.slice(0, -path.parse(manifest.file).ext.length)
         }
+        if (dependencies?.length > 0) data.dependencies = dependencies
+        return data
       })
     )
     .flat()
-- 
GitLab