-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathuninstall.js
44 lines (33 loc) · 1.11 KB
/
uninstall.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var fs = require('fs')
var path = require('path')
var hooks = path.join(process.cwd(), '..', '..', '.git', 'hooks')
var dstCommitHook = path.join(hooks, 'commit-msg')
var srcCommitHook = path.relative(hooks, 'commit-msg-hook.js')
var dstPrepareHook = path.join(hooks, 'prepare-commit-msg')
var srcPrepareHook = path.relative(hooks, 'prepare-commit-msg-hook.js')
var dstHooks = [dstCommitHook, dstPrepareHook]
var srcHooks = [srcCommitHook, srcPrepareHook]
for (var i = 0; i < dstHooks.length; ++i) {
var dstHook = dstHooks[i]
var srcHook = srcHooks[i]
if (fs.existsSync(dstHook) && fs.existsSync(srcHook)) {
var githook = fs.readFileSync(dstHook)
var comhook = fs.readFileSync(srcHook)
if (githook.toString() === comhook.toString()) {
console.log('Removing the following hook:')
console.log(dstHook)
fs.unlinkSync(dstHook)
}
}
}
try {
var options = require('commitplease').getOptions()
var oldMessagePath = path.join(
process.cwd(), '..', '..', options.oldMessagePath
)
fs.unlinkSync(oldMessagePath)
} catch (err) {
if (!/ENOENT/.test(err.message)) {
throw err
}
}