From 7e23f3e4ef9ad52eb146de97fd2b18a739f77ac9 Mon Sep 17 00:00:00 2001 From: Joel Marcey Date: Fri, 20 Oct 2017 15:19:13 -0700 Subject: [PATCH] Avoid `null` enabledLanguages when there is no languages.js file (#155) ``` var enabledLanguages = languages.filter(function (lang) { ^ TypeError: Cannot read property 'filter' of null at module.exports ``` --- lib/server/sitemap.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/server/sitemap.js b/lib/server/sitemap.js index 1c036271e5..592ae0fe5d 100644 --- a/lib/server/sitemap.js +++ b/lib/server/sitemap.js @@ -43,16 +43,22 @@ module.exports = function(callback) { let files = glob.sync(CWD + "/pages/**/*.js"); - let languages = null; + // English-only is the default. + let enabledLanguages = [{ + enabled: true, + name: "English", + tag: "en" + }]; + // If we have a languages.js file, get all the enabled languages in there if (fs.existsSync(CWD + "/languages.js")) { - languages = require(CWD + "/languages.js"); + let languages = require(CWD + "/languages.js"); + enabledLanguages = languages.filter(lang => { + return lang.enabled == true; + }); } - let enabledLanguages = languages.filter(lang => { - return lang.enabled == true; - }); - + // create a url mapping to all the enabled languages files files.map(file => { enabledLanguages.map(lang => { let url = file.split("/pages/en")[1];