From b94dbff181533a39a4e01770b02b04e0dbb90587 Mon Sep 17 00:00:00 2001 From: Frank Li Date: Tue, 8 Aug 2017 11:44:30 -0700 Subject: [PATCH] Fix versioning bugs --- lib/server/readMetadata.js | 2 +- lib/server/versionFallback.js | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/server/readMetadata.js b/lib/server/readMetadata.js index 3fdd56ffd6..90f7463af9 100644 --- a/lib/server/readMetadata.js +++ b/lib/server/readMetadata.js @@ -213,7 +213,7 @@ function generateDocsMetadata() { } }); - versionData = versionFallback.docData(); + const versionData = versionFallback.docData(); versionData.forEach(metadata => { const id = metadata.localized_id; metadata.sidebar = order[id].sidebar; diff --git a/lib/server/versionFallback.js b/lib/server/versionFallback.js index 5a8699a59e..1ab8f0e1f6 100644 --- a/lib/server/versionFallback.js +++ b/lib/server/versionFallback.js @@ -14,10 +14,17 @@ const path = require("path"); const diff = require("diff"); const assert = require("assert"); -const versions = require(CWD + "/versions.json"); const siteConfig = require(CWD + "/siteConfig.js"); const ENABLE_TRANSLATION = fs.existsSync(CWD + "/languages.js"); + +let versions; +if (fs.existsSync(CWD + "/versions.json")) { + versions = require(CWD + "/versions.json"); +} else { + versions = []; +} + let languages; if (fs.existsSync(CWD + "/languages.js")) { languages = require(CWD + "/languages.js"); @@ -76,7 +83,7 @@ const available = {}; // versionFiles is used to keep track of what file to use with a // given version/id of a document const versionFiles = {}; -files = glob.sync(versionFolder + "**"); +let files = glob.sync(versionFolder + "**"); files.forEach(file => { const ext = path.extname(file); if (ext !== ".md" && ext !== ".markdown") { @@ -188,7 +195,7 @@ function processVersionMetadata(file, version, useVersion, language) { // return all metadata of versioned documents function docData() { - allIds = new Set(); + const allIds = new Set(); Object.keys(versionFiles).forEach(version => { Object.keys(versionFiles[version]).forEach(id => { allIds.add(id);