| 75 | // use the 'commitMsg' key from it, if any. |
| 76 | CommitMessage.resolveConfig = function(cfg, cb) { |
| 77 | var getPackageJsonConfig = function(dir) { |
| 78 | if (!dir) { |
| 79 | return cb(false); |
| 80 | } |
| 81 | var file = path.resolve(dir, 'package.json'); |
| 82 | // check if exists, not with fs.exists() since it's deprecated |
| 83 | fs.open(file, 'r', function(err, fd) { |
| 84 | if (!err) { |
| 85 | var pkg = require(file); |
| 86 | cb(pkg.commitMsg); |
| 87 | fs.close(fd); |
| 88 | } else { |
| 89 | var upDir = path.resolve(dir, '..'); |
| 90 | getPackageJsonConfig(upDir != dir ? upDir : null); |
| 91 | } |
| 92 | }); |
| 93 | } |
| 94 | if (cfg && typeof(cfg) != 'object') { |
| 95 | // try to find the first package.json file with a config |
| 96 | getPackageJsonConfig(typeof(cfg) == 'string' ? cfg : __dirname); |