uninstall.js 684 B

123456789101112131415161718192021222324252627282930
  1. 'use strict'
  2. const fs = require('fs')
  3. const hooks = require('./hooks.json')
  4. const findParent = require('./utils/find-parent')
  5. const findHooksDir = require('./utils/find-hooks-dir')
  6. const is = require('./utils/is')
  7. function removeHook(dir, name) {
  8. const filename = `${dir}/${name}`
  9. if (fs.existsSync(filename) && is.huskyOrYorkie(filename)) {
  10. fs.unlinkSync(`${dir}/${name}`)
  11. }
  12. }
  13. function uninstallFrom(huskyDir) {
  14. try {
  15. const hooksDir = findHooksDir(findParent(huskyDir, '.git'))
  16. hooks.forEach(function(hookName) {
  17. removeHook(hooksDir, hookName)
  18. })
  19. console.log('done\n')
  20. } catch (e) {
  21. console.error(e)
  22. }
  23. }
  24. module.exports = uninstallFrom