From def4b27e980da4e32f494c6832c1851e3364a252 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Sat, 4 Nov 2017 00:11:41 +0100 Subject: Improve (dev) recipe loading --- src/api/server/ServerApi.js | 17 ++++++++++++----- src/models/Recipe.js | 3 ++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index 8b0b7563c..932b70cdc 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js @@ -499,7 +499,7 @@ export default class ServerApi { return recipe; }), - ).catch(err => console.error(err)); + ).catch(err => console.error('Can\'t load recipe', err)); } _mapRecipePreviewModel(recipes) { @@ -562,9 +562,16 @@ export default class ServerApi { .filter(file => fs.statSync(path.join(recipesDirectory, file)).isDirectory() && file !== 'temp'); const recipes = paths.map((id) => { - // eslint-disable-next-line - const Recipe = require(id)(RecipeModel); - return new Recipe(loadRecipeConfig(id)); + let Recipe; + try { + // eslint-disable-next-line + Recipe = require(id)(RecipeModel); + return new Recipe(loadRecipeConfig(id)); + } catch (err) { + console.error(err); + } + + return false; }).filter(recipe => recipe.id).map((data) => { const recipe = data; @@ -579,7 +586,7 @@ export default class ServerApi { return recipes; } catch (err) { - console.debug('Folder `recipe/dev` does not exist'); + console.debug('Could not load dev recipes'); return false; } } diff --git a/src/models/Recipe.js b/src/models/Recipe.js index 4b613a40c..9971df77c 100644 --- a/src/models/Recipe.js +++ b/src/models/Recipe.js @@ -26,7 +26,8 @@ export default class Recipe { } if (!data.id) { - throw Error('Recipe requires Id'); + // Franz 4 recipes do not have an Id + throw Error(`Recipe '${data.name}' requires Id`); } this.id = data.id || this.id; -- cgit v1.2.3-70-g09d2