Compare commits

...

40 Commits

Author SHA1 Message Date
Lea Anthony 4ace627177 Merge branch 'master' into docs/rename_bleeding_edge 2022-11-13 21:02:13 +11:00
Lea Anthony 42f98e95e1 Rename bleeding edge -> local development 2022-11-13 21:00:34 +11:00
stffabi 0607777bec [darwin, inspector] Fix build (#2082) 2022-11-12 21:02:53 +11:00
stffabi f6e46ac1c3 [debug] Introducing debug options for debug builds to allow opening the inspector on startup (#2080) 2022-11-12 19:51:54 +11:00
Antonio Cheong e3e20bdb42 Reference NSIS as optional dependency and provide more info (#2070)
* Update system.go

* Update installation.mdx

* Update base docs
2022-11-12 18:36:57 +11:00
stffabi 6d0ae669f9 [dev] Fix noreload flag and only skip reloads triggered by assetdir (#2081) 2022-11-12 17:08:54 +11:00
Misite Bao 8c4c4a9df3 docs: sync documents (#2073)
* docs: fix document formatting

* docs: sync documents
2022-11-12 08:30:16 +11:00
github-actions[bot] fc312a5f04 chore: update sponsors.svg (#2077)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-11-11 23:46:30 +11:00
Lea Anthony d77b920ed5 Merge branch 'release/v2.2.0' 2022-11-09 22:33:01 +11:00
dependabot[bot] 4b57d55db2 Bump loader-utils from 1.4.0 to 1.4.1 in /runtime/js (#2068)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-09 22:29:37 +11:00
Lea Anthony 67e2a4bdeb Update docs and changelog 2022-11-09 22:26:22 +11:00
Lea Anthony f7c602c212 Update docs and changelog 2022-11-09 22:06:10 +11:00
Lea Anthony 0a7293d6b6 Update runtime 2022-11-09 21:22:32 +11:00
Misite Bao 4c840c07f2 docs: sync documents (#2063)
* docs: sync documents

* docs: fix document escape syntax
2022-11-09 06:25:18 +11:00
Sean Gosiaco 8ee493f48d Added quasar-js and quasar-ts templates (#2062) 2022-11-08 20:34:05 +11:00
github-actions[bot] 95116912a2 chore: update sponsors.svg (#2054)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-11-06 15:32:15 +11:00
github-actions[bot] 55f76a291b chore: update sponsors.svg (#2051)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-11-05 14:34:14 +11:00
github-actions[bot] 928bc75602 chore: update sponsors.svg (#2049)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-11-04 18:32:17 +11:00
Lea Anthony 18b2d315dd Modularize wails (#2009)
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-11-03 21:21:40 +11:00
stffabi 0a1c05df16 [windows] Fix frameless maximizing in multi monitor setup (#2043) 2022-11-03 19:14:00 +11:00
github-actions[bot] 3d62681450 chore: update sponsors.svg (#2022)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-10-30 19:27:08 +11:00
stffabi 638caf72f0 [assetserver] Introduce middleware and extract options (#2016)
* [assetserver] Add support for HTTP Middlewares

* [dev] Disable frontend DevServer if no Assets has been defined and inform user

* [dev] Consistent WebSocket behaviour in dev and prod mode for assets handler and middleware

In prod mode we can't support WebSockets so make sure the
assets handler and middleware never see WebSockets in dev mode.

* [templates] Migrate to new AssetServer option

* [docs] Add assetserver.Options to the reference
2022-10-29 23:15:15 +02:00
Lea Anthony 4cd89e1507 Add Angular docs 2022-10-29 19:35:41 +11:00
github-actions[bot] ac8ed94ae6 chore: update sponsors.svg (#2018)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-10-26 18:29:36 +11:00
Lea Anthony 52238f0fdd Update Mac troubleshooting guide 2022-10-26 08:23:00 +11:00
Lea Anthony 6a12d01624 Update v2.1.0 release notes 2022-10-26 08:19:46 +11:00
Misite Bao 00864fa14f docs: sync documents (#2013) 2022-10-26 08:02:36 +11:00
Lea Anthony 6d94cb4afe Add installation error docs 2022-10-25 06:06:53 +11:00
Joshua Hull 9f751d66e0 Add single listener deregistration (#1969)
* Add single listener deregistration

* Return function to stop listening, updates types

* Add missing returns, improve documentation

* Duplicate interface in go

* Define eventName

* Use lo instead for filtering

* Move logger to Interface. Add sample test.

* Add vite test for events

* Add js test workflow

* Add corresponding go method to remove all events

* Update documentation

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-23 09:03:37 +11:00
Binyamin Aron Green 4bff4af2b0 Add JSON schema for config file (#1864)
* Add JSON schema for config file

* Fix typo in wails config schema

* Update wails.tmpl.json

* Update wails.tmpl.json

* Add reference to schema in docs

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-22 21:07:37 +11:00
ParkourLiu dc65f77baf repair panic (#1999)
* repair panic

* Add empty struct field test

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-22 21:04:49 +11:00
Will Andrews c55f94a3dc [Docs] Add troubleshooting guide for unable to start service (#2001)
* add troubleshooting

* moved

* Added to the docs repo

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-22 21:04:18 +11:00
Lea Anthony b32069e4e4 Fix call in checkWebView2 2022-10-22 17:45:23 +11:00
github-actions[bot] 2fd704e47c chore: update sponsors.svg (#2003)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-10-22 00:40:09 +11:00
stffabi 0a20c8db96 [webview2loader] Add full featured go implementation (#1974)
* [webview2loader] Add full featured go implementation

The new go loader can be activated with the exp_gowebview2loader build tag.

* [build] Add information for using the new webvie2loader
2022-10-22 00:29:16 +11:00
Will Andrews 38f6b8787f [Docs] Add troubleshooting guide for unable to start service (#2000)
* add troubleshooting

* moved
2022-10-21 07:42:57 +11:00
Scott Opell 7fcb537f85 feature/turn off color terminal output of dev command (#1947)
* feat: Adds option to dev command to turn off color terminal output

* Update docs

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-20 21:11:20 +11:00
Misite Bao 8b07a0f582 chore: update workflows (#1977)
* chore: remove useless files

* chore: fix check path

* chore: add workflow to auto push to crowdin after website update

* fix: fix workflow config
2022-10-20 20:51:59 +11:00
Lea Anthony 3e73368540 Remove issue translator 2022-10-20 08:45:03 +11:00
github-actions[bot] 789a4e9bba chore: update sponsors.svg (#1991)
Co-authored-by: leaanthony <leaanthony@users.noreply.github.com>
2022-10-19 20:34:17 +11:00
426 changed files with 18044 additions and 1309 deletions
-36
View File
@@ -1,36 +0,0 @@
name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
build-v2:
name: v2 Build
if: github.repository == 'wailsapp/wails'
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: "master"
submodules: true
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ">=1.18.0"
- name: Build Wails CLI
run: |
cd ./v2/cmd/wails
go install
wails -help
+2 -1
View File
@@ -16,7 +16,8 @@ jobs:
id: verify-changed-files
with:
files: |
v2/website/*.mdx
website/**/*.mdx
website/**/*.md
- name: Run step only when files change.
if: steps.verify-changed-files.outputs.files_changed != 'true'
-16
View File
@@ -1,16 +0,0 @@
name: 'issue-translator'
on:
issue_comment:
types: [ created ]
issues:
types: [ opened ]
jobs:
build:
runs-on: ubuntu-latest
if: github.repository == 'wailsapp/wails'
steps:
- uses: tomsun28/issues-translate-action@v2.6
with:
IS_MODIFY_TITLE: false
CUSTOM_BOT_NOTE: The issue body's language is not English, translating it automatically...
+38
View File
@@ -0,0 +1,38 @@
name: Push files to Crowdin
on:
push:
branches: [master]
workflow_dispatch:
jobs:
docs:
name: Push files to Crowdin
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v11.1
id: verify-changed-files
with:
files: |
website/**/*.mdx
website/**/*.md
website/**/*.json
- name: Set node
if: steps.verify-changed-files.outputs.files_changed != 'true'
uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Push files
env:
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
run: |
cd website
corepack enable
pnpm install
pnpm run crowdin push -b master
+32
View File
@@ -0,0 +1,32 @@
name: Test JS
on:
push:
branches: [ release/*, master ]
workflow_dispatch:
jobs:
test:
name: Run JS Tests
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
working-directory: v2/internal/frontend/runtime
- name: Run tests
run: npm test
working-directory: v2/internal/frontend/runtime
+3 -3
View File
@@ -4223,9 +4223,9 @@
"dev": true
},
"loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
"integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.1.tgz",
"integrity": "sha512-1Qo97Y2oKaU+Ro2xnDMR26g1BwMT29jNbem1EvcujW2jqt+j5COXyscjM7bLQkM9HaxI7pkWeW7gnI072yMI9Q==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
+29 -27
View File
@@ -77,9 +77,9 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
outputFilename := ""
command.StringFlag("o", "Output filename", &outputFilename)
// Clean build directory
cleanBuildDirectory := false
command.BoolFlag("clean", "Clean the build directory before building", &cleanBuildDirectory)
// Clean bin directory
cleanBinDirectory := false
command.BoolFlag("clean", "Clean the bin directory before building", &cleanBinDirectory)
webview2 := "download"
command.StringFlag("webview2", "WebView2 installer strategy: download,embed,browser,error.", &webview2)
@@ -190,28 +190,29 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
// Create BuildOptions
buildOptions := &build.Options{
Logger: logger,
OutputType: outputType,
OutputFile: outputFilename,
CleanBuildDirectory: cleanBuildDirectory,
Mode: mode,
Pack: !noPackage,
LDFlags: ldflags,
Compiler: compilerCommand,
SkipModTidy: skipModTidy,
Verbosity: verbosity,
ForceBuild: forceBuild,
IgnoreFrontend: skipFrontend,
Compress: compress,
CompressFlags: compressFlags,
UserTags: userTags,
WebView2Strategy: wv2rtstrategy,
TrimPath: trimpath,
RaceDetector: raceDetector,
WindowsConsole: windowsConsole,
Obfuscated: obfuscated,
GarbleArgs: garbleargs,
SkipBindings: skipBindings,
Logger: logger,
OutputType: outputType,
OutputFile: outputFilename,
CleanBinDirectory: cleanBinDirectory,
Mode: mode,
Pack: !noPackage,
LDFlags: ldflags,
Compiler: compilerCommand,
SkipModTidy: skipModTidy,
Verbosity: verbosity,
ForceBuild: forceBuild,
IgnoreFrontend: skipFrontend,
Compress: compress,
CompressFlags: compressFlags,
UserTags: userTags,
WebView2Strategy: wv2rtstrategy,
TrimPath: trimpath,
RaceDetector: raceDetector,
WindowsConsole: windowsConsole,
Obfuscated: obfuscated,
GarbleArgs: garbleargs,
SkipBindings: skipBindings,
ProjectData: projectOptions,
}
// Start a new tabwriter
@@ -225,6 +226,7 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
_, _ = fmt.Fprintf(w, "Compiler: \t%s\n", compilerPath)
_, _ = fmt.Fprintf(w, "Skip Bindings: \t%t\n", skipBindings)
_, _ = fmt.Fprintf(w, "Build Mode: \t%s\n", modeString)
_, _ = fmt.Fprintf(w, "Frontend Directory: \t%s\n", projectOptions.GetFrontendDir())
_, _ = fmt.Fprintf(w, "Obfuscated: \t%t\n", buildOptions.Obfuscated)
if buildOptions.Obfuscated {
_, _ = fmt.Fprintf(w, "Garble Args: \t%s\n", buildOptions.GarbleArgs)
@@ -232,7 +234,7 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
_, _ = fmt.Fprintf(w, "Skip Frontend: \t%t\n", skipFrontend)
_, _ = fmt.Fprintf(w, "Compress: \t%t\n", buildOptions.Compress)
_, _ = fmt.Fprintf(w, "Package: \t%t\n", buildOptions.Pack)
_, _ = fmt.Fprintf(w, "Clean Build Dir: \t%t\n", buildOptions.CleanBuildDirectory)
_, _ = fmt.Fprintf(w, "Clean Bin Dir: \t%t\n", buildOptions.CleanBinDirectory)
_, _ = fmt.Fprintf(w, "LDFlags: \t\"%s\"\n", buildOptions.LDFlags)
_, _ = fmt.Fprintf(w, "Tags: \t[%s]\n", strings.Join(buildOptions.UserTags, ","))
_, _ = fmt.Fprintf(w, "Race Detector: \t%t\n", buildOptions.RaceDetector)
@@ -358,7 +360,7 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
}
buildOptions.IgnoreFrontend = true
buildOptions.CleanBuildDirectory = false
buildOptions.CleanBinDirectory = false
// Output stats
buildOptions.Logger.Println(fmt.Sprintf("Built '%s' in %s.\n", compiledBinary, time.Since(start).Round(time.Millisecond).String()))
@@ -1,13 +1,13 @@
package build
import (
"os"
"path/filepath"
"fmt"
"github.com/wailsapp/wails/v2/cmd/wails/internal"
"github.com/wailsapp/wails/v2/internal/fs"
"github.com/wailsapp/wails/v2/internal/gomod"
"github.com/wailsapp/wails/v2/internal/goversion"
"github.com/wailsapp/wails/v2/pkg/clilogger"
"os"
)
func SyncGoMod(logger *clilogger.CLILogger, updateWailsVersion bool) error {
@@ -15,7 +15,10 @@ func SyncGoMod(logger *clilogger.CLILogger, updateWailsVersion bool) error {
if err != nil {
return err
}
gomodFilename := filepath.Join(cwd, "go.mod")
gomodFilename := fs.FindFileInParents(cwd, "go.mod")
if gomodFilename == "" {
return fmt.Errorf("no go.mod file found")
}
gomodData, err := os.ReadFile(gomodFilename)
if err != nil {
return err
+19 -15
View File
@@ -93,6 +93,7 @@ type devFlags struct {
frontendDevServerURL string
skipFrontend bool
noColour bool
}
// AddSubcommand adds the `dev` command for the Wails application
@@ -108,6 +109,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
command.StringFlag("reloaddirs", "Additional directories to trigger reloads (comma separated)", &flags.reloadDirs)
command.BoolFlag("browser", "Open application in browser", &flags.openBrowser)
command.BoolFlag("noreload", "Disable reload on asset change", &flags.noReload)
command.BoolFlag("nocolour", "Turn off colour cli output", &flags.noColour)
command.BoolFlag("skipbindings", "Skip bindings generation", &flags.skipBindings)
command.StringFlag("wailsjsdir", "Directory to generate the Wails JS modules", &flags.wailsjsdir)
command.StringFlag("tags", "Build tags to pass to Go compiler. Must be quoted. Space or comma (but not both) separated", &flags.tags)
@@ -123,6 +125,10 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
command.BoolFlag("s", "Skips building the frontend", &flags.skipFrontend)
command.Action(func() error {
if flags.noColour {
colour.ColourEnabled = false
}
// Create logger
logger := clilogger.New(w)
app.PrintBanner()
@@ -160,6 +166,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
}
buildOptions := generateBuildOptions(flags)
buildOptions.ProjectData = projectConfig
buildOptions.SkipBindings = flags.skipBindings
buildOptions.Logger = logger
@@ -208,7 +215,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
// frontend:dev:watcher command.
frontendDevAutoDiscovery := projectConfig.IsFrontendDevServerURLAutoDiscovery()
if command := projectConfig.DevWatcherCommand; command != "" {
closer, devServerURL, err := runFrontendDevWatcherCommand(cwd, command, frontendDevAutoDiscovery)
closer, devServerURL, err := runFrontendDevWatcherCommand(projectConfig.GetFrontendDir(), command, frontendDevAutoDiscovery)
if err != nil {
return err
}
@@ -352,8 +359,8 @@ func generateBuildOptions(flags devFlags) *build.Options {
// loadAndMergeProjectConfig reconciles flags passed to the CLI with project config settings and updates
// the project config if necessary
func loadAndMergeProjectConfig(cwd string, flags *devFlags) (*project.Project, error) {
projectConfig, err := project.Load(cwd)
func loadAndMergeProjectConfig(projectFileDirectory string, flags *devFlags) (*project.Project, error) {
projectConfig, err := project.Load(projectFileDirectory)
if err != nil {
return nil, err
}
@@ -390,11 +397,11 @@ func loadAndMergeProjectConfig(cwd string, flags *devFlags) (*project.Project, e
}
if flags.wailsjsdir == "" && projectConfig.WailsJSDir != "" {
flags.wailsjsdir = projectConfig.WailsJSDir
flags.wailsjsdir = projectConfig.GetWailsJSDir()
}
if flags.wailsjsdir == "" {
flags.wailsjsdir = "./frontend"
flags.wailsjsdir = projectConfig.GetFrontendDir()
}
if flags.wailsjsdir != projectConfig.WailsJSDir {
@@ -427,15 +434,14 @@ func loadAndMergeProjectConfig(cwd string, flags *devFlags) (*project.Project, e
}
// runFrontendDevWatcherCommand will run the `frontend:dev:watcher` command if it was given, ex- `npm run dev`
func runFrontendDevWatcherCommand(cwd string, devCommand string, discoverViteServerURL bool) (func(), string, error) {
func runFrontendDevWatcherCommand(frontendDirectory string, devCommand string, discoverViteServerURL bool) (func(), string, error) {
ctx, cancel := context.WithCancel(context.Background())
scanner := NewStdoutScanner()
dir := filepath.Join(cwd, "frontend")
cmdSlice := strings.Split(devCommand, " ")
cmd := exec.CommandContext(ctx, cmdSlice[0], cmdSlice[1:]...)
cmd.Stderr = os.Stderr
cmd.Stdout = scanner
cmd.Dir = dir
cmd.Dir = frontendDirectory
setParentGID(cmd)
if err := cmd.Start(); err != nil {
@@ -566,6 +572,9 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
assetDir := ""
changedPaths := map[string]struct{}{}
// If we are using an external dev server, the reloading of the frontend part can be skipped or if the user requested it
skipAssetsReload := (flags.frontendDevServerURL != "" || flags.noReload)
assetDirURL := joinPath(devServerURL, "/wails/assetdir")
reloadURL := joinPath(devServerURL, "/wails/reload")
for quit == false {
@@ -656,11 +665,7 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
}
}
if flags.frontendDevServerURL != "" {
// If we are using an external dev server, the reloading of the frontend part can be skipped
continue
}
if len(changedPaths) != 0 {
if !skipAssetsReload && len(changedPaths) != 0 {
if assetDir == "" {
resp, err := http.Get(assetDirURL)
if err != nil {
@@ -686,8 +691,6 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
} else if len(dirsThatTriggerAReload) == 0 {
LogRed("Reloading couldn't be triggered: Please specify -assetdir or -reloaddirs")
}
changedPaths = map[string]struct{}{}
}
if reload {
reload = false
@@ -696,6 +699,7 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
LogRed("Error during refresh: %s", err.Error())
}
}
changedPaths = map[string]struct{}{}
case <-quitChannel:
LogGreen("\nCaught quit")
quit = true
@@ -7,6 +7,7 @@ import (
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/logger"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
"github.com/wailsapp/wails/v2/pkg/options/mac"
"github.com/wailsapp/wails/v2/pkg/options/windows"
)
@@ -36,7 +37,9 @@ func main() {
StartHidden: false,
HideWindowOnClose: false,
BackgroundColour: &options.RGBA{R: 255, G: 255, B: 255, A: 255},
Assets: assets,
AssetServer: &assetserver.Options{
Assets: assets,
},
Menu: nil,
Logger: nil,
LogLevel: logger.DEBUG,
@@ -1,4 +1,5 @@
{
"$schema": "https://wails.io/schemas/config.v2.json",
"name": "{{.ProjectName}}",
"outputfilename": "{{.BinaryName}}",
"frontend:install": "npm install",
@@ -9,6 +9,7 @@ import (
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/logger"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
"github.com/wailsapp/wails/v2/pkg/options/windows"
)
@@ -37,7 +38,9 @@ func main() {
StartHidden: false,
HideWindowOnClose: false,
BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
Assets: assets,
AssetServer: &assetserver.Options{
Assets: assets,
},
Menu: nil,
Logger: nil,
LogLevel: logger.DEBUG,
@@ -5,6 +5,7 @@ import (
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
)
//go:embed all:frontend/dist
@@ -16,10 +17,12 @@ func main() {
// Create application with options
err := wails.Run(&options.App{
Title: "{{.ProjectName}}",
Width: 1024,
Height: 768,
Assets: assets,
Title: "{{.ProjectName}}",
Width: 1024,
Height: 768,
AssetServer: &assetserver.Options{
Assets: assets,
},
BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
OnStartup: app.startup,
Bind: []interface{}{
+1 -1
View File
@@ -1 +1 @@
v2.1.0
v2.2.0
+3
View File
@@ -0,0 +1,3 @@
build/bin
node_modules
myfrontend/wailsjs
+4
View File
@@ -0,0 +1,4 @@
# README
This is an example project that shows how to use a custom layout.
Run `wails build` in the `cmd/customlayout` directory to build the project.
+35
View File
@@ -0,0 +1,35 @@
# Build Directory
The build directory is used to house all the build files and assets for your application.
The structure is:
* bin - Output directory
* darwin - macOS specific files
* windows - Windows specific files
## Mac
The `darwin` directory holds files specific to Mac builds.
These may be customised and used as part of the build. To return these files to the default state, simply delete them
and
build with `wails build`.
The directory contains the following files:
- `Info.plist` - the main plist file used for Mac builds. It is used when building using `wails build`.
- `Info.dev.plist` - same as the main plist file but used when building using `wails dev`.
## Windows
The `windows` directory contains the manifest and rc files used when building with `wails build`.
These may be customised for your application. To return these files to the default state, simply delete them and
build with `wails build`.
- `icon.ico` - The icon used for the application. This is used when building using `wails build`. If you wish to
use a different icon, simply replace this file with your own. If it is missing, a new `icon.ico` file
will be created using the `appicon.png` file in the build directory.
- `installer/*` - The files used to create the Windows installer. These are used when building using `wails build`.
- `info.json` - Application details used for Windows builds. The data here will be used by the Windows installer,
as well as the application itself (right click the exe -> properties -> details)
- `wails.exe.manifest` - The main application manifest file.
Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

@@ -0,0 +1,32 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleName</key>
<string>{{.Info.ProductName}}</string>
<key>CFBundleExecutable</key>
<string>{{.Name}}</string>
<key>CFBundleIdentifier</key>
<string>com.wails.{{.Name}}</string>
<key>CFBundleVersion</key>
<string>{{.Info.ProductVersion}}</string>
<key>CFBundleGetInfoString</key>
<string>{{.Info.Comments}}</string>
<key>CFBundleShortVersionString</key>
<string>{{.Info.ProductVersion}}</string>
<key>CFBundleIconFile</key>
<string>iconfile</string>
<key>LSMinimumSystemVersion</key>
<string>10.13.0</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
<key>NSHumanReadableCopyright</key>
<string>{{.Info.Copyright}}</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
</dict>
</plist>
@@ -0,0 +1,27 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleName</key>
<string>{{.Info.ProductName}}</string>
<key>CFBundleExecutable</key>
<string>{{.Name}}</string>
<key>CFBundleIdentifier</key>
<string>com.wails.{{.Name}}</string>
<key>CFBundleVersion</key>
<string>{{.Info.ProductVersion}}</string>
<key>CFBundleGetInfoString</key>
<string>{{.Info.Comments}}</string>
<key>CFBundleShortVersionString</key>
<string>{{.Info.ProductVersion}}</string>
<key>CFBundleIconFile</key>
<string>iconfile</string>
<key>LSMinimumSystemVersion</key>
<string>10.13.0</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
<key>NSHumanReadableCopyright</key>
<string>{{.Info.Copyright}}</string>
</dict>
</plist>

Some files were not shown because too many files have changed in this diff Show More