diff --git a/spec/dependencies_test.js b/spec/dependencies_test.js index 3978ba177eef87e6b2659e6d50821a862363a636..f89e4ebc5111a3f05b4fa18b43f1891386a3e3fd 100644 --- a/spec/dependencies_test.js +++ b/spec/dependencies_test.js @@ -80,6 +80,9 @@ describe('Vite manifest parsing', () => { '../io.ox/guidedtours/i18n', 'io.ox/guidedtours/main.js' ], + css: [ + 'io.ox/guidedtours/assets/multifactor.91962241.css' + ], meta: {} }, 'io.ox/guidedtours/utils.js': { @@ -93,10 +96,21 @@ describe('Vite manifest parsing', () => { }, '_preload-helper-a7bbbf37.js': { file: 'io.ox/guidedtours/preload-helper-a7bbbf37.js' + }, + 'themes/icons/alarm.svg': { + file: 'assets/alarm.6d2fbb40.js', + src: 'themes/icons/alarm.svg', + isDynamicEntry: true, + assets: [ + 'assets/alarm.310541a0.svg' + ], + meta: {} } }) expect(typeof deps).toBe('object') - expect(Object.keys(deps).length).toBe(7) - expect(deps['io.ox/guidedtours/main.07676e21.js']).toEqual(['_preload-helper-a7bbbf37.js', '../io.ox/guidedtours/i18n']) + expect(Object.keys(deps).length).toBe(8) + expect(deps['io.ox/guidedtours/main.07676e21.js']).toEqual(['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js']) + expect(deps['io.ox/guidedtours/multifactor.22d3e17d.js']).toEqual(['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js', 'io.ox/guidedtours/main.07676e21.js', 'io.ox/guidedtours/assets/multifactor.91962241.css']) + expect(deps['assets/alarm.6d2fbb40.js']).toEqual(['assets/alarm.310541a0.svg']) }) }) diff --git a/src/manifests.js b/src/manifests.js index 5a3f3acaa105053f4fdc8c64a02774628a5af999..656416005cbda19d19f881c96f5ad4c774abdb68 100644 --- a/src/manifests.js +++ b/src/manifests.js @@ -69,8 +69,12 @@ export const getOxManifests = (() => { export function viteManifestToDeps (viteManifest) { const deps = {} - for (const { file, imports, css } of Object.values(viteManifest)) { - deps[file] = [].concat(imports).concat(css).filter(Boolean) + for (const { file, imports, css, assets } of Object.values(viteManifest)) { + deps[file] = [] + .concat(imports?.map(path => viteManifest[path].file)) + .concat(css) + .concat(assets) + .filter(Boolean) } return deps }