Skip to content

Commit 1e5fb28

Browse files
author
Christian Medina
committed
refactor: centralize error message logging
1 parent 86f5bdb commit 1e5fb28

3 files changed

Lines changed: 21 additions & 19 deletions

File tree

lib/install.js

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ var unlock = locker.unlock
119119
var parseJSON = require('./utils/parse-json.js')
120120
var output = require('./utils/output.js')
121121
var saveMetrics = require('./utils/metrics.js').save
122+
var logErrorMessage = require('./utils/log-error-message.js')
122123

123124
// install specific libraries
124125
var copyTree = require('./install/copy-tree.js')
@@ -342,13 +343,7 @@ Installer.prototype.run = function (_cb) {
342343
if (installEr) self.failing = true
343344
chain(postInstallSteps, function (postInstallEr) {
344345
if (installEr && postInstallEr) {
345-
var msg = errorMessage(postInstallEr)
346-
msg.summary.forEach(function (logline) {
347-
log.warn.apply(log, logline)
348-
})
349-
msg.detail.forEach(function (logline) {
350-
log.verbose.apply(log, logline)
351-
})
346+
logErrorMessage(postInstallEr, 'warn', 'verbose')
352347
}
353348
cb(installEr || postInstallEr, self.getInstalledModules(), self.idealTree)
354349
})
@@ -736,13 +731,7 @@ Installer.prototype.printWarnings = function (cb) {
736731
if (warning.code === 'EPACKAGEJSON' && self.global) return
737732
if (warning.code === 'ENOTDIR') return
738733
warned = true
739-
var msg = errorMessage(warning)
740-
msg.summary.forEach(function (logline) {
741-
log.warn.apply(log, logline)
742-
})
743-
msg.detail.forEach(function (logline) {
744-
log.verbose.apply(log, logline)
745-
})
734+
logErrorMessage(warning, 'warn', 'verbose')
746735
})
747736
if (warned && log.levels[npm.config.get('loglevel')] <= log.levels.warn) console.error()
748737
cb()

lib/utils/error-handler.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var exitCode = 0
1212
var rollbacks = npm.rollbacks
1313
var chain = require('slide').chain
1414
var writeFileAtomic = require('write-file-atomic')
15-
var errorMessage = require('./error-message.js')
15+
var logErrorMessage = require('./log-error-message.js')
1616
var stopMetrics = require('./metrics.js').stop
1717
var mkdirp = require('mkdirp')
1818
var fs = require('graceful-fs')
@@ -198,10 +198,7 @@ function errorHandler (er) {
198198
if (v) log.error(k, v)
199199
})
200200

201-
var msg = errorMessage(er)
202-
msg.summary.concat(msg.detail).forEach(function (errline) {
203-
log.error.apply(log, errline)
204-
})
201+
var msg = logErrorMessage(er, 'error', 'error')
205202
if (npm.config && npm.config.get('json')) {
206203
var error = {
207204
error: {

lib/utils/log-error-message.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
'use strict'
2+
var log = require('npmlog')
3+
var errorMessage = require('./error-message.js')
4+
5+
module.exports = logErrorMessage
6+
7+
function logErrorMessage (er, summaryLevel, detailLevel) {
8+
var msg = errorMessage(er)
9+
msg.summary.forEach(function (logline) {
10+
log[summaryLevel].apply(log, logline)
11+
})
12+
msg.detail.forEach(function (logline) {
13+
log[detailLevel].apply(log, logline)
14+
})
15+
return msg
16+
}

0 commit comments

Comments
 (0)