mirror of
https://github.com/wavetermdev/wails.git
synced 2026-04-22 15:26:15 -07:00
Compare commits
21 Commits
v1.0.0
...
v1.0.2-pre5
| Author | SHA1 | Date | |
|---|---|---|---|
| 0bca7b57e0 | |||
| 332e9d66ea | |||
| 93884a5aeb | |||
| c1fbca834b | |||
| 60fe2c0912 | |||
| 2e1e8b1513 | |||
| dd49292b68 | |||
| af30e5e6ba | |||
| 558cc9681c | |||
| 62f6bece57 | |||
| 084d412d86 | |||
| 788d22740b | |||
| 34ef3de737 | |||
| 8149cbc3c0 | |||
| 2032ef8225 | |||
| 38e897f646 | |||
| de2f9a1e9e | |||
| c506c95506 | |||
| 955cfbb689 | |||
| aa698b993d | |||
| 94c56115a5 |
@@ -21,3 +21,5 @@ Wails is what it is because of the time and effort given by these great people.
|
||||
* [Robin Eklind](https://github.com/mewmew)
|
||||
* [Kris Raney](https://github.com/kraney)
|
||||
* [Jack Mordaunt](https://github.com/JackMordaunt)
|
||||
* [Michael Hipp](https://github.com/MichaelHipp)
|
||||
* [Travis McLane](https://github.com/tmclane)
|
||||
@@ -93,7 +93,7 @@ Windows requires gcc and related tooling. The recommended download is from [http
|
||||
Installation is as simple as running the following command:
|
||||
|
||||
<pre style='color:white'>
|
||||
go get github.com/wailsapp/wails/cmd/wails
|
||||
go get -u github.com/wailsapp/wails/cmd/wails
|
||||
</pre>
|
||||
|
||||
## Next Steps
|
||||
|
||||
+3
-3
File diff suppressed because one or more lines are too long
@@ -132,6 +132,16 @@ func (fs *FSHelper) LocalDir(dir string) (*Dir, error) {
|
||||
}, err
|
||||
}
|
||||
|
||||
// LoadRelativeFile loads the given file relative to the caller's directory
|
||||
func (fs *FSHelper) LoadRelativeFile(relativePath string) ([]byte, error) {
|
||||
_, filename, _, _ := runtime.Caller(0)
|
||||
fullPath, err := filepath.Abs(filepath.Join(path.Dir(filename), relativePath))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ioutil.ReadFile(fullPath)
|
||||
}
|
||||
|
||||
// GetSubdirs will return a list of FQPs to subdirectories in the given directory
|
||||
func (d *Dir) GetSubdirs() (map[string]string, error) {
|
||||
|
||||
|
||||
+11
-2
@@ -99,8 +99,7 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
|
||||
binaryName = strings.TrimSuffix(binaryName, ".exe")
|
||||
}
|
||||
}
|
||||
buildCommand.Add("-o")
|
||||
buildCommand.Add(binaryName)
|
||||
buildCommand.Add("-o", binaryName)
|
||||
}
|
||||
|
||||
// If we are forcing a rebuild
|
||||
@@ -121,6 +120,16 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
|
||||
|
||||
ldflags += "-X github.com/wailsapp/wails.BuildMode=" + buildMode
|
||||
|
||||
// If we wish to generate typescript
|
||||
if projectOptions.typescriptDefsFilename != "" {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
filename := filepath.Join(cwd, projectOptions.FrontEnd.Dir, projectOptions.typescriptDefsFilename)
|
||||
ldflags += " -X github.com/wailsapp/wails/lib/binding.typescriptDefinitionFilename=" + filename
|
||||
}
|
||||
|
||||
buildCommand.AddSlice([]string{"-ldflags", ldflags})
|
||||
err = NewProgramHelper().RunCommandArray(buildCommand.AsSlice())
|
||||
if err != nil {
|
||||
|
||||
@@ -43,8 +43,16 @@ const (
|
||||
Kali
|
||||
// Neon distribution
|
||||
Neon
|
||||
// ArcoLinux distribution
|
||||
ArcoLinux
|
||||
// Manjaro distribution
|
||||
Manjaro
|
||||
// ManjaroARM distribution
|
||||
ManjaroARM
|
||||
// Deepin distribution
|
||||
Deepin
|
||||
// Raspbian distribution
|
||||
Raspbian
|
||||
)
|
||||
|
||||
// DistroInfo contains all the information relating to a linux distribution
|
||||
@@ -100,6 +108,7 @@ func parseOsRelease(osRelease string) *DistroInfo {
|
||||
version = strings.Trim(splitLine[1], "\"")
|
||||
}
|
||||
}
|
||||
|
||||
// Check distro name against list of distros
|
||||
switch osID {
|
||||
case "fedora":
|
||||
@@ -128,8 +137,16 @@ func parseOsRelease(osRelease string) *DistroInfo {
|
||||
result.Distribution = Kali
|
||||
case "neon":
|
||||
result.Distribution = Neon
|
||||
case "arcolinux":
|
||||
result.Distribution = ArcoLinux
|
||||
case "manjaro":
|
||||
result.Distribution = Manjaro
|
||||
case "manjaro-arm":
|
||||
result.Distribution = ManjaroARM
|
||||
case "deepin":
|
||||
result.Distribution = Deepin
|
||||
case "raspbian":
|
||||
result.Distribution = Raspbian
|
||||
default:
|
||||
result.Distribution = Unknown
|
||||
}
|
||||
|
||||
+5
-3
@@ -3,7 +3,6 @@ package cmd
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/leaanthony/mewn"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
@@ -79,11 +78,14 @@ func (l *LinuxDB) GetDistro(distro string) *Distribution {
|
||||
// NewLinuxDB creates a new LinuxDB instance from the bundled
|
||||
// linuxdb.yaml file.
|
||||
func NewLinuxDB() *LinuxDB {
|
||||
data := mewn.Bytes("./linuxdb.yaml")
|
||||
data, err := fs.LoadRelativeFile("./linuxdb.yaml")
|
||||
if err != nil {
|
||||
log.Fatal("Could not load linuxdb.yaml")
|
||||
}
|
||||
result := LinuxDB{
|
||||
Distributions: make(map[string]*Distribution),
|
||||
}
|
||||
err := result.ImportData(data)
|
||||
err = result.ImportData(data)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
+38
-1
@@ -82,6 +82,15 @@ distributions:
|
||||
gccversioncommand: *gccdumpfullversion
|
||||
programs: *debiandefaultprograms
|
||||
libraries: *debiandefaultlibraries
|
||||
deepin:
|
||||
id: deepin
|
||||
releases:
|
||||
default:
|
||||
version: default
|
||||
name: Deepin
|
||||
gccversioncommand: *gccdumpfullversion
|
||||
programs: *debiandefaultprograms
|
||||
libraries: *debiandefaultlibraries
|
||||
void:
|
||||
id: void
|
||||
releases:
|
||||
@@ -158,6 +167,15 @@ distributions:
|
||||
help: Please install with `sudo pacman -S gtk3` and try again
|
||||
- name: webkit2gtk
|
||||
help: Please install with `sudo pacman -S webkit2gtk` and try again
|
||||
arcolinux:
|
||||
id: arcolinux
|
||||
releases:
|
||||
default:
|
||||
version: default
|
||||
name: ArcoLinux
|
||||
gccversioncommand: *gccdumpversion
|
||||
programs: *archdefaultprograms
|
||||
libraries: *archdefaultlibraries
|
||||
manjaro:
|
||||
id: manjaro
|
||||
releases:
|
||||
@@ -167,6 +185,15 @@ distributions:
|
||||
gccversioncommand: *gccdumpversion
|
||||
programs: *archdefaultprograms
|
||||
libraries: *archdefaultlibraries
|
||||
manjaro-arm:
|
||||
id: manjaro-arm
|
||||
releases:
|
||||
default:
|
||||
version: default
|
||||
name: Manjaro-ARM
|
||||
gccversioncommand: *gccdumpversion
|
||||
programs: *archdefaultprograms
|
||||
libraries: *archdefaultlibraries
|
||||
gentoo:
|
||||
id: gentoo
|
||||
releases:
|
||||
@@ -185,4 +212,14 @@ distributions:
|
||||
- name: gtk+:3
|
||||
help: Please install with `sudo emerge gtk+:3` and try again
|
||||
- name: webkit-gtk
|
||||
help: Please install with `sudo emerge webkit-gtk` and try again
|
||||
help: Please install with `sudo emerge webkit-gtk` and try again
|
||||
|
||||
raspbian:
|
||||
id: raspbian
|
||||
releases:
|
||||
default:
|
||||
version: default
|
||||
name: Raspbian
|
||||
gccversioncommand: *gccdumpfullversion
|
||||
programs: *debiandefaultprograms
|
||||
libraries: *debiandefaultlibraries
|
||||
|
||||
+21
-15
@@ -142,21 +142,22 @@ func (ph *ProjectHelper) NewProjectOptions() *ProjectOptions {
|
||||
|
||||
// ProjectOptions holds all the options available for a project
|
||||
type ProjectOptions struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Author *author `json:"author,omitempty"`
|
||||
Version string `json:"version"`
|
||||
OutputDirectory string `json:"-"`
|
||||
UseDefaults bool `json:"-"`
|
||||
Template string `json:"-"`
|
||||
BinaryName string `json:"binaryname"`
|
||||
FrontEnd *frontend `json:"frontend,omitempty"`
|
||||
NPMProjectName string `json:"-"`
|
||||
system *SystemHelper
|
||||
log *Logger
|
||||
templates *TemplateHelper
|
||||
selectedTemplate *TemplateDetails
|
||||
WailsVersion string
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Author *author `json:"author,omitempty"`
|
||||
Version string `json:"version"`
|
||||
OutputDirectory string `json:"-"`
|
||||
UseDefaults bool `json:"-"`
|
||||
Template string `json:"-"`
|
||||
BinaryName string `json:"binaryname"`
|
||||
FrontEnd *frontend `json:"frontend,omitempty"`
|
||||
NPMProjectName string `json:"-"`
|
||||
system *SystemHelper
|
||||
log *Logger
|
||||
templates *TemplateHelper
|
||||
selectedTemplate *TemplateDetails
|
||||
WailsVersion string
|
||||
typescriptDefsFilename string
|
||||
}
|
||||
|
||||
// Defaults sets the default project template
|
||||
@@ -165,6 +166,11 @@ func (po *ProjectOptions) Defaults() {
|
||||
po.WailsVersion = Version
|
||||
}
|
||||
|
||||
// SetTypescriptDefsFilename indicates that we want to generate typescript bindings to the given file
|
||||
func (po *ProjectOptions) SetTypescriptDefsFilename(filename string) {
|
||||
po.typescriptDefsFilename = filename
|
||||
}
|
||||
|
||||
// GetNPMBinaryName returns the type of package manager used by the project
|
||||
func (po *ProjectOptions) GetNPMBinaryName() (PackageManager, error) {
|
||||
if po.FrontEnd == nil {
|
||||
|
||||
+2
-2
@@ -274,9 +274,9 @@ func CheckDependencies(logger *Logger) (bool, error) {
|
||||
distroInfo := GetLinuxDistroInfo()
|
||||
|
||||
switch distroInfo.Distribution {
|
||||
case Ubuntu, Debian, Zorin, Parrot, Linuxmint, Elementary, Kali, Neon:
|
||||
case Ubuntu, Debian, Zorin, Parrot, Linuxmint, Elementary, Kali, Neon, Deepin, Raspbian:
|
||||
libraryChecker = DpkgInstalled
|
||||
case Arch, Manjaro:
|
||||
case Arch, ArcoLinux, Manjaro, ManjaroARM:
|
||||
libraryChecker = PacmanInstalled
|
||||
case CentOS, Fedora:
|
||||
libraryChecker = RpmInstalled
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "npx ng",
|
||||
"start": "npx ng serve --poll=2000",
|
||||
"start": "npx ng serve --poll=2000 --host=0.0.0.0",
|
||||
"build": "npx ng build --single-bundle true --output-hashing none --prod --bundle-styles false",
|
||||
"test": "npx ng test",
|
||||
"lint": "npx ng lint",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
[ '@vue/app', { useBuiltIns: 'entry' } ]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": "^2.6.4",
|
||||
"core-js": "^3.6.1",
|
||||
"regenerator-runtime": "^0.13.3",
|
||||
"vue": "^2.5.22",
|
||||
"@wailsapp/runtime": "^1.0.0"
|
||||
},
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'core-js/stable';
|
||||
import 'regenerator-runtime/runtime';
|
||||
import Vue from 'vue';
|
||||
import App from './App.vue';
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
devServer: {
|
||||
disableHostCheck: true,
|
||||
host: "localhost"
|
||||
disableHostCheck: true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
[ '@vue/app', { useBuiltIns: 'entry' } ]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"core-js": "^2.6.4",
|
||||
"core-js": "^3.6.1",
|
||||
"regenerator-runtime": "^0.13.3",
|
||||
"material-design-icons-iconfont": "^5.0.1",
|
||||
"vue": "^2.5.22",
|
||||
"vuetify": "^1.5.14",
|
||||
@@ -50,4 +50,4 @@
|
||||
"last 2 versions",
|
||||
"not ie <= 8"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'babel-polyfill';
|
||||
import 'core-js/stable';
|
||||
import 'regenerator-runtime/runtime';
|
||||
import Vue from 'vue';
|
||||
|
||||
// Setup Vuetify
|
||||
|
||||
@@ -37,7 +37,6 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
devServer: {
|
||||
disableHostCheck: true,
|
||||
host: "localhost"
|
||||
disableHostCheck: true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "Vuetify Basic",
|
||||
"name": "Vuetify1.5/Webpack Basic",
|
||||
"version": "1.0.0",
|
||||
"shortdescription": "Vuetify + Webpack",
|
||||
"description": "Basic template using Vuetify and bundled using Webpack",
|
||||
"shortdescription": "A basic Vuetify1.5/Webpack4 template",
|
||||
"description": "Basic template using Vuetify v1.5 and bundled using Webpack",
|
||||
"install": "npm install",
|
||||
"build": "npm run build",
|
||||
"author": "lea <lea.anthony@gmail.com>",
|
||||
@@ -11,4 +11,4 @@
|
||||
"serve": "npm run serve",
|
||||
"bridge": "src",
|
||||
"wailsdir": ""
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user