mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 06:20:48 +08:00
[windows-x] Generate runtime wrapper in project, initial model binding, better error handling in calls, assetdir fix,
This commit is contained in:
parent
f20ce7411d
commit
a7c5064a33
@ -112,14 +112,8 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
|
|||||||
return fmt.Errorf("No asset directory provided. Please use -assetdir to indicate which directory contains your built assets.")
|
return fmt.Errorf("No asset directory provided. Please use -assetdir to indicate which directory contains your built assets.")
|
||||||
}
|
}
|
||||||
|
|
||||||
assetDir, err = filepath.Abs(assetDir)
|
if assetDir != "" {
|
||||||
if err != nil {
|
assetDir, err = filepath.Abs(assetDir)
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if assetDir != "" && assetDir != projectConfig.AssetDirectory {
|
|
||||||
projectConfig.AssetDirectory = assetDir
|
|
||||||
err := projectConfig.Save()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -129,6 +123,14 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
|
|||||||
assetDir = projectConfig.AssetDirectory
|
assetDir = projectConfig.AssetDirectory
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if assetDir != projectConfig.AssetDirectory {
|
||||||
|
projectConfig.AssetDirectory = assetDir
|
||||||
|
err := projectConfig.Save()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
wailsjsdir, err = filepath.Abs(wailsjsdir)
|
wailsjsdir, err = filepath.Abs(wailsjsdir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -69,6 +69,7 @@ require (
|
|||||||
github.com/tidwall/gjson v1.8.0 // indirect
|
github.com/tidwall/gjson v1.8.0 // indirect
|
||||||
github.com/tidwall/match v1.0.3 // indirect
|
github.com/tidwall/match v1.0.3 // indirect
|
||||||
github.com/tidwall/pretty v1.1.0 // indirect
|
github.com/tidwall/pretty v1.1.0 // indirect
|
||||||
|
github.com/tkrajina/typescriptify-golang-structs v0.1.6 // indirect
|
||||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||||
github.com/valyala/fasthttp v1.28.0 // indirect
|
github.com/valyala/fasthttp v1.28.0 // indirect
|
||||||
github.com/valyala/tcplisten v1.0.0 // indirect
|
github.com/valyala/tcplisten v1.0.0 // indirect
|
||||||
|
@ -179,6 +179,9 @@ github.com/tidwall/pretty v1.1.0 h1:K3hMW5epkdAVwibsQEfR/7Zj0Qgt4DxtNumTq/VloO8=
|
|||||||
github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
||||||
github.com/tidwall/sjson v1.1.7 h1:sgVPwu/yygHJ2m1pJDLgGM/h+1F5odx5Q9ljG3imRm8=
|
github.com/tidwall/sjson v1.1.7 h1:sgVPwu/yygHJ2m1pJDLgGM/h+1F5odx5Q9ljG3imRm8=
|
||||||
github.com/tidwall/sjson v1.1.7/go.mod h1:w/yG+ezBeTdUxiKs5NcPicO9diP38nk96QBAbIIGeFs=
|
github.com/tidwall/sjson v1.1.7/go.mod h1:w/yG+ezBeTdUxiKs5NcPicO9diP38nk96QBAbIIGeFs=
|
||||||
|
github.com/tkrajina/go-reflector v0.5.4/go.mod h1:9PyLgEOzc78ey/JmQQHbW8cQJ1oucLlNQsg8yFvkVk8=
|
||||||
|
github.com/tkrajina/typescriptify-golang-structs v0.1.6 h1:AlUeArKYvOdsl0wL7VKtRDgBqT7Hvk87w7hYGrITcqg=
|
||||||
|
github.com/tkrajina/typescriptify-golang-structs v0.1.6/go.mod h1:mfb2iqie4FjTKHfbjjCp08SRphjYaM7f2LdfUcNP7wY=
|
||||||
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
|
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
|
||||||
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
|
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
|
||||||
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
|
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
|
||||||
|
@ -97,6 +97,12 @@ func CreateApp(appoptions *options.App) (*App, error) {
|
|||||||
// Create binding exemptions - Ugly hack. There must be a better way
|
// Create binding exemptions - Ugly hack. There must be a better way
|
||||||
bindingExemptions := []interface{}{appoptions.OnStartup, appoptions.OnShutdown, appoptions.OnDomReady}
|
bindingExemptions := []interface{}{appoptions.OnStartup, appoptions.OnShutdown, appoptions.OnDomReady}
|
||||||
appBindings := binding.NewBindings(myLogger, appoptions.Bind, bindingExemptions)
|
appBindings := binding.NewBindings(myLogger, appoptions.Bind, bindingExemptions)
|
||||||
|
|
||||||
|
bindingsDir := "."
|
||||||
|
err = appBindings.WriteTS(bindingsDir)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
eventHandler := runtime.NewEvents(myLogger)
|
eventHandler := runtime.NewEvents(myLogger)
|
||||||
ctx = context.WithValue(ctx, "events", eventHandler)
|
ctx = context.WithValue(ctx, "events", eventHandler)
|
||||||
messageDispatcher := dispatcher.NewDispatcher(myLogger, appBindings, eventHandler)
|
messageDispatcher := dispatcher.NewDispatcher(myLogger, appBindings, eventHandler)
|
||||||
|
@ -2,6 +2,8 @@ package binding
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/tkrajina/typescriptify-golang-structs/typescriptify"
|
||||||
|
"path/filepath"
|
||||||
"reflect"
|
"reflect"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
@ -15,13 +17,17 @@ type Bindings struct {
|
|||||||
db *DB
|
db *DB
|
||||||
logger logger.CustomLogger
|
logger logger.CustomLogger
|
||||||
exemptions slicer.StringSlicer
|
exemptions slicer.StringSlicer
|
||||||
|
|
||||||
|
// Typescript writer
|
||||||
|
converter *typescriptify.TypeScriptify
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBindings returns a new Bindings object
|
// NewBindings returns a new Bindings object
|
||||||
func NewBindings(logger *logger.Logger, structPointersToBind []interface{}, exemptions []interface{}) *Bindings {
|
func NewBindings(logger *logger.Logger, structPointersToBind []interface{}, exemptions []interface{}) *Bindings {
|
||||||
result := &Bindings{
|
result := &Bindings{
|
||||||
db: newDB(),
|
db: newDB(),
|
||||||
logger: logger.CustomLogger("Bindings"),
|
logger: logger.CustomLogger("Bindings"),
|
||||||
|
converter: typescriptify.New(),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, exemption := range exemptions {
|
for _, exemption := range exemptions {
|
||||||
@ -65,6 +71,10 @@ func (b *Bindings) Add(structPtr interface{}) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b *Bindings) WriteTS(dir string) error {
|
||||||
|
return b.converter.ConvertToFile(filepath.Join(dir, "models.ts"))
|
||||||
|
}
|
||||||
|
|
||||||
func (b *Bindings) DB() *DB {
|
func (b *Bindings) DB() *DB {
|
||||||
return b.db
|
return b.db
|
||||||
}
|
}
|
||||||
|
@ -77,6 +77,24 @@ func (b *Bindings) getMethods(value interface{}) ([]*BoundMethod, error) {
|
|||||||
for inputIndex := 0; inputIndex < inputParamCount; inputIndex++ {
|
for inputIndex := 0; inputIndex < inputParamCount; inputIndex++ {
|
||||||
input := methodType.In(inputIndex)
|
input := methodType.In(inputIndex)
|
||||||
thisParam := newParameter("", input)
|
thisParam := newParameter("", input)
|
||||||
|
|
||||||
|
// Process struct pointer params
|
||||||
|
if input.Kind() == reflect.Ptr {
|
||||||
|
if input.Elem().Kind() == reflect.Struct {
|
||||||
|
typ := input.Elem()
|
||||||
|
a := reflect.New(typ)
|
||||||
|
s := reflect.Indirect(a).Interface()
|
||||||
|
b.converter.Add(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process struct params
|
||||||
|
if input.Kind() == reflect.Struct {
|
||||||
|
a := reflect.New(input)
|
||||||
|
s := reflect.Indirect(a).Interface()
|
||||||
|
b.converter.Add(s)
|
||||||
|
}
|
||||||
|
|
||||||
inputs = append(inputs, thisParam)
|
inputs = append(inputs, thisParam)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,6 +264,8 @@ func (f *Frontend) processMessage(message string) {
|
|||||||
result, err := f.dispatcher.ProcessMessage(message, f)
|
result, err := f.dispatcher.ProcessMessage(message, f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
f.logger.Error(err.Error())
|
f.logger.Error(err.Error())
|
||||||
|
f.Callback(result)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if result == "" {
|
if result == "" {
|
||||||
return
|
return
|
||||||
|
@ -28,7 +28,9 @@ func (d *Dispatcher) processCallMessage(message string) (string, error) {
|
|||||||
|
|
||||||
args, err := registeredMethod.ParseArgs(payload.Args)
|
args, err := registeredMethod.ParseArgs(payload.Args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("error parsing arguments: %s", err.Error())
|
errmsg := fmt.Errorf("error parsing arguments: %s", err.Error())
|
||||||
|
result, _ := d.NewErrorCallback(errmsg.Error(), payload.CallbackID)
|
||||||
|
return result, errmsg
|
||||||
}
|
}
|
||||||
|
|
||||||
result, err := registeredMethod.Call(args)
|
result, err := registeredMethod.Call(args)
|
||||||
@ -56,3 +58,13 @@ type CallbackMessage struct {
|
|||||||
Err string `json:"error"`
|
Err string `json:"error"`
|
||||||
CallbackID string `json:"callbackid"`
|
CallbackID string `json:"callbackid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *Dispatcher) NewErrorCallback(message string, callbackID string) (string, error) {
|
||||||
|
result := &CallbackMessage{
|
||||||
|
CallbackID: callbackID,
|
||||||
|
Err: message,
|
||||||
|
}
|
||||||
|
messageData, err := json.Marshal(result)
|
||||||
|
d.log.Trace("json call result data: %+v\n", string(messageData))
|
||||||
|
return string(messageData), err
|
||||||
|
}
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { Call } from './calls';
|
import {Call} from './calls';
|
||||||
|
|
||||||
window.backend = {};
|
window.backend = {};
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 9 */
|
/* jshint esversion: 9 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
"build:ipc-dev": "cd dev && npm run build",
|
"build:ipc-dev": "cd dev && npm run build",
|
||||||
"build:runtime-desktop-prod": "esbuild desktop/main.js --bundle --minify --outfile=runtime_prod_desktop.js",
|
"build:runtime-desktop-prod": "esbuild desktop/main.js --bundle --minify --outfile=runtime_prod_desktop.js",
|
||||||
"build:runtime-desktop-dev": "esbuild desktop/main.js --bundle --sourcemap=inline --outfile=runtime_dev_desktop.js",
|
"build:runtime-desktop-dev": "esbuild desktop/main.js --bundle --sourcemap=inline --outfile=runtime_dev_desktop.js",
|
||||||
|
"build:runtime-wrapper": "cd wrapper && esbuild main.js --bundle --minify --outfile=runtime.js",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"author": "Lea Anthony <lea.anthony@gmail.com>",
|
"author": "Lea Anthony <lea.anthony@gmail.com>",
|
||||||
|
File diff suppressed because one or more lines are too long
4
v2/internal/frontend/runtime/wrapper/README.md
Normal file
4
v2/internal/frontend/runtime/wrapper/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Wails Runtime
|
||||||
|
|
||||||
|
This module is the Javascript runtime library for the [Wails](https://wails.app) framework. It is intended to be
|
||||||
|
installed as part of a [Wails](https://wails.app) project, not a standalone module.
|
58
v2/internal/frontend/runtime/wrapper/events.js
Normal file
58
v2/internal/frontend/runtime/wrapper/events.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
_ __ _ __
|
||||||
|
| | / /___ _(_) /____
|
||||||
|
| | /| / / __ `/ / / ___/
|
||||||
|
| |/ |/ / /_/ / / (__ )
|
||||||
|
|__/|__/\__,_/_/_/____/
|
||||||
|
The electron alternative for Go
|
||||||
|
(c) Lea Anthony 2019-present
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* jshint esversion: 9 */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers an event listener that will be invoked `maxCallbacks` times before being destroyed
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} eventName
|
||||||
|
* @param {function} callback
|
||||||
|
* @param {number} maxCallbacks
|
||||||
|
*/
|
||||||
|
export function EventsOnMultiple(eventName, callback, maxCallbacks) {
|
||||||
|
window.runtime.EventsOnMultiple(eventName, callback, maxCallbacks);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers an event listener that will be invoked every time the event is emitted
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} eventName
|
||||||
|
* @param {function} callback
|
||||||
|
*/
|
||||||
|
export function EventsOn(eventName, callback) {
|
||||||
|
OnMultiple(eventName, callback, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers an event listener that will be invoked once then destroyed
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} eventName
|
||||||
|
* @param {function} callback
|
||||||
|
*/
|
||||||
|
export function EventsOnce(eventName, callback) {
|
||||||
|
OnMultiple(eventName, callback, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emit an event with the given name and data
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} eventName
|
||||||
|
*/
|
||||||
|
export function EventsEmit(eventName) {
|
||||||
|
let args = [eventName].slice.call(arguments);
|
||||||
|
return window.runtime.EventsEmit.apply(null, args);
|
||||||
|
}
|
62
v2/internal/frontend/runtime/wrapper/log.js
Normal file
62
v2/internal/frontend/runtime/wrapper/log.js
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
_ __ _ __
|
||||||
|
| | / /___ _(_) /____
|
||||||
|
| | /| / / __ `/ / / ___/
|
||||||
|
| |/ |/ / /_/ / / (__ )
|
||||||
|
|__/|__/\__,_/_/_/____/
|
||||||
|
The electron alternative for Go
|
||||||
|
(c) Lea Anthony 2019-present
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the given debug message with the backend
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} message
|
||||||
|
*/
|
||||||
|
export function LogDebug(message) {
|
||||||
|
window.runtime.LogDebug(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the given info message with the backend
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} message
|
||||||
|
*/
|
||||||
|
export function LogInfo(message) {
|
||||||
|
window.runtime.LogInfo(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the given warning message with the backend
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} message
|
||||||
|
*/
|
||||||
|
export function LogWarning(message) {
|
||||||
|
window.runtime.LogWarning(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the given error message with the backend
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} message
|
||||||
|
*/
|
||||||
|
export function LogError(message) {
|
||||||
|
window.runtime.LogError(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log the given fatal message with the backend
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
* @param {string} message
|
||||||
|
*/
|
||||||
|
export function LogFatal(message) {
|
||||||
|
window.runtime.LogFatal(message);
|
||||||
|
}
|
20
v2/internal/frontend/runtime/wrapper/main.js
Normal file
20
v2/internal/frontend/runtime/wrapper/main.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
_ __ _ __
|
||||||
|
| | / /___ _(_) /____
|
||||||
|
| | /| / / __ `/ / / ___/
|
||||||
|
| |/ |/ / /_/ / / (__ )
|
||||||
|
|__/|__/\__,_/_/_/____/
|
||||||
|
The electron alternative for Go
|
||||||
|
(c) Lea Anthony 2019-present
|
||||||
|
*/
|
||||||
|
/* jshint esversion: 9 */
|
||||||
|
|
||||||
|
import * as Log from "./log";
|
||||||
|
import * as Events from './events';
|
||||||
|
import * as Window from './window';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
...Log,
|
||||||
|
...Events,
|
||||||
|
...Window,
|
||||||
|
};
|
492
v2/internal/frontend/runtime/wrapper/package-lock.json
generated
Normal file
492
v2/internal/frontend/runtime/wrapper/package-lock.json
generated
Normal file
@ -0,0 +1,492 @@
|
|||||||
|
{
|
||||||
|
"name": "@wailsapp/runtime",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||||
|
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"camelcase": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"cliui": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
|
||||||
|
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"string-width": "^1.0.1",
|
||||||
|
"strip-ansi": "^3.0.1",
|
||||||
|
"wrap-ansi": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"code-point-at": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"decamelize": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"dts-dom": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dts-dom/-/dts-dom-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-on5jxTgt+A6r0Zyyz6ZRHXaAO7J1VPnOd6+AmvI1vH440AlAZZNc5rUHzgPuTjGlrVr1rOWQYNl7ZJK6rDohbw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"dts-gen": {
|
||||||
|
"version": "0.5.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/dts-gen/-/dts-gen-0.5.8.tgz",
|
||||||
|
"integrity": "sha512-kIAV6dlHaF7r5J+tIuOC1BJls2P72YM0cyWQUR88zcJEpX2ccRZe+HmXLfkkvfPwjvSO3FEqUiyC8On/grx5qw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"dts-dom": "^3.6.0",
|
||||||
|
"parse-git-config": "^1.1.1",
|
||||||
|
"typescript": "^3.5.1",
|
||||||
|
"yargs": "^4.8.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error-ex": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
|
||||||
|
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-arrayish": "^0.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-extendable": "^0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"find-up": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
|
||||||
|
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"path-exists": "^2.0.0",
|
||||||
|
"pinkie-promise": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fs-exists-sync": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
|
||||||
|
"integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"get-caller-file": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"git-config-path": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"extend-shallow": "^2.0.1",
|
||||||
|
"fs-exists-sync": "^0.1.0",
|
||||||
|
"homedir-polyfill": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"graceful-fs": {
|
||||||
|
"version": "4.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
|
||||||
|
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"homedir-polyfill": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"parse-passwd": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hosted-git-info": {
|
||||||
|
"version": "2.8.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
|
||||||
|
"integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ini": {
|
||||||
|
"version": "1.3.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
|
||||||
|
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"invert-kv": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-arrayish": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
|
||||||
|
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-extendable": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
|
||||||
|
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-fullwidth-code-point": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"number-is-nan": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-utf8": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
|
||||||
|
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lcid": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"invert-kv": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"load-json-file": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"parse-json": "^2.2.0",
|
||||||
|
"pify": "^2.0.0",
|
||||||
|
"pinkie-promise": "^2.0.0",
|
||||||
|
"strip-bom": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lodash.assign": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
|
||||||
|
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"normalize-package-data": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"hosted-git-info": "^2.1.4",
|
||||||
|
"resolve": "^1.10.0",
|
||||||
|
"semver": "2 || 3 || 4 || 5",
|
||||||
|
"validate-npm-package-license": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"number-is-nan": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"os-locale": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
|
||||||
|
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"lcid": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"parse-git-config": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz",
|
||||||
|
"integrity": "sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"extend-shallow": "^2.0.1",
|
||||||
|
"fs-exists-sync": "^0.1.0",
|
||||||
|
"git-config-path": "^1.0.1",
|
||||||
|
"ini": "^1.3.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"parse-json": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
|
||||||
|
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"error-ex": "^1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"parse-passwd": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"path-exists": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
|
||||||
|
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"pinkie-promise": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-parse": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"path-type": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"pify": "^2.0.0",
|
||||||
|
"pinkie-promise": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pify": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
||||||
|
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"pinkie": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
|
||||||
|
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"pinkie-promise": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"pinkie": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"read-pkg": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"load-json-file": "^1.0.0",
|
||||||
|
"normalize-package-data": "^2.3.2",
|
||||||
|
"path-type": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"read-pkg-up": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"find-up": "^1.0.0",
|
||||||
|
"read-pkg": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"require-directory": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
|
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"require-main-filename": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"resolve": {
|
||||||
|
"version": "1.17.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
|
||||||
|
"integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"path-parse": "^1.0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"semver": {
|
||||||
|
"version": "5.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||||
|
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"set-blocking": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"spdx-correct": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"spdx-expression-parse": "^3.0.0",
|
||||||
|
"spdx-license-ids": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spdx-exceptions": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"spdx-expression-parse": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"spdx-exceptions": "^2.1.0",
|
||||||
|
"spdx-license-ids": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spdx-license-ids": {
|
||||||
|
"version": "3.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string-width": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"code-point-at": "^1.0.0",
|
||||||
|
"is-fullwidth-code-point": "^1.0.0",
|
||||||
|
"strip-ansi": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||||
|
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-bom": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-utf8": "^0.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"typescript": {
|
||||||
|
"version": "3.9.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
|
||||||
|
"integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"validate-npm-package-license": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"spdx-correct": "^3.0.0",
|
||||||
|
"spdx-expression-parse": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"which-module": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"window-size": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
|
||||||
|
"integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"wrap-ansi": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
||||||
|
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"string-width": "^1.0.1",
|
||||||
|
"strip-ansi": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"y18n": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
|
||||||
|
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"yargs": {
|
||||||
|
"version": "4.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
|
||||||
|
"integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"cliui": "^3.2.0",
|
||||||
|
"decamelize": "^1.1.1",
|
||||||
|
"get-caller-file": "^1.0.1",
|
||||||
|
"lodash.assign": "^4.0.3",
|
||||||
|
"os-locale": "^1.4.0",
|
||||||
|
"read-pkg-up": "^1.0.1",
|
||||||
|
"require-directory": "^2.1.1",
|
||||||
|
"require-main-filename": "^1.0.1",
|
||||||
|
"set-blocking": "^2.0.0",
|
||||||
|
"string-width": "^1.0.1",
|
||||||
|
"which-module": "^1.0.0",
|
||||||
|
"window-size": "^0.2.0",
|
||||||
|
"y18n": "^3.2.1",
|
||||||
|
"yargs-parser": "^2.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yargs-parser": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
|
||||||
|
"integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"camelcase": "^3.0.0",
|
||||||
|
"lodash.assign": "^4.0.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
v2/internal/frontend/runtime/wrapper/package.json
Normal file
24
v2/internal/frontend/runtime/wrapper/package.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "@wailsapp/runtime",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"description": "Wails Javascript runtime library",
|
||||||
|
"main": "runtime.js",
|
||||||
|
"types": "runtime.d.ts",
|
||||||
|
"scripts": {
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/wailsapp/wails.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"Wails",
|
||||||
|
"Javascript",
|
||||||
|
"Go"
|
||||||
|
],
|
||||||
|
"author": "Lea Anthony <lea.anthony@gmail.com>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/wailsapp/wails/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/wailsapp/wails#readme"
|
||||||
|
}
|
29
v2/internal/frontend/runtime/wrapper/runtime.d.ts
vendored
Normal file
29
v2/internal/frontend/runtime/wrapper/runtime.d.ts
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
interface runtime {
|
||||||
|
EventsEmit(eventName: string, data?: any): void;
|
||||||
|
|
||||||
|
EventsOn(eventName: string, callback: (data?: any) => void): void;
|
||||||
|
|
||||||
|
EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void;
|
||||||
|
|
||||||
|
EventsOnce(eventName: string, callback: (data?: any) => void): void;
|
||||||
|
|
||||||
|
LogDebug(message: string): void;
|
||||||
|
|
||||||
|
LogError(message: string): void;
|
||||||
|
|
||||||
|
LogFatal(message: string): void;
|
||||||
|
|
||||||
|
LogInfo(message: string): void;
|
||||||
|
|
||||||
|
LogWarning(message: string): void;
|
||||||
|
|
||||||
|
WindowReload(): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
interface Window {
|
||||||
|
runtime: runtime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export {};
|
1
v2/internal/frontend/runtime/wrapper/runtime.js
Normal file
1
v2/internal/frontend/runtime/wrapper/runtime.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(()=>{var l=Object.defineProperty;var w=n=>l(n,"__esModule",{value:!0});var e=(n,o)=>{w(n);for(var t in o)l(n,t,{get:o[t],enumerable:!0})};var i={};e(i,{LogDebug:()=>p,LogError:()=>a,LogFatal:()=>f,LogInfo:()=>g,LogWarning:()=>m});function p(n){window.runtime.LogDebug(n)}function g(n){window.runtime.LogInfo(n)}function m(n){window.runtime.LogWarning(n)}function a(n){window.runtime.LogError(n)}function f(n){window.runtime.LogFatal(n)}var r={};e(r,{EventsEmit:()=>x,EventsOn:()=>s,EventsOnMultiple:()=>d,EventsOnce:()=>c});function d(n,o,t){window.runtime.EventsOnMultiple(n,o,t)}function s(n,o){OnMultiple(n,o,-1)}function c(n,o){OnMultiple(n,o,1)}function x(n){let o=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,o)}var u={};e(u,{WindowReload:()=>E});function E(){window.runtime.WindowReload()}var v={...i,...r,...u};})();
|
20
v2/internal/frontend/runtime/wrapper/window.js
Normal file
20
v2/internal/frontend/runtime/wrapper/window.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
_ __ _ __
|
||||||
|
| | / /___ _(_) /____
|
||||||
|
| | /| / / __ `/ / / ___/
|
||||||
|
| |/ |/ / /_/ / / (__ )
|
||||||
|
|__/|__/\__,_/_/_/____/
|
||||||
|
The electron alternative for Go
|
||||||
|
(c) Lea Anthony 2019-present
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* jshint esversion: 9 */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reloads the Window
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
*/
|
||||||
|
export function WindowReload() {
|
||||||
|
window.runtime.WindowReload();
|
||||||
|
}
|
6
v2/internal/frontend/runtime/wrapper/wrapper.go
Normal file
6
v2/internal/frontend/runtime/wrapper/wrapper.go
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
package wrapper
|
||||||
|
|
||||||
|
import "embed"
|
||||||
|
|
||||||
|
//go:embed runtime.js runtime.d.ts package.json
|
||||||
|
var RuntimeWrapper embed.FS
|
@ -4,12 +4,12 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { Call } from './calls';
|
import {Call} from './calls';
|
||||||
|
|
||||||
window.backend = {};
|
window.backend = {};
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { Debug } from './log';
|
import {Debug} from './log';
|
||||||
import { SendMessage } from 'ipc';
|
import {SendMessage} from 'ipc';
|
||||||
|
|
||||||
var callbacks = {};
|
var callbacks = {};
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
import { SetBindings } from './bindings';
|
import {SetBindings} from './bindings';
|
||||||
import { Init } from './main';
|
import {Init} from './main';
|
||||||
|
|
||||||
// Initialise the Runtime
|
// Initialise the Runtime
|
||||||
Init();
|
Init();
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { Error } from './log';
|
import {Error} from './log';
|
||||||
import { SendMessage } from 'ipc';
|
import {SendMessage} from 'ipc';
|
||||||
|
|
||||||
// Defines a single listener with a maximum number of times to callback
|
// Defines a single listener with a maximum number of times to callback
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { SendMessage } from 'ipc';
|
import {SendMessage} from 'ipc';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends a log message to the backend with the given level + message
|
* Sends a log message to the backend with the given level + message
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
import { Emit } from './events';
|
import {Emit} from './events';
|
||||||
|
|
||||||
export function AddScript(js, callbackID) {
|
export function AddScript(js, callbackID) {
|
||||||
var script = document.createElement('script');
|
var script = document.createElement('script');
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 9 */
|
/* jshint esversion: 9 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1533,7 +1533,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1687,7 +1687,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
|
|
||||||
import {setTray, hideOverlay, showOverlay, updateTrayLabel, deleteTrayMenu} from './store';
|
import {deleteTrayMenu, hideOverlay, setTray, showOverlay, updateTrayLabel} from './store';
|
||||||
import {log} from './log';
|
import {log} from './log';
|
||||||
|
|
||||||
let websocket = null;
|
let websocket = null;
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
| | /| / / __ `/ / / ___/
|
| | /| / / __ `/ / / ___/
|
||||||
| |/ |/ / /_/ / / (__ )
|
| |/ |/ / /_/ / / (__ )
|
||||||
|__/|__/\__,_/_/_/____/
|
|__/|__/\__,_/_/_/____/
|
||||||
The lightweight framework for web-like apps
|
The electron alternative for Go
|
||||||
(c) Lea Anthony 2019-present
|
(c) Lea Anthony 2019-present
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint esversion: 6 */
|
/* jshint esversion: 6 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,6 +3,8 @@ package build
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/leaanthony/gosod"
|
||||||
|
"github.com/wailsapp/wails/v2/internal/frontend/runtime/wrapper"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@ -184,6 +186,12 @@ func (b *BaseBuilder) OutputFilename(options *Options) string {
|
|||||||
// CompileProject compiles the project
|
// CompileProject compiles the project
|
||||||
func (b *BaseBuilder) CompileProject(options *Options) error {
|
func (b *BaseBuilder) CompileProject(options *Options) error {
|
||||||
|
|
||||||
|
// Check if the runtime wrapper exists
|
||||||
|
err := generateRuntimeWrapper(options)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
verbose := options.Verbosity == VERBOSE
|
verbose := options.Verbosity == VERBOSE
|
||||||
// Run go mod tidy first
|
// Run go mod tidy first
|
||||||
cmd := exec.Command(options.Compiler, "mod", "tidy")
|
cmd := exec.Command(options.Compiler, "mod", "tidy")
|
||||||
@ -192,7 +200,7 @@ func (b *BaseBuilder) CompileProject(options *Options) error {
|
|||||||
println("")
|
println("")
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
}
|
}
|
||||||
err := cmd.Run()
|
err = cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -365,6 +373,15 @@ func (b *BaseBuilder) CompileProject(options *Options) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func generateRuntimeWrapper(options *Options) error {
|
||||||
|
wrapperDir := filepath.Join(options.WailsJSDir, "wailsjs", "runtime")
|
||||||
|
if fs.DirExists(wrapperDir) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
extractor := gosod.New(wrapper.RuntimeWrapper)
|
||||||
|
return extractor.Extract(wrapperDir, nil)
|
||||||
|
}
|
||||||
|
|
||||||
// NpmInstall runs "npm install" in the given directory
|
// NpmInstall runs "npm install" in the given directory
|
||||||
func (b *BaseBuilder) NpmInstall(sourceDir string, verbose bool) error {
|
func (b *BaseBuilder) NpmInstall(sourceDir string, verbose bool) error {
|
||||||
return b.NpmInstallUsingCommand(sourceDir, "npm install", verbose)
|
return b.NpmInstallUsingCommand(sourceDir, "npm install", verbose)
|
||||||
|
Loading…
Reference in New Issue
Block a user