aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/lib/publish.js
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2012-06-15 10:00:30 -0700
committerisaacs <i@izs.me>2012-06-15 10:00:30 -0700
commit911b0fddd3483ac58c3a5cec17f4f1b0e533521a (patch)
tree23fdfe46b166bdcb6ebc3e040a14f9c3faf9c441 /deps/npm/lib/publish.js
parent1e0ce5d1bdf364bf6eca821635e3ae8e65807667 (diff)
downloadandroid-node-v8-911b0fddd3483ac58c3a5cec17f4f1b0e533521a.tar.gz
android-node-v8-911b0fddd3483ac58c3a5cec17f4f1b0e533521a.tar.bz2
android-node-v8-911b0fddd3483ac58c3a5cec17f4f1b0e533521a.zip
Upgrade npm to 1.1.26
Diffstat (limited to 'deps/npm/lib/publish.js')
-rw-r--r--deps/npm/lib/publish.js76
1 files changed, 5 insertions, 71 deletions
diff --git a/deps/npm/lib/publish.js b/deps/npm/lib/publish.js
index dfe21c2513..348862dbb4 100644
--- a/deps/npm/lib/publish.js
+++ b/deps/npm/lib/publish.js
@@ -5,9 +5,8 @@ var npm = require("./npm.js")
, registry = npm.registry
, log = require("npmlog")
, tar = require("./utils/tar.js")
- , sha = require("./utils/sha.js")
, path = require("path")
- , readJson = require("./utils/read-json.js")
+ , readJson = require("read-package-json")
, fs = require("graceful-fs")
, lifecycle = require("./utils/lifecycle.js")
, chain = require("slide").chain
@@ -39,6 +38,8 @@ function publish (args, isRetry, cb) {
// to the cache.
if (er) return cacheAddPublish(arg, false, isRetry, cb)
+ data._npmUser = { name: npm.config.get("username")
+ , email: npm.config.get("email") }
cacheAddPublish(arg, true, isRetry, cb)
})
}
@@ -76,77 +77,10 @@ function publish_ (arg, data, isRetry, cachedir, cb) {
("This package has been marked as private\n"
+"Remove the 'private' field from the package.json to publish it."))
- // pre-build
- var bd = data.scripts
- && ( data.scripts.preinstall
- || data.scripts.install
- || data.scripts.postinstall )
- && npm.config.get("bindist")
- && npm.config.get("bin-publish")
- preBuild(data, bd, function (er, tb) {
- if (er) return cb(er)
- return regPublish(data, tb, isRetry, arg, cachedir, cb)
- })
-}
-
-
-function preBuild (data, bd, cb) {
- if (!bd) return cb()
- // unpack to cache/n/v/build
- // build there
- // pack to cache/package-<bd>.tgz
- var cf = path.resolve(npm.cache, data.name, data.version)
- var pb = path.resolve(cf, "build")
- , buildTarget = path.resolve(pb, "node_modules", data.name)
- , tb = path.resolve(cf, "package-"+bd+".tgz")
- , sourceBall = path.resolve(cf, "package.tgz")
-
- log.verbose("preBuild", "about to cache unpack")
- log.verbose("preBuild", "tarball = %s", sourceBall)
- npm.commands.install(pb, sourceBall, function (er) {
- log.info("preBuild", "done", data._id)
- // build failure just means that we can't prebuild
- if (er) {
- log.warn("preBuild", "failed (continuing without prebuild)", bd, er)
- return cb()
- }
- // now strip the preinstall/install scripts
- // they've already been run.
- var pbj = path.resolve(buildTarget, "package.json")
- readJson(pbj, function (er, pbo) {
- if (er) return cb(er)
- if (pbo.scripts) {
- delete pbo.scripts.preinstall
- delete pbo.scripts.install
- delete pbo.scripts.postinstall
- }
- pbo.prebuilt = bd
- pbo.files = pbo.files || []
- pbo.files.push("build")
- pbo.files.push("build/")
- pbo.files.push("*.node")
- pbo.files.push("*.js")
- fs.writeFile(pbj, JSON.stringify(pbo, null, 2), function (er) {
- if (er) return cb(er)
- tar.pack(tb, buildTarget, pbo, true, function (er) {
- if (er) return cb(er)
- // try to validate the shasum, too
- sha.get(tb, function (er, shasum) {
- if (er) return cb(er)
- // binary distribution requires shasum checking.
- if (!shasum) return cb()
- data.dist.bin = data.dist.bin || {}
- data.dist.bin[bd] = data.dist.bin[bd] || {}
- data.dist.bin[bd].shasum = shasum
- return cb(null, tb)
- })
- })
- })
- })
- })
+ regPublish(data, isRetry, arg, cachedir, cb)
}
-function regPublish (data, prebuilt, isRetry, arg, cachedir, cb) {
+function regPublish (data, isRetry, arg, cachedir, cb) {
// check to see if there's a README.md in there.
var readme = path.resolve(cachedir, "README.md")
, tarball = cachedir + ".tgz"