diff options
Diffstat (limited to 'deps/npm/node_modules/read-package-json/read-json.js')
-rw-r--r-- | deps/npm/node_modules/read-package-json/read-json.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/deps/npm/node_modules/read-package-json/read-json.js b/deps/npm/node_modules/read-package-json/read-json.js index 5f69c0dcf..acb7d62d8 100644 --- a/deps/npm/node_modules/read-package-json/read-json.js +++ b/deps/npm/node_modules/read-package-json/read-json.js @@ -231,17 +231,31 @@ function readme (file, data, cb) { if (data.readme) return cb(null, data); var dir = path.dirname(file) var globOpts = { cwd: dir, nocase: true, mark: true } - glob("README?(.*)", globOpts, function (er, files) { + glob("{README,README.*}", globOpts, function (er, files) { if (er) return cb(er); // don't accept directories. files = files.filter(function (file) { return !file.match(/\/$/) }) if (!files.length) return cb(); - var rm = path.resolve(dir, files[0]) + var fn = preferMarkdownReadme(files) + var rm = path.resolve(dir, fn) readme_(file, data, rm, cb) }) } +function preferMarkdownReadme(files) { + var fallback = 0; + var re = /\.m?a?r?k?d?o?w?n?$/i + for (var i = 0; i < files.length; i++) { + if (files[i].match(re)) + return files[i] + else if (files[i].match(/README$/)) + fallback = i + } + // prefer README.md, followed by README; otherwise, return + // the first filename (which could be README) + return files[fallback]; +} function readme_(file, data, rm, cb) { var rmfn = path.basename(rm); fs.readFile(rm, "utf8", function (er, rm) { |