From 3af86acc4cf324425f4fa9975897b205f0e73ab2 Mon Sep 17 00:00:00 2001 From: Ronald Treur Date: Tue, 28 Oct 2014 12:59:43 +0100 Subject: [PATCH 1/3] Fixes #124: Requires path separator in basepath By making sure the common path ends with a path separator, we know we end up with an actual valid base path. --- bin/styledocco | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/styledocco b/bin/styledocco index abc3ad5..684333d 100755 --- a/bin/styledocco +++ b/bin/styledocco @@ -17,12 +17,14 @@ if (optimist.argv.version != null) { var commonprefix = function(arr) { if (!arr.length) return null; if (arr.length === 1) return arr[0]; - return arr.reduce(function(res, cur) { + var prefix = arr.reduce(function(res, cur) { while (res !== cur.slice(0, res.length)) { res = res.slice(0, -1); } return res; }); + var lastSlash = prefix.lastIndexOf(path.sep); + return lastSlash === -1 ? prefix : prefix.substr(0, lastSlash+1); }; var isArray = function(obj) { From d8ae60bfcf4f316b844f7a3e58b46ffe0bda5f2e Mon Sep 17 00:00:00 2001 From: Ronald Treur Date: Mon, 1 Dec 2014 15:57:40 +0100 Subject: [PATCH 2/3] Fixes #124 for Node versions < 0.10 --- bin/styledocco | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/styledocco b/bin/styledocco index 684333d..a603893 100755 --- a/bin/styledocco +++ b/bin/styledocco @@ -23,7 +23,7 @@ var commonprefix = function(arr) { } return res; }); - var lastSlash = prefix.lastIndexOf(path.sep); + var lastSlash = prefix.lastIndexOf(path.sep || '/'); return lastSlash === -1 ? prefix : prefix.substr(0, lastSlash+1); }; From 0cd73e494da4b91463fee3bed9cb9103d3ccc2c1 Mon Sep 17 00:00:00 2001 From: Ronald Treur Date: Mon, 1 Dec 2014 16:26:26 +0100 Subject: [PATCH 3/3] Undo previous commit: Fixes #124 for Node versions < 0.10 --- bin/styledocco | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/styledocco b/bin/styledocco index a603893..684333d 100755 --- a/bin/styledocco +++ b/bin/styledocco @@ -23,7 +23,7 @@ var commonprefix = function(arr) { } return res; }); - var lastSlash = prefix.lastIndexOf(path.sep || '/'); + var lastSlash = prefix.lastIndexOf(path.sep); return lastSlash === -1 ? prefix : prefix.substr(0, lastSlash+1); };