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.js23
1 files changed, 21 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 d9a4610d9..5f69c0dcf 100644
--- a/deps/npm/node_modules/read-package-json/read-json.js
+++ b/deps/npm/node_modules/read-package-json/read-json.js
@@ -19,6 +19,7 @@ var normalizeData = require("normalize-package-data")
readJson.extraSet = [
gypfile,
serverjs,
+ scriptpath,
authors,
readme,
mans,
@@ -110,6 +111,7 @@ function extras (file, data, log_, strict_, cb_) {
else if (typeof arguments[i] === 'function')
log = arguments[i]
}
+ if (!log) log = function () {};
cb = arguments[i]
var set = readJson.extraSet
var n = set.length
@@ -125,6 +127,22 @@ function extras (file, data, log_, strict_, cb_) {
}
}
+function scriptpath (file, data, cb) {
+ if (!data.scripts) return cb(null, data);
+ var k = Object.keys(data.scripts)
+ k.forEach(scriptpath_, data.scripts)
+ cb(null, data);
+}
+function scriptpath_(key) {
+ s = this[key]
+ // This is never allowed, and only causes problems
+ if (typeof s !== 'string')
+ return delete this[key]
+ var spre = /^(\.[\/\\])?node_modules[\/\\].bin[\\\/]/
+ if (s.match(spre))
+ this[key] = this[key].replace(spre, '')
+}
+
function gypfile (file, data, cb) {
var dir = path.dirname(file)
var s = data.scripts || {}
@@ -318,9 +336,10 @@ function final (file, data, log, strict, cb) {
}
function makePackageId (data) {
- return cleanString(data.name) + "@" + cleanString(data.version)
+ var name = cleanString(data.name)
+ var ver = cleanString(data.version)
+ return name + "@" + ver
}
-
function cleanString(str) {
return (!str || typeof(str) !== "string") ? "" : str.trim()
}