semantic-release-prepare.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const path = require("path")
  2. const { fork } = require("child_process")
  3. const colors = require("colors")
  4. const { readFileSync, writeFileSync } = require("fs")
  5. const pkg = JSON.parse(
  6. readFileSync(path.resolve(__dirname, "..", "package.json"))
  7. )
  8. pkg.scripts.prepush = "npm run test:prod && npm run build"
  9. pkg.scripts.commitmsg = "commitlint -E HUSKY_GIT_PARAMS"
  10. writeFileSync(
  11. path.resolve(__dirname, "..", "package.json"),
  12. JSON.stringify(pkg, null, 2)
  13. )
  14. // Call husky to set up the hooks
  15. fork(path.resolve(__dirname, "..", "node_modules", "husky", "lib", "installer", 'bin'), ['install'])
  16. console.log()
  17. console.log(colors.green("Done!!"))
  18. console.log()
  19. if (pkg.repository.url.trim()) {
  20. console.log(colors.cyan("Now run:"))
  21. console.log(colors.cyan(" npm install -g semantic-release-cli"))
  22. console.log(colors.cyan(" semantic-release-cli setup"))
  23. console.log()
  24. console.log(
  25. colors.cyan('Important! Answer NO to "Generate travis.yml" question')
  26. )
  27. console.log()
  28. console.log(
  29. colors.gray(
  30. 'Note: Make sure "repository.url" in your package.json is correct before'
  31. )
  32. )
  33. } else {
  34. console.log(
  35. colors.red(
  36. 'First you need to set the "repository.url" property in package.json'
  37. )
  38. )
  39. console.log(colors.cyan("Then run:"))
  40. console.log(colors.cyan(" npm install -g semantic-release-cli"))
  41. console.log(colors.cyan(" semantic-release-cli setup"))
  42. console.log()
  43. console.log(
  44. colors.cyan('Important! Answer NO to "Generate travis.yml" question')
  45. )
  46. }
  47. console.log()