diff options
-rw-r--r-- | app/controllers/concerns/theming_concern.rb | 2 | ||||
-rw-r--r-- | config/webpack/shared.js | 14 |
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)); } } |