Skip to content

Commit f25c604

Browse files
author
Raul Melo
committed
Add file copy functionality and update URL format in package.json
1 parent 5253259 commit f25c604

1 file changed

Lines changed: 65 additions & 1 deletion

File tree

scripts/npm.go

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"encoding/json"
66
"fmt"
7+
"io"
78
"os"
89
"path/filepath"
910
"strings"
@@ -47,6 +48,30 @@ func main() {
4748
}
4849

4950
fmt.Println("package.json created")
51+
52+
err = copyFile(
53+
"README.md",
54+
outDir,
55+
"README.md",
56+
)
57+
58+
if err != nil {
59+
fmt.Println("[ERROR] [copy README.md] ", err)
60+
return
61+
}
62+
63+
err = copyFile(
64+
"./scripts/templates/go-npm.mjs",
65+
outDir,
66+
"go-npm.mjs",
67+
)
68+
69+
if err != nil {
70+
fmt.Println("[ERROR] [copy go-npm.mjs] ", err)
71+
return
72+
}
73+
74+
fmt.Println("README.md copied")
5075
}
5176

5277
func getDistFolderPath() (string, error) {
@@ -89,7 +114,7 @@ func getPackageJsonString(meta ReleaserMetaData) (string, error) {
89114

90115
temp.Execute(&buff, PkgJsonTemplate{
91116
Version: meta.GetVersion(),
92-
URL: fmt.Sprintf("https://github.com/raulfdm/node-versions-cli/releases/download/v{{version}}/%s_{{version}}_{{platform}}_{{arch}}.tar.gz", meta.ProjectName),
117+
URL: meta.GetRemoteUrl(),
93118
})
94119

95120
result := buff.String()
@@ -124,6 +149,10 @@ func (r *ReleaserMetaData) GetVersion() string {
124149
return r.Tag[1:]
125150
}
126151

152+
func (r *ReleaserMetaData) GetRemoteUrl() string {
153+
return fmt.Sprintf("https://github.com/raulfdm/node-versions-cli/releases/download/v{{version}}/%s_{{platform}}_{{arch}}.tar.gz", r.ProjectName)
154+
}
155+
127156
func getReleaserMetaData() (*ReleaserMetaData, error) {
128157
fullPath, err := filepath.Abs("./")
129158

@@ -151,3 +180,38 @@ func getReleaserMetaData() (*ReleaserMetaData, error) {
151180

152181
return &meta, nil
153182
}
183+
184+
func copyFile(relativeSrc string, outDir string, filename string) error {
185+
fullPath, err := filepath.Abs("./")
186+
187+
if err != nil {
188+
return err
189+
}
190+
191+
readmeSrc := filepath.Join(fullPath, relativeSrc)
192+
readmeDest := filepath.Join(outDir, filename)
193+
194+
srcFile, err := os.Open(readmeSrc)
195+
196+
if err != nil {
197+
return err
198+
}
199+
200+
defer srcFile.Close()
201+
202+
destFile, err := os.Create(readmeDest)
203+
204+
if err != nil {
205+
return err
206+
}
207+
208+
defer destFile.Close()
209+
210+
_, err = io.Copy(destFile, srcFile)
211+
212+
if err != nil {
213+
return err
214+
}
215+
216+
return nil
217+
}

0 commit comments

Comments
 (0)