summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/read-package-json/read-json.js
diff options
context:
space:
mode:
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.js18
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) {