mirror of
https://github.com/taigrr/wails.git
synced 2026-04-13 18:38:11 -07:00
Initial support for a serve port flag
This commit is contained in:
committed by
Travis McLane
parent
6da02e6b44
commit
ce4fa06828
File diff suppressed because one or more lines are too long
@@ -510,6 +510,8 @@ func InstallRuntime(caller string, projectDir string, projectOptions *ProjectOpt
|
||||
// InstallBridge installs the relevant bridge javascript library
|
||||
func InstallBridge(projectDir string, projectOptions *ProjectOptions) error {
|
||||
bridgeFileData := mewn.String("../runtime/assets/bridge.js")
|
||||
// Inject the custom serve port
|
||||
bridgeFileData = strings.ReplaceAll(bridgeFileData, "$SERVEPORT$", projectOptions.ServePort)
|
||||
bridgeFileTarget := filepath.Join(projectDir, projectOptions.FrontEnd.Dir, "node_modules", "@wailsapp", "runtime", "init.js")
|
||||
err := fs.CreateFile(bridgeFileTarget, []byte(bridgeFileData))
|
||||
return err
|
||||
@@ -561,6 +563,10 @@ func ldFlags(po *ProjectOptions, buildMode string) string {
|
||||
|
||||
ldflags += "-X github.com/wailsapp/wails.BuildMode=" + buildMode
|
||||
|
||||
// Inject port if we are using bridge mode
|
||||
if buildMode == BuildModeBridge {
|
||||
ldflags += " -X github.com/wailsapp/wails/lib/renderer/bridge.ServePort=" + po.ServePort
|
||||
}
|
||||
// If we wish to generate typescript
|
||||
if po.typescriptDefsFilename != "" {
|
||||
cwd, err := os.Getwd()
|
||||
|
||||
@@ -161,6 +161,7 @@ type ProjectOptions struct {
|
||||
CrossCompile bool
|
||||
Platform string
|
||||
Architecture string
|
||||
ServePort string
|
||||
}
|
||||
|
||||
// Defaults sets the default project template
|
||||
|
||||
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"github.com/leaanthony/spinner"
|
||||
"github.com/wailsapp/wails/cmd"
|
||||
@@ -10,6 +11,7 @@ import (
|
||||
func init() {
|
||||
|
||||
var forceRebuild = false
|
||||
var servePort = "34115"
|
||||
var verbose = false
|
||||
buildSpinner := spinner.NewSpinner()
|
||||
buildSpinner.SetSpinSpeed(50)
|
||||
@@ -18,7 +20,8 @@ func init() {
|
||||
initCmd := app.Command("serve", "Run your Wails project in bridge mode").
|
||||
LongDescription(commandDescription).
|
||||
BoolFlag("verbose", "Verbose output", &verbose).
|
||||
BoolFlag("f", "Force rebuild of application components", &forceRebuild)
|
||||
BoolFlag("f", "Force rebuild of application components", &forceRebuild).
|
||||
StringFlag("p", "Port to serve on", &servePort)
|
||||
|
||||
initCmd.Action(func() error {
|
||||
|
||||
@@ -34,7 +37,6 @@ func init() {
|
||||
|
||||
// Project options
|
||||
projectOptions := &cmd.ProjectOptions{}
|
||||
projectOptions.Verbose = verbose
|
||||
|
||||
// Check we are in project directory
|
||||
// Check project.json loads correctly
|
||||
@@ -44,6 +46,16 @@ func init() {
|
||||
return err
|
||||
}
|
||||
|
||||
// Set Verbose flag
|
||||
projectOptions.Verbose = verbose
|
||||
|
||||
// Check port
|
||||
port, err := strconv.Atoi(servePort)
|
||||
if err != nil || port <= 0 {
|
||||
return fmt.Errorf("invalid port value: %s", servePort)
|
||||
}
|
||||
projectOptions.ServePort = servePort
|
||||
|
||||
// Save project directory
|
||||
projectDir := fs.Cwd()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user