5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 06:01:52 +08:00

Simplified output

This commit is contained in:
Lea Anthony 2020-10-30 15:49:22 +11:00
parent 9ced48fcc9
commit 15cdf7382b

View File

@ -3,7 +3,6 @@ package backendjs
import ( import (
"bytes" "bytes"
"io/ioutil" "io/ioutil"
"path/filepath"
"reflect" "reflect"
"text/template" "text/template"
@ -25,7 +24,7 @@ func generatePackages() error {
return errors.Wrap(err, "Error parsing struct packages:") return errors.Wrap(err, "Error parsing struct packages:")
} }
err = generateJSFiles(packages) err = generatePackageFiles(packages)
if err != nil { if err != nil {
return errors.Wrap(err, "Error generating struct js file:") return errors.Wrap(err, "Error generating struct js file:")
} }
@ -100,54 +99,6 @@ func parsePackages() ([]*Package, error) {
return result, nil return result, nil
} }
func generateJSFiles(packages []*Package) error {
err := generateIndexJS(packages)
if err != nil {
return errors.Wrap(err, "Error generating index.js file")
}
err = generatePackageFiles(packages)
if err != nil {
return errors.Wrap(err, "Error generating packages")
}
return nil
}
func generateIndexJS(packages []*Package) error {
// Get path to local file
templateFile := fs.RelativePath("./index.template")
// Load template
javascriptTemplateData := fs.MustLoadString(templateFile)
packagesTemplate, err := template.New("index").Parse(javascriptTemplateData)
if err != nil {
return errors.Wrap(err, "Error creating template")
}
// Execute template
var buffer bytes.Buffer
err = packagesTemplate.Execute(&buffer, packages)
if err != nil {
return errors.Wrap(err, "Error generating code")
}
// Calculate target filename
indexJS, err := fs.RelativeToCwd("./frontend/backend/index.js")
if err != nil {
return errors.Wrap(err, "Error calculating index js path")
}
err = ioutil.WriteFile(indexJS, buffer.Bytes(), 0755)
if err != nil {
return errors.Wrap(err, "Error writing backend package index.js file")
}
return nil
}
func generatePackageFiles(packages []*Package) error { func generatePackageFiles(packages []*Package) error {
// Get path to local file // Get path to local file
@ -174,14 +125,11 @@ func generatePackageFiles(packages []*Package) error {
for _, thisPackage := range packages { for _, thisPackage := range packages {
// Calculate target directory // Calculate target directory
packageDir, err := fs.RelativeToCwd("./frontend/backend/" + thisPackage.Name) packageFile, err := fs.RelativeToCwd("./frontend/backend/" + thisPackage.Name)
if err != nil { if err != nil {
return errors.Wrap(err, "Error calculating package path") return errors.Wrap(err, "Error calculating package path")
} }
// Make the dir but ignore if it already exists
fs.Mkdir(packageDir)
// Execute javascript template // Execute javascript template
var buffer bytes.Buffer var buffer bytes.Buffer
err = javascriptTemplate.Execute(&buffer, thisPackage) err = javascriptTemplate.Execute(&buffer, thisPackage)
@ -190,7 +138,7 @@ func generatePackageFiles(packages []*Package) error {
} }
// Save javascript file // Save javascript file
err = ioutil.WriteFile(filepath.Join(packageDir, "index.js"), buffer.Bytes(), 0755) err = ioutil.WriteFile(packageFile+".js", buffer.Bytes(), 0755)
if err != nil { if err != nil {
return errors.Wrap(err, "Error writing backend package file") return errors.Wrap(err, "Error writing backend package file")
} }
@ -205,7 +153,7 @@ func generatePackageFiles(packages []*Package) error {
} }
// Save typescript file // Save typescript file
err = ioutil.WriteFile(filepath.Join(packageDir, "index.d.ts"), buffer.Bytes(), 0755) err = ioutil.WriteFile(packageFile+".d.ts", buffer.Bytes(), 0755)
if err != nil { if err != nil {
return errors.Wrap(err, "Error writing backend package file") return errors.Wrap(err, "Error writing backend package file")
} }