about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-02-11 23:52:42 +0100
committerClaire <claire.github-309c@sitedethib.com>2022-02-12 00:10:28 +0100
commitf3b9a2b590147c8b383b9db7e46684e89d74ad69 (patch)
treec3be96eb7abc362ba0d633ee9104e157332b1feb
parent9f763b5b79a8e6c61407943615038bafa499bd22 (diff)
Add support for multiple source files per pack
-rw-r--r--app/controllers/concerns/theming_concern.rb2
-rw-r--r--config/webpack/shared.js14
2 files changed, 11 insertions, 5 deletions
diff --git a/app/controllers/concerns/theming_concern.rb b/app/controllers/concerns/theming_concern.rb
index 425554072..f993a81d7 100644
--- a/app/controllers/concerns/theming_concern.rb
+++ b/app/controllers/concerns/theming_concern.rb
@@ -20,7 +20,7 @@ module ThemingConcern
   end
 
   def valid_pack_data?(data, pack_name)
-    data['pack'].is_a?(Hash) && [String, Hash].any? { |c| data['pack'][pack_name].is_a?(c) }
+    data['pack'].is_a?(Hash) && data['pack'][pack_name].present?
   end
 
   def nil_pack(data)
diff --git a/config/webpack/shared.js b/config/webpack/shared.js
index de347fa88..c2a108a89 100644
--- a/config/webpack/shared.js
+++ b/config/webpack/shared.js
@@ -16,10 +16,16 @@ function reducePacks (data, into = {}) {
     const pack = data.pack[entry];
     if (!pack) continue;
 
-    const packFile = typeof pack === 'string' ? pack : pack.filename;
-
-    if (packFile) {
-      into[data.name ? `flavours/${data.name}/${entry}` : `core/${entry}`] = resolve(data.pack_directory, packFile);
+    let packFiles = [];
+    if (typeof pack === 'string')
+      packFiles = [pack];
+    else if (Array.isArray(pack))
+      packFiles = pack;
+    else
+      packFiles = [pack.filename];
+
+    if (packFiles) {
+      into[data.name ? `flavours/${data.name}/${entry}` : `core/${entry}`] = packFiles.map(packFile => resolve(data.pack_directory, packFile));
     }
   }