Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions lib/unbuild.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ module.exports = unbuild
module.exports.rmStuff = rmStuff
unbuild.usage = 'npm unbuild <folder>\n(this is plumbing)'

var readJson = require('read-package-json')
var gentlyRm = require('./utils/gently-rm.js')
var npm = require('./npm.js')
var path = require('path')
var isInside = require('path-is-inside')
var lifecycle = require('./utils/lifecycle.js')
var asyncMap = require('slide').asyncMap
var chain = require('slide').chain
var log = require('npmlog')
var build = require('./build.js')
var output = require('./utils/output.js')
const readJson = require('read-package-json')
const gentlyRm = require('./utils/gently-rm.js')
const npm = require('./npm.js')
const path = require('path')
const isInside = require('path-is-inside')
const lifecycle = require('./utils/lifecycle.js')
const asyncMap = require('slide').asyncMap
const chain = require('slide').chain
const log = require('npmlog')
const build = require('./build.js')
const output = require('./utils/output.js')

// args is a list of folders.
// remove any bins/etc, and then delete the folder.
Expand All @@ -30,7 +30,7 @@ function unbuild_ (silent) {
cb_(er, path.relative(npm.root, folder))
}
folder = path.resolve(folder)
var base = isInside(folder, npm.prefix) ? npm.prefix : folder
const base = isInside(folder, npm.prefix) ? npm.prefix : folder
delete build._didBuild[folder]
log.verbose('unbuild', folder.substr(npm.prefix.length + 1))
readJson(path.resolve(folder, 'package.json'), function (er, pkg) {
Expand Down Expand Up @@ -58,13 +58,13 @@ function rmStuff (pkg, folder, cb) {
// if it's global, and folder is in {prefix}/node_modules,
// then bins are in {prefix}/bin
// otherwise, then bins are in folder/../.bin
var dir = path.dirname(folder)
var scope = path.basename(dir)
var parent = scope.charAt(0) === '@' ? path.dirname(dir) : dir
var gnm = npm.dir
const dir = path.dirname(folder)
const scope = path.basename(dir)
const parent = scope.charAt(0) === '@' ? path.dirname(dir) : dir
const gnm = npm.dir
// gnm might be an absolute path, parent might be relative
// this checks they're the same directory regardless
var top = path.relative(gnm, parent) === ''
const top = path.relative(gnm, parent) === ''

log.verbose('unbuild rmStuff', pkg._id, 'from', gnm)
if (!top) log.verbose('unbuild rmStuff', 'in', parent)
Expand All @@ -75,7 +75,7 @@ function rmStuff (pkg, folder, cb) {

function rmBins (pkg, folder, parent, top, cb) {
if (!pkg.bin) return cb()
var binRoot = top ? npm.bin : path.resolve(parent, '.bin')
const binRoot = top ? npm.bin : path.resolve(parent, '.bin')
asyncMap(Object.keys(pkg.bin), function (b, cb) {
if (process.platform === 'win32') {
chain([ [gentlyRm, path.resolve(binRoot, b) + '.cmd', true, folder],
Expand All @@ -98,7 +98,7 @@ function rmMans (pkg, folder, parent, top, cb) {
!npm.config.get('global')) {
return cb()
}
var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
const manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
log.verbose('rmMans', 'man files are', pkg.man, 'in', manRoot)
asyncMap(pkg.man, function (man, cb) {
if (Array.isArray(man)) {
Expand All @@ -109,7 +109,7 @@ function rmMans (pkg, folder, parent, top, cb) {

function rmMan (man) {
log.silly('rmMan', 'preparing to remove', man)
var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
const parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
if (!parseMan) {
log.error(
'rmMan', man, 'is not a valid name for a man file.',
Expand All @@ -119,11 +119,11 @@ function rmMans (pkg, folder, parent, top, cb) {
return cb()
}

var stem = parseMan[1]
var sxn = parseMan[2]
var gz = parseMan[3] || ''
var bn = path.basename(stem)
var manDest = path.join(
const stem = parseMan[1]
const sxn = parseMan[2]
const gz = parseMan[3] || ''
const bn = path.basename(stem)
const manDest = path.join(
manRoot,
'man' + sxn,
(bn.indexOf(pkg.name) === 0 ? bn : pkg.name + '-' + bn) + '.' + sxn + gz
Expand Down