From ba3981e270de3e2c049f8da3273dd2468374cc97 Mon Sep 17 00:00:00 2001
From: Peter Jaszkowiak
Date: Thu, 26 Nov 2020 14:59:23 -0700
Subject: [PATCH] fix: use package.name for theme.id (#8965)
Prevents cases like #8953
---
src/meta/themes.js | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/meta/themes.js b/src/meta/themes.js
index 8c184f776d..1120591609 100644
--- a/src/meta/themes.js
+++ b/src/meta/themes.js
@@ -25,9 +25,16 @@ Themes.get = async () => {
themes = _.flatten(themes).filter(Boolean);
themes = await Promise.all(themes.map(async (theme) => {
const config = path.join(themePath, theme, 'theme.json');
+ const pack = path.join(themePath, theme, 'package.json');
try {
- const file = await fs.promises.readFile(config, 'utf8');
- const configObj = JSON.parse(file);
+ const [configFile, packageFile] = await Promise.all([
+ fs.promises.readFile(config, 'utf8'),
+ fs.promises.readFile(pack, 'utf8'),
+ ]);
+ const configObj = JSON.parse(configFile);
+ const packageObj = JSON.parse(packageFile);
+
+ configObj.id = packageObj.name;
// Minor adjustments for API output
configObj.type = 'local';