feat(plugins): add WASI build constraints to client wrapper templates, to avoid lint errors

Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Deluan 2025-12-23 23:02:04 -05:00
parent 44c69de525
commit b84089cea4
15 changed files with 37 additions and 17 deletions

View File

@ -84,12 +84,6 @@ func GenerateHost(svc Service, pkgName string) ([]byte, error) {
return buf.Bytes(), nil
}
// GenerateService generates the host function wrapper code for a service.
// Deprecated: Use GenerateHost instead.
func GenerateService(svc Service, pkgName string) ([]byte, error) {
return GenerateHost(svc, pkgName)
}
// GenerateClientGo generates client wrapper code for plugins to call host functions.
func GenerateClientGo(svc Service) ([]byte, error) {
tmplContent, err := templatesFS.ReadFile("templates/client_go.go.tmpl")

View File

@ -9,7 +9,7 @@ import (
)
var _ = Describe("Generator", func() {
Describe("GenerateService", func() {
Describe("GenerateHost", func() {
It("should generate valid Go code for a simple service with strings", func() {
// String params/returns don't need JSON - they use direct memory read/write
svc := Service{
@ -26,7 +26,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
// Verify the code is valid Go
@ -73,7 +73,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
_, err = format.Source(code)
@ -98,7 +98,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
_, err = format.Source(code)
@ -132,7 +132,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
_, err = format.Source(code)
@ -164,7 +164,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
_, err = format.Source(code)
@ -200,7 +200,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
_, err = format.Source(code)
@ -229,7 +229,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
codeStr := string(code)
@ -254,7 +254,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
codeStr := string(code)
@ -278,7 +278,7 @@ var _ = Describe("Generator", func() {
},
}
code, err := GenerateService(svc, "host")
code, err := GenerateHost(svc, "host")
Expect(err).NotTo(HaveOccurred())
codeStr := string(code)
@ -336,7 +336,7 @@ type TestService interface {
Expect(services).To(HaveLen(1))
// Generate
code, err := GenerateService(services[0], "host")
code, err := GenerateHost(services[0], "host")
Expect(err).NotTo(HaveOccurred())
// Format (validates syntax)

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the {{.Service.Name}} host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Codec host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Counter host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Echo host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the List host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Math host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Meta host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Ping host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Search host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Store host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Users host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the Scheduler host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main

View File

@ -2,6 +2,8 @@
//
// This file contains client wrappers for the SubsonicAPI host service.
// It is intended for use in Navidrome plugins built with TinyGo.
//
//go:build wasip1
package main