Skip to content

Commit eb86a0c

Browse files
fix: do not overwrite .npmrc
1 parent d73fd28 commit eb86a0c

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

update/package_json.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,10 @@ func packageJson(newVersion string, file *os.File) error {
2626
if err := enc.Encode(data); err != nil {
2727
return err
2828
}
29-
return ioutil.WriteFile(path.Join(path.Dir(file.Name()), ".npmrc"), []byte(npmrc), 0644)
29+
npmrcPath := path.Join(path.Dir(file.Name()), ".npmrc")
30+
_, err := os.Stat(npmrcPath)
31+
if os.IsNotExist(err) {
32+
return ioutil.WriteFile(npmrcPath, []byte(npmrc), 0644)
33+
}
34+
return err
3035
}

update/package_json_test.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ func TestPackageJson(t *testing.T) {
1515
}
1616
defer f.Close()
1717
nVer := "1.2.3"
18+
npmrcPath := "../test-fixtures/.npmrc"
19+
os.Remove(npmrcPath)
1820
packageJson(nVer, f)
19-
npmfile, err := ioutil.ReadFile("../test-fixtures/.npmrc")
21+
npmfile, err := ioutil.ReadFile(npmrcPath)
2022
if err != nil || bytes.Compare(npmfile, []byte(npmrc)) != 0 {
2123
t.Fatal("invalid .npmrc")
2224
}
@@ -27,3 +29,25 @@ func TestPackageJson(t *testing.T) {
2729
t.Fatal("invalid version")
2830
}
2931
}
32+
33+
func TestNpmrc(t *testing.T) {
34+
f, err := os.OpenFile("../test-fixtures/package.json", os.O_RDWR, 0)
35+
if err != nil {
36+
t.Fatal("fixture missing")
37+
}
38+
defer f.Close()
39+
nVer := "1.2.3"
40+
npmrcPath := "../test-fixtures/.npmrc"
41+
ioutil.WriteFile(npmrcPath, []byte("TEST"), 0644)
42+
packageJson(nVer, f)
43+
npmfile, err := ioutil.ReadFile(npmrcPath)
44+
if err != nil || bytes.Compare(npmfile, []byte("TEST")) != 0 {
45+
t.Fatal("invalid .npmrc")
46+
}
47+
f.Seek(0, 0)
48+
var data map[string]json.RawMessage
49+
json.NewDecoder(f).Decode(&data)
50+
if bytes.Compare(data["version"], []byte("\""+nVer+"\"")) != 0 {
51+
t.Fatal("invalid version")
52+
}
53+
}

0 commit comments

Comments
 (0)