Compare commits

..

62 Commits

Author SHA1 Message Date
Lea Anthony ce28215300 Update blog 2022-09-22 10:30:11 +10:00
Lea Anthony 5b4129ba07 Update changelog, blog post, workflow 2022-09-22 08:27:55 +10:00
Lea Anthony be0f358b4a update wails init 2022-09-22 08:07:50 +10:00
Lea Anthony 10cee781a7 Add -ci flag to wails init 2022-09-22 08:00:41 +10:00
Lea Anthony aebd50db0a Update release workflow 2022-09-22 07:00:56 +10:00
Lea Anthony e9e22434f7 Update release workflow 2022-09-22 06:40:44 +10:00
Lea Anthony 6748e2f983 Update release workflow 2022-09-22 06:32:53 +10:00
Lea Anthony 4cfe7124b2 Update release workflow 2022-09-22 06:20:54 +10:00
Lea Anthony 157619d942 Update release workflow 2022-09-22 05:59:26 +10:00
Lea Anthony 5003c8d7a5 Update workflow 2022-09-22 05:52:18 +10:00
Misite Bao 118fd95646 chore: update stale lable 2022-09-22 00:04:45 +08:00
Misite Bao 5ce650d08b Update README 2022-09-22 00:04:22 +08:00
Misite Bao b92953aa96 feat(website): remove redundant files and sync documents 2022-09-21 23:59:34 +08:00
Lea Anthony 8e4ce3a2bb v2.0.0 docs 2022-09-21 20:37:15 +10:00
Lea Anthony 0bb8147f5c Revert "feat: remove documentation for "beta" and "rc" versions"
This reverts commit f587457e7e.
2022-09-21 20:30:21 +10:00
Lea Anthony 76338d4e50 Update contributors. Remove ko/ru lang for now. 2022-09-21 12:16:05 +10:00
Lea Anthony ac5cd0dd90 crwodin -> crowdin 2022-09-21 12:03:52 +10:00
Lea Anthony 16119187be chore: update sponsors.svg 2022-09-21 01:28:37 +00:00
Lea Anthony 84ef7e1e82 Update sponsor image workflow 2022-09-21 11:27:59 +10:00
Lea Anthony 98bc3d5bb7 Update sponsor image workflow 2022-09-21 11:21:14 +10:00
Lea Anthony 1918401240 Update sponsor image workflow 2022-09-21 11:16:31 +10:00
Lea Anthony 7bb74d7ffe Update sponsor image workflow 2022-09-21 11:15:55 +10:00
Lea Anthony ded9b1fa28 Update sponsor image workflow 2022-09-21 11:07:14 +10:00
Lea Anthony 74c63799d1 Update sponsor image workflow 2022-09-21 10:57:22 +10:00
Lea Anthony 16e80913bf Update architecture diagram - Thanks @bketelsen 2022-09-21 10:54:44 +10:00
Misite Bao 1022d3cd61 chore: migrate to script 2022-09-21 02:06:26 +08:00
Misite Bao 2238d6b206 fix(website): fix broken links 2022-09-21 01:27:35 +08:00
Misite Bao 2dd2deadc1 feat(website): update Chinese and Japanese and temporarily remove other language translations
Reason: The translation progress of other languages has not yet met the requirements
2022-09-21 00:39:42 +08:00
Misite Bao 11d54cc875 feat(website): update en docs 2022-09-20 23:41:42 +08:00
Misite Bao f587457e7e feat: remove documentation for "beta" and "rc" versions 2022-09-20 23:06:51 +08:00
Lea Anthony 3dee8a931a update sponsorkit generation 2022-09-20 21:59:28 +10:00
Lea Anthony d3b8a7e4af Add package.json 2022-09-20 21:57:58 +10:00
Lea Anthony db70a0de58 Update scheduler workflow 2022-09-20 21:55:42 +10:00
Lea Anthony 15759b38bf Add sponsor label workflow. Generate sponsor svg. 2022-09-20 21:52:20 +10:00
Lea Anthony 449764943f Slight text change 2022-09-20 19:52:00 +10:00
Lea Anthony 7254c575d6 More CSS changes 2022-09-20 18:20:53 +10:00
Lea Anthony 7a59bdd09b More CSS changes 2022-09-20 17:41:11 +10:00
Lea Anthony ba3e697a00 Better mobile experience 2 2022-09-20 17:25:55 +10:00
Lea Anthony b370e0e7f0 Better mobile experience 2022-09-20 17:05:23 +10:00
Lea Anthony 6805b5a3e9 Fix LHS blog navigation. Updated blog. Add missing garble flags in CLI doc 2022-09-20 10:29:27 +10:00
Lea Anthony 01ea9496e7 Fix RHS page navigation. Add OnSuspend and OnResume to options example. 2022-09-20 09:57:24 +10:00
Lea Anthony 2661eca2cc Rename TranslucencyType -> BackdropType. Rename BackdropType consts. Add documentation for this option. 2022-09-20 09:49:13 +10:00
Lea Anthony 23593b3c4d Fix bullet-points of community guide 2022-09-20 07:48:02 +10:00
Lea Anthony e323b04bb2 Make frontpage container rules more specific 2022-09-20 07:44:04 +10:00
Lea Anthony 32af38875f Remove "Built with docusaurus" text 2022-09-20 07:36:25 +10:00
Lea Anthony c4964d6f46 Fix features spacing + blockqoute spacing 2022-09-20 07:32:48 +10:00
Lea Anthony 2a3cd47d0c Fix 2 column layout, quote and footer 2022-09-20 07:12:48 +10:00
Lea Anthony 662a406e85 2 column 2022-09-19 20:37:45 +08:00
Misite Bao b2a79e656f feat(website): add Chinese translation 2022-09-19 20:35:29 +08:00
Misite Bao 07a3973f9a feat(website): optimize and improve documentation 2022-09-19 20:02:30 +08:00
Lea Anthony 840d3f1e85 Set maximum carousel width 2022-09-19 19:03:31 +10:00
Lea Anthony 2de06a0684 Tidy CSS 2022-09-19 16:49:22 +08:00
Lea Anthony 08ed902b7a Improved CSS 2022-09-19 16:49:22 +08:00
Lea Anthony 3c17905155 Fix slider images. Resize varly image and limit max width. Remove announcement. 2022-09-19 16:49:22 +08:00
Lea Anthony 7bd1355663 Add quote 2022-09-19 16:49:21 +08:00
Misite Bao a17aeee712 feat: add translation 2022-09-19 16:49:21 +08:00
Misite Bao 428f839c84 feat: move blog images to a separate directory 2022-09-19 16:49:21 +08:00
Lea Anthony 7ab969195c Updated blog 2022-09-19 16:49:20 +08:00
Lea Anthony 1a6f308494 Updated README.md + copy to v2 directory 2022-09-19 16:49:19 +08:00
Lea Anthony 21b4f643dd Updated README.md + copy to v2 directory 2022-09-19 16:49:19 +08:00
Lea Anthony a07dbb2368 Updated README.md 2022-09-19 16:49:18 +08:00
Lea Anthony c4f9a43ff6 Blog post 2022-09-19 16:49:17 +08:00
736 changed files with 26149 additions and 40782 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
name: Bug Report
description: Create a report to help us improve
# title: ""
labels: ["Bug"]
labels: ["bug"]
body:
- type: markdown
+1 -1
View File
@@ -1,7 +1,7 @@
name: Documentation
description: Report an issue related to documentation.
# title: ""
labels: ["Documentation"]
labels: ["documentation"]
body:
- type: markdown
+1 -1
View File
@@ -1,7 +1,7 @@
name: Feature request
description: Suggest an idea for this project
# title: ""
labels: ["Enhancement"]
labels: ["enhancement"]
body:
- type: markdown
+36
View File
@@ -0,0 +1,36 @@
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@v2
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
-25
View File
@@ -1,25 +0,0 @@
name: Check Docs
on:
pull_request:
branches: [ 'feature/*' ]
jobs:
docs:
name: Website Updated
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v11.1
id: verify-changed-files
with:
files: |
website/**/*.mdx
website/**/*.md
- name: Run step only when files change.
if: steps.verify-changed-files.outputs.files_changed != 'true'
run: |
echo "Feature branch does not contain any changes to the website."
+9 -10
View File
@@ -4,13 +4,14 @@ on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches: [ master ]
jobs:
update-sponsors:
runs-on: ubuntu-latest
if: github.repository == 'wailsapp/wails'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- name: Set node
uses: actions/setup-node@v2
@@ -23,12 +24,10 @@ jobs:
SPONSORKIT_GITHUB_TOKEN: ${{ secrets.SPONSORS_TOKEN }}
SPONSORKIT_GITHUB_LOGIN: wailsapp
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
- name: Commit
uses: EndBug/add-and-commit@v4
with:
commit-message: "chore: update sponsors.svg"
add-paths: "website/static/img/sponsors.svg"
title: Update Sponsor Image
body: Generated new image
branch: update-sponsors
delete-branch: true
message: "chore: update sponsors.svg"
add: "website/static/img/sponsors.svg"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-1
View File
@@ -7,7 +7,6 @@ on:
jobs:
build:
name: is-sponsor-label
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
steps:
- uses: JasonEtco/is-sponsor-label-action@v1
-43
View File
@@ -1,43 +0,0 @@
name: PR Checks
on:
pull_request:
pull_request_review:
types: [ submitted ]
jobs:
check_branch_name:
runs-on: ubuntu-latest
if: github.repository == 'wailsapp/wails'
name: Check branch name
steps:
- run: |
if ! [[ "$(echo ${GITHUB_HEAD_REF} | cut -d "/" -f1)" =~ (feature|bugfix|release|chore) ]]; then
echo "PRs are only accepted for branches starting with: feature/, bugfix/, chore/ or release/"
exit 1
fi
shell: bash
test:
name: Run Go Tests
runs-on: ${{ matrix.os }}
if: github.event.review.state == 'approved'
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
go-version: [ 1.18, 1.19 ]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config
- name: Set up Go 1.18
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
- name: Run tests
run: go test -v ./...
-17
View File
@@ -1,17 +0,0 @@
name: Update Project
on:
project_card:
types: [ moved ]
jobs:
projectcardautolabel_job:
runs-on: ubuntu-latest
if: github.repository == 'wailsapp/wails'
steps:
- name: Run ProjectCard AutoLabel
id: runprojectcardautolabel
uses: Matticusau/projectcard-autolabel@v1.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
autolabel-config: '[{"column": "TODO", "add_labels":["TODO"], "remove_labels":["In Progress", "Ready For Testing"]},{"column":"In progress", "add_labels":["In Progress"], "remove_labels":["TODO", "Ready For Testing"]},{"column":"In review", "add_labels":["Ready For Testing"], "remove_labels":["TODO", "In Progress"]}, {"column":"Done", "add_labels":["Done"], "remove_labels":["TODO", "In Progress", "Ready For Testing"]}]'
-38
View File
@@ -1,38 +0,0 @@
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
@@ -1,14 +1,15 @@
name: Build + Test
name: Release
on:
push:
branches: [ release/*, master ]
branches: [ release/* ]
pull_request:
branches: [ release/* ]
workflow_dispatch:
jobs:
test:
name: Run Go Tests
if: github.repository == 'wailsapp/wails'
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -17,7 +18,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
@@ -34,6 +35,7 @@ jobs:
test_templates:
name: Test Templates
needs: test
if: github.repository == 'wailsapp/wails'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
@@ -43,7 +45,7 @@ jobs:
go-version: [ 1.18, 1.19 ]
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v3
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
name: Rebuild the runtime
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14.17.6
-32
View File
@@ -1,32 +0,0 @@
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
+1 -1
View File
@@ -115,7 +115,7 @@ This project is supported by these kind people / companies:
## Stargazers over time
[![Star History Chart](https://api.star-history.com/svg?repos=wailsapp/wails&type=Date)](https://star-history.com/#wailsapp/wails&Date)
[![Stargazers over time](https://starchart.cc/wailsapp/wails.svg)](https://starchart.cc/wailsapp/wails)
## Contributors
+1 -1
View File
@@ -111,7 +111,7 @@
## 星星增长趋势
[![星星增长趋势](https://api.star-history.com/svg?repos=wailsapp/wails&type=Date)](https://star-history.com/#wailsapp/wails&Date)
[![星星增长趋势](https://starchart.cc/wailsapp/wails.svg)](https://starchart.cc/wailsapp/wails)
## 贡献者
+27 -29
View File
@@ -77,9 +77,9 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
outputFilename := ""
command.StringFlag("o", "Output filename", &outputFilename)
// Clean bin directory
cleanBinDirectory := false
command.BoolFlag("clean", "Clean the bin directory before building", &cleanBinDirectory)
// Clean build directory
cleanBuildDirectory := false
command.BoolFlag("clean", "Clean the build directory before building", &cleanBuildDirectory)
webview2 := "download"
command.StringFlag("webview2", "WebView2 installer strategy: download,embed,browser,error.", &webview2)
@@ -190,29 +190,28 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
// Create BuildOptions
buildOptions := &build.Options{
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,
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,
}
// Start a new tabwriter
@@ -226,7 +225,6 @@ 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)
@@ -234,7 +232,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 Bin Dir: \t%t\n", buildOptions.CleanBinDirectory)
_, _ = fmt.Fprintf(w, "Clean Build Dir: \t%t\n", buildOptions.CleanBuildDirectory)
_, _ = 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)
@@ -360,7 +358,7 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
}
buildOptions.IgnoreFrontend = true
buildOptions.CleanBinDirectory = false
buildOptions.CleanBuildDirectory = 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 (
"fmt"
"os"
"path/filepath"
"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,10 +15,7 @@ func SyncGoMod(logger *clilogger.CLILogger, updateWailsVersion bool) error {
if err != nil {
return err
}
gomodFilename := fs.FindFileInParents(cwd, "go.mod")
if gomodFilename == "" {
return fmt.Errorf("no go.mod file found")
}
gomodFilename := filepath.Join(cwd, "go.mod")
gomodData, err := os.ReadFile(gomodFilename)
if err != nil {
return err
+21 -48
View File
@@ -93,7 +93,6 @@ type devFlags struct {
frontendDevServerURL string
skipFrontend bool
noColour bool
}
// AddSubcommand adds the `dev` command for the Wails application
@@ -109,7 +108,6 @@ 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)
@@ -125,10 +123,6 @@ 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()
@@ -166,8 +160,6 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
}
buildOptions := generateBuildOptions(flags)
buildOptions.ProjectData = projectConfig
buildOptions.SkipBindings = flags.skipBindings
buildOptions.Logger = logger
userTags, err := buildtags.Parse(flags.tags)
@@ -177,12 +169,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
buildOptions.UserTags = userTags
err = build.CreateEmbedDirectories(cwd, buildOptions)
if err != nil {
return err
}
if !buildOptions.SkipBindings {
if !flags.skipBindings {
if flags.verbosity == build.VERBOSE {
LogGreen("Generating Bindings...")
}
@@ -205,6 +192,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
// Build the frontend if requested, but ignore building the application itself.
ignoreFrontend := buildOptions.IgnoreFrontend
if !ignoreFrontend {
logger.Println("Building frontend for development...")
buildOptions.IgnoreApplication = true
if _, err := build.Build(buildOptions); err != nil {
return err
@@ -215,7 +203,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(projectConfig.GetFrontendDir(), command, frontendDevAutoDiscovery)
closer, devServerURL, err := runFrontendDevWatcherCommand(cwd, command, frontendDevAutoDiscovery)
if err != nil {
return err
}
@@ -359,8 +347,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(projectFileDirectory string, flags *devFlags) (*project.Project, error) {
projectConfig, err := project.Load(projectFileDirectory)
func loadAndMergeProjectConfig(cwd string, flags *devFlags) (*project.Project, error) {
projectConfig, err := project.Load(cwd)
if err != nil {
return nil, err
}
@@ -397,11 +385,11 @@ func loadAndMergeProjectConfig(projectFileDirectory string, flags *devFlags) (*p
}
if flags.wailsjsdir == "" && projectConfig.WailsJSDir != "" {
flags.wailsjsdir = projectConfig.GetWailsJSDir()
flags.wailsjsdir = projectConfig.WailsJSDir
}
if flags.wailsjsdir == "" {
flags.wailsjsdir = projectConfig.GetFrontendDir()
flags.wailsjsdir = "./frontend"
}
if flags.wailsjsdir != projectConfig.WailsJSDir {
@@ -434,14 +422,15 @@ func loadAndMergeProjectConfig(projectFileDirectory string, flags *devFlags) (*p
}
// runFrontendDevWatcherCommand will run the `frontend:dev:watcher` command if it was given, ex- `npm run dev`
func runFrontendDevWatcherCommand(frontendDirectory string, devCommand string, discoverViteServerURL bool) (func(), string, error) {
func runFrontendDevWatcherCommand(cwd 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 = frontendDirectory
cmd.Dir = dir
setParentGID(cmd)
if err := cmd.Start(); err != nil {
@@ -584,19 +573,7 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
case err := <-watcher.Errors:
LogDarkYellow(err.Error())
case item := <-watcher.Events:
isEligibleFile := func(fileName string) bool {
// Iterate all file patterns
ext := filepath.Ext(fileName)
if ext != "" {
ext = ext[1:]
if _, exists := extensionsThatTriggerARebuild[ext]; exists {
return true
}
}
return false
}
// Handle write operations
// Check for file writes
if item.Op&fsnotify.Write == fsnotify.Write {
// Ignore directories
itemName := item.Name
@@ -604,10 +581,15 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
continue
}
if isEligibleFile(itemName) {
rebuild = true
timer.Reset(interval)
continue
// Iterate all file patterns
ext := filepath.Ext(itemName)
if ext != "" {
ext = ext[1:]
if _, exists := extensionsThatTriggerARebuild[ext]; exists {
rebuild = true
timer.Reset(interval)
continue
}
}
for _, reloadDir := range dirsThatTriggerAReload {
@@ -623,8 +605,7 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
timer.Reset(interval)
}
// Handle new fs entries that are created
// Check for new directories
if item.Op&fsnotify.Create == fsnotify.Create {
// If this is a folder, add it to our watch list
if fs.DirExists(item.Name) {
@@ -636,14 +617,6 @@ func doWatcherLoop(buildOptions *build.Options, debugBinaryProcess *process.Proc
}
LogGreen("Added new directory to watcher: %s", item.Name)
}
} else if isEligibleFile(item.Name) {
// Handle creation of new file.
// Note: On some platforms an update to a file is represented as
// REMOVE -> CREATE instead of WRITE, so this is not only new files
// but also updates to existing files
rebuild = true
timer.Reset(interval)
continue
}
}
case <-timer.C:
@@ -7,7 +7,6 @@ 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"
)
@@ -37,9 +36,7 @@ func main() {
StartHidden: false,
HideWindowOnClose: false,
BackgroundColour: &options.RGBA{R: 255, G: 255, B: 255, A: 255},
AssetServer: &assetserver.Options{
Assets: assets,
},
Assets: assets,
Menu: nil,
Logger: nil,
LogLevel: logger.DEBUG,
@@ -58,7 +55,6 @@ func main() {
DisableWindowIcon: false,
// DisableFramelessWindowDecorations: false,
WebviewUserDataPath: "",
ZoomFactor: 1.0,
},
// Mac platform specific options
Mac: &mac.Options{
@@ -1,5 +1,4 @@
{
"$schema": "https://wails.io/schemas/config.v2.json",
"name": "{{.ProjectName}}",
"outputfilename": "{{.BinaryName}}",
"frontend:install": "npm install",

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