Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/locker.js')
-rw-r--r--lib/utils/locker.js58
1 files changed, 28 insertions, 30 deletions
diff --git a/lib/utils/locker.js b/lib/utils/locker.js
index 4a8f37271..9cd8b2c4f 100644
--- a/lib/utils/locker.js
+++ b/lib/utils/locker.js
@@ -1,38 +1,39 @@
-var crypto = require("crypto")
-var resolve = require("path").resolve
+var crypto = require('crypto')
+var resolve = require('path').resolve
-var lockfile = require("lockfile")
-var log = require("npmlog")
-var mkdirp = require("mkdirp")
+var lockfile = require('lockfile')
+var log = require('npmlog')
-var npm = require("../npm.js")
+var npm = require('../npm.js')
var correctMkdir = require('../utils/correct-mkdir.js')
var installLocks = {}
function lockFileName (base, name) {
- var c = name.replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "")
- , p = resolve(base, name)
- , h = crypto.createHash("sha1").update(p).digest("hex")
- , l = resolve(npm.cache, "_locks")
+ var c = name.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '')
+ var p = resolve(base, name)
+ var h = crypto.createHash('sha1').update(p).digest('hex')
+ var l = resolve(npm.cache, '_locks')
- return resolve(l, c.substr(0, 24)+"-"+h.substr(0, 16)+".lock")
+ return resolve(l, c.substr(0, 24) + '-' + h.substr(0, 16) + '.lock')
}
function lock (base, name, cb) {
- var lockDir = resolve(npm.cache, "_locks")
+ var lockDir = resolve(npm.cache, '_locks')
correctMkdir(lockDir, function (er) {
if (er) return cb(er)
- var opts = { stale: npm.config.get("cache-lock-stale")
- , retries: npm.config.get("cache-lock-retries")
- , wait: npm.config.get("cache-lock-wait") }
+ var opts = {
+ stale: npm.config.get('cache-lock-stale'),
+ retries: npm.config.get('cache-lock-retries'),
+ wait: npm.config.get('cache-lock-wait')
+ }
var lf = lockFileName(base, name)
lockfile.lock(lf, opts, function (er) {
- if (er) log.warn("locking", lf, "failed", er)
+ if (er) log.warn('locking', lf, 'failed', er)
if (!er) {
- log.verbose("lock", "using", lf, "for", resolve(base, name))
+ log.verbose('lock', 'using', lf, 'for', resolve(base, name))
installLocks[lf] = true
}
@@ -43,33 +44,30 @@ function lock (base, name, cb) {
function unlock (base, name, cb) {
var lf = lockFileName(base, name)
- , locked = installLocks[lf]
+ var locked = installLocks[lf]
if (locked === false) {
return process.nextTick(cb)
- }
- else if (locked === true) {
+ } else if (locked === true) {
lockfile.unlock(lf, function (er) {
if (er) {
- log.warn("unlocking", lf, "failed", er)
- }
- else {
+ log.warn('unlocking', lf, 'failed', er)
+ } else {
installLocks[lf] = false
- log.verbose("unlock", "done using", lf, "for", resolve(base, name))
+ log.verbose('unlock', 'done using', lf, 'for', resolve(base, name))
}
cb(er)
})
- }
- else {
+ } else {
var notLocked = new Error(
- "Attempt to unlock " + resolve(base, name) + ", which hasn't been locked"
+ 'Attempt to unlock ' + resolve(base, name) + ", which hasn't been locked"
)
- notLocked.code = "ENOTLOCKED"
+ notLocked.code = 'ENOTLOCKED'
throw notLocked
}
}
module.exports = {
- lock : lock,
- unlock : unlock
+ lock: lock,
+ unlock: unlock
}