Skip to content

Commit 86d2543

Browse files
refactor: move utils to separate file
* rename writeHookFile to WriteHookToFile * move WriteConfToFile to file.go * move WriteHookToFile to file.go * move IsFileExists to util.go
1 parent db69a57 commit 86d2543

File tree

4 files changed

+67
-61
lines changed

4 files changed

+67
-61
lines changed

cmd/commitlint/main.go

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func initHookCallback(ctx *cli.Context) (retErr error) {
5555

5656
// create hook file
5757
hookFile := filepath.Join(hookDir, commitMsgHook)
58-
err = writeHookFile(hookFile)
58+
err = commitlint.WriteHookToFile(hookFile)
5959
if err != nil {
6060
return err
6161
}
@@ -104,28 +104,6 @@ func setGitConf(hookDir string, isGlobal bool) error {
104104
return cmd.Run()
105105
}
106106

107-
func writeHookFile(hookFilePath string) (retErr error) {
108-
// if commit-msg already exists skip creating or overwriting it
109-
if isFileExists(hookFilePath) {
110-
return nil
111-
}
112-
// commit-msg needs to be executable
113-
file, err := os.OpenFile(hookFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0700)
114-
if err != nil {
115-
return err
116-
}
117-
defer func() {
118-
err1 := file.Close()
119-
if retErr == nil && err1 != nil {
120-
retErr = err1
121-
}
122-
}()
123-
124-
commitHook := commitlint.CommitMsgHook()
125-
_, err = file.WriteString(commitHook)
126-
return err
127-
}
128-
129107
func getLinter(confFilePath string) (*commitlint.Linter, error) {
130108
// Config Precedence
131109
// 1. Check for conf in current directory
@@ -139,7 +117,7 @@ func getLinter(confFilePath string) (*commitlint.Linter, error) {
139117

140118
// check if conf file exists in current directory
141119
currentDirConf := filepath.Join(currentDir, defConfFileName)
142-
if isFileExists(currentDirConf) {
120+
if commitlint.IsFileExists(currentDirConf) {
143121
confFilePath = currentDirConf
144122
}
145123

@@ -189,8 +167,3 @@ func readStdIn() string {
189167
s := string(readBytes)
190168
return strings.TrimSpace(s)
191169
}
192-
193-
func isFileExists(filename string) bool {
194-
_, err := os.Stat(filename)
195-
return !os.IsNotExist(err)
196-
}

default.go

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
package commitlint
22

3-
import (
4-
"bufio"
5-
"os"
6-
7-
"gopkg.in/yaml.v3"
8-
)
9-
103
var defConf = &Config{
114
Header: Header{
125
MinLength: IntConf{Enabled: true, Type: ErrorType, Value: 10},
@@ -54,28 +47,3 @@ func NewDefaultLinter() *Linter {
5447
func DefaultConfToFile(confPath string) error {
5548
return WriteConfToFile(confPath, defConf)
5649
}
57-
58-
// WriteConfToFile util func to write config object to given file
59-
func WriteConfToFile(confPath string, conf *Config) (retErr error) {
60-
file, err := os.Create(confPath)
61-
if err != nil {
62-
return err
63-
}
64-
defer func() {
65-
err1 := file.Close()
66-
if retErr == nil && err1 != nil {
67-
retErr = err1
68-
}
69-
}()
70-
71-
w := bufio.NewWriter(file)
72-
defer func() {
73-
err1 := w.Flush()
74-
if retErr == nil && err1 != nil {
75-
retErr = err1
76-
}
77-
}()
78-
79-
enc := yaml.NewEncoder(w)
80-
return enc.Encode(conf)
81-
}

file.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package commitlint
2+
3+
import (
4+
"bufio"
5+
"os"
6+
7+
"gopkg.in/yaml.v3"
8+
)
9+
10+
// WriteConfToFile util func to write config object to given file
11+
func WriteConfToFile(confPath string, conf *Config) (retErr error) {
12+
file, err := os.Create(confPath)
13+
if err != nil {
14+
return err
15+
}
16+
defer func() {
17+
err1 := file.Close()
18+
if retErr == nil && err1 != nil {
19+
retErr = err1
20+
}
21+
}()
22+
23+
w := bufio.NewWriter(file)
24+
defer func() {
25+
err1 := w.Flush()
26+
if retErr == nil && err1 != nil {
27+
retErr = err1
28+
}
29+
}()
30+
31+
enc := yaml.NewEncoder(w)
32+
return enc.Encode(conf)
33+
}
34+
35+
// WriteHookToFile util func to write commit-msg hook to given file
36+
func WriteHookToFile(hookFilePath string) (retErr error) {
37+
// if commit-msg already exists skip creating or overwriting it
38+
if IsFileExists(hookFilePath) {
39+
return nil
40+
}
41+
// commit-msg needs to be executable
42+
file, err := os.OpenFile(hookFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0700)
43+
if err != nil {
44+
return err
45+
}
46+
defer func() {
47+
err1 := file.Close()
48+
if retErr == nil && err1 != nil {
49+
retErr = err1
50+
}
51+
}()
52+
53+
commitHook := CommitMsgHook()
54+
_, err = file.WriteString(commitHook)
55+
return err
56+
}

util.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package commitlint
2+
3+
import "os"
4+
5+
// IsFileExists checks if given file exists
6+
func IsFileExists(fileName string) bool {
7+
_, err := os.Stat(fileName)
8+
return !os.IsNotExist(err)
9+
}

0 commit comments

Comments
 (0)