read-package-json
Advanced tools
| {"name":"readmes", "version":"99.999.999999999"} |
| *markdown* |
Sorry, the diff of this file is not supported yet
| // vim: set softtabstop=16 shiftwidth=16: | ||
| var tap = require("tap") | ||
| var readJson = require("../") | ||
| var path = require("path") | ||
| var fs = require("fs") | ||
| var p = path.resolve(__dirname, "fixtures/readmes/package.json") | ||
| var expect = {} | ||
| var expect = { | ||
| "name" : "readmes", | ||
| "version" : "99.999.999999999", | ||
| "readme" : "*markdown*\n", | ||
| "readmeFilename" : "README.md", | ||
| "description" : "*markdown*", | ||
| "_id" : "readmes@99.999.999999999" | ||
| } | ||
| console.error("readme test") | ||
| tap.test("readme test", function (t) { | ||
| readJson(p, function (er, data) { | ||
| if (er) throw er; | ||
| test(t, data) | ||
| }) | ||
| }) | ||
| function test(t, data) { | ||
| t.deepEqual(data, expect) | ||
| t.end() | ||
| } |
+1
-1
| { | ||
| "name": "read-package-json", | ||
| "version": "1.1.7", | ||
| "version": "1.1.8", | ||
| "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", | ||
@@ -5,0 +5,0 @@ "description": "The thing npm uses to read package.json files with semantics and defaults and validation", |
+16
-2
@@ -234,3 +234,3 @@ // vim: set softtabstop=16 shiftwidth=16: | ||
| 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); | ||
@@ -242,6 +242,20 @@ // don't accept directories. | ||
| 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) { | ||
@@ -248,0 +262,0 @@ var rmfn = path.basename(rm); |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
28142
5.77%16
45.45%551
7.83%7
16.67%