From 7daa66b1948cc05818927186b7f4a32b7791b6f3 Mon Sep 17 00:00:00 2001 From: isaacs Date: Tue, 24 Aug 2010 16:34:07 -0700 Subject: Replace all invalid chars in keys with _ --- lib/utils/lifecycle.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/utils/lifecycle.js b/lib/utils/lifecycle.js index 91d46e00b..fbecc0b53 100644 --- a/lib/utils/lifecycle.js +++ b/lib/utils/lifecycle.js @@ -31,6 +31,7 @@ function lifecycle (pkg, stage, cb) { var env = makeEnv(pkg) env.npm_lifecycle_event = stage env.npm_lifecycle_script = pkg.scripts[stage] + log.silly(env, "lifecycle env") exec("sh", ["-c", env.npm_lifecycle_script], env, function (er) { if (er && !npm.ROLLBACK) { log("Failed to exec "+stage+" script", pkg._id) @@ -65,18 +66,20 @@ function makeEnv (data, prefix, env) { } for (var i in data) if (i.charAt(0) !== "_") { + var envKey = (prefix+i).replace(/[^a-zA-Z0-9_]/g, '_') if (data[i] && typeof(data[i]) === "object") { - env[prefix+i] = JSON.stringify(data[i]) - makeEnv(data[i], prefix+i+"_", env) + env[envKey] = JSON.stringify(data[i]) + makeEnv(data[i], envKey+"_", env) } else { - env[prefix+i] = String(data[i]) + env[envKey] = String(data[i]) } } if (prefix !== "npm_package_") return env prefix = "npm_config_" var conf = npm.config.get() for (var i in conf) if (i.charAt(0) !== "_") { - env[prefix+i] = String(conf[i]) + var envKey = (prefix+i).replace(/[^a-zA-Z0-9_]/g, '_') + env[envKey] = String(conf[i]) } return env } -- cgit v1.2.3