From ec6ff9284c03e3287089f65e596a2293097c23ab Mon Sep 17 00:00:00 2001 From: Joel Marcey Date: Sat, 17 Feb 2018 12:25:46 -0800 Subject: [PATCH] Allow multiple `-` in a version string (#457) * Allow multiple `-` in a version string Right now we were assuming that there would be no `-` in a version. That was breaking things. This allows more flexibility for versions like: 1.0.0-beta.2 Ref #455 Fixes #450 * Check more specific strings - need to look for the original_id --- lib/server/versionFallback.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/server/versionFallback.js b/lib/server/versionFallback.js index e6dac97705..19e75adbd7 100644 --- a/lib/server/versionFallback.js +++ b/lib/server/versionFallback.js @@ -120,7 +120,14 @@ files.forEach(file => { if (!(metadata.original_id in available)) { available[metadata.original_id] = new Set(); } - const version = metadata.id.split('-')[1]; + // The version will be between "version-" and "-" + // e.g. version-1.0.0-beta.2-doc1 => 1.0.0-beta.2 + // e.g. version-1.0.0-doc2 => 1.0.0 + // e.g. version-1.0.0-getting-started => 1.0.0 + const version = metadata.id.substring( + metadata.id.indexOf('version-') + 8, // version- is 8 characters + metadata.id.lastIndexOf('-' + metadata.original_id) + ); available[metadata.original_id].add(version); if (!(version in versionFiles)) {