From 93d9b6136679413012de6998c7d20f2c305bb885 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 30 May 2021 20:03:01 +1000 Subject: [PATCH] [windows] Fix bridge payload for 'wails dev' --- v2/internal/bridge/darwin.js | 2 +- v2/internal/bridge/session.go | 5 + v2/internal/bridge/windows.js | 2 +- v2/internal/runtime/assets/desktop_darwin.js | 2 +- v2/internal/runtime/assets/desktop_windows.js | 2 +- v2/internal/runtime/js/core/main.js | 3 +- v2/internal/runtime/js/runtime/bridge.js | 240 +++---- v2/internal/runtime/js/runtime/package.json | 2 +- .../runtime/js/runtime/src/package-lock.json | 610 +----------------- .../runtime/js/runtime/src/websocket.js | 242 +++---- v2/pkg/commands/build/build.go | 2 +- 11 files changed, 255 insertions(+), 857 deletions(-) diff --git a/v2/internal/bridge/darwin.js b/v2/internal/bridge/darwin.js index ef152bb5..67cc95d3 100644 --- a/v2/internal/bridge/darwin.js +++ b/v2/internal/bridge/darwin.js @@ -1 +1 @@ -var Wails=function(n){var e={};function t(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return n[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=n,t.c=e,t.d=function(n,e,r){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:r})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(r,o,function(e){return n[e]}.bind(null,o));return r},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=1)}([function(n,e,t){"use strict";t.r(e),t.d(e,"AppType",(function(){return r}));var r="desktop"},function(n,e,t){"use strict";t.r(e);var r={};t.r(r),t.d(r,"Trace",(function(){return b})),t.d(r,"Print",(function(){return y})),t.d(r,"Debug",(function(){return g})),t.d(r,"Info",(function(){return m})),t.d(r,"Warning",(function(){return O})),t.d(r,"Error",(function(){return h})),t.d(r,"Fatal",(function(){return S})),t.d(r,"SetLogLevel",(function(){return E})),t.d(r,"Level",(function(){return j}));var o={};t.r(o),t.d(o,"Open",(function(){return D}));var i={};t.r(i),t.d(i,"Center",(function(){return N})),t.d(i,"SetTitle",(function(){return x})),t.d(i,"Fullscreen",(function(){return T})),t.d(i,"UnFullscreen",(function(){return I})),t.d(i,"SetSize",(function(){return J})),t.d(i,"SetPosition",(function(){return A})),t.d(i,"Hide",(function(){return L})),t.d(i,"Show",(function(){return H})),t.d(i,"Maximise",(function(){return R})),t.d(i,"Unmaximise",(function(){return _})),t.d(i,"Minimise",(function(){return F})),t.d(i,"Unminimise",(function(){return U})),t.d(i,"Close",(function(){return B}));var a={};t.r(a),t.d(a,"Open",(function(){return G})),t.d(a,"Save",(function(){return q})),t.d(a,"Message",(function(){return z}));var u={};t.r(u),t.d(u,"New",(function(){return on}));var c={};function s(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function l(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}t.r(c),t.d(c,"SetIcon",(function(){return an}));var f=function(n){for(var e=1;e0)for(var e=0;e0)var a=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);P[i]={timeoutHandle:a,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function M(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=P[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete P[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return C(".wails."+n,e)}function D(n){return p("RBO"+n)}function N(){p("Wc")}function x(n){p("WT"+n)}function T(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function H(){p("WS")}function R(){p("WM")}function _(){p("WU")}function F(){p("Wm")}function U(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}k=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var a=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);M[i]={timeoutHandle:a,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw y(t),new Error(t)}var r=e.callbackid,o=M[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete M[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return P(".wails."+n,e)}function D(n){return p("RBO"+n)}function N(){p("Wc")}function x(n){p("WT"+n)}function T(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function H(){p("WS")}function R(){p("WM")}function _(){p("WU")}function F(){p("Wm")}function U(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}k=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var c=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);k[i]={timeoutHandle:c,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=k[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete k[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return D(".wails."+n,e)}function M(n){return p("RBO"+n)}function N(){p("Wc")}function T(n){p("WT"+n)}function x(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function R(){p("WS")}function _(){p("WM")}function F(){p("WU")}function U(){p("Wm")}function H(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}E=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var c=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);k[i]={timeoutHandle:c,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=k[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete k[r],e.error?o.reject(e.error):o.resolve(e.result)}function M(n){var e=[].slice.apply(arguments).slice(1);return D(".wails."+n,e)}function W(n){return p("RBO"+n)}function N(){p("Wc")}function T(n){p("WT"+n)}function x(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function R(){p("WS")}function _(){p("WM")}function F(){p("WU")}function U(){p("Wm")}function H(){p("Wu")}function B(){p("WC")}function G(n){return M("Dialog.Open",n)}function q(n){return M("Dialog.Save",n)}function z(n){return M("Dialog.Message",n)}E=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var a=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);P[i]={timeoutHandle:a,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function M(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=P[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete P[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return C(".wails."+n,e)}function D(n){return p("RBO"+n)}function N(){p("Wc")}function x(n){p("WT"+n)}function T(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function H(){p("WS")}function R(){p("WM")}function _(){p("WU")}function F(){p("Wm")}function U(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}k=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var a=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);M[i]={timeoutHandle:a,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw y(t),new Error(t)}var r=e.callbackid,o=M[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete M[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return P(".wails."+n,e)}function D(n){return p("RBO"+n)}function N(){p("Wc")}function x(n){p("WT"+n)}function T(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function H(){p("WS")}function R(){p("WM")}function _(){p("WU")}function F(){p("Wm")}function U(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}k=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var c=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);k[i]={timeoutHandle:c,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=k[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete k[r],e.error?o.reject(e.error):o.resolve(e.result)}function W(n){var e=[].slice.apply(arguments).slice(1);return D(".wails."+n,e)}function M(n){return p("RBO"+n)}function N(){p("Wc")}function T(n){p("WT"+n)}function x(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function R(){p("WS")}function _(){p("WM")}function F(){p("WU")}function U(){p("Wm")}function H(){p("Wu")}function B(){p("WC")}function G(n){return W("Dialog.Open",n)}function q(n){return W("Dialog.Save",n)}function z(n){return W("Dialog.Message",n)}E=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r0)for(var e=0;e0)var c=setTimeout((function(){o(Error("Call to "+n+" timed out. Request ID: "+i))}),t);k[i]={timeoutHandle:c,reject:o,resolve:r};try{var u={name:n,args:e,callbackID:i};p("C"+JSON.stringify(u))}catch(n){console.error(n)}}))}function C(n){var e;try{e=JSON.parse(n)}catch(e){var t="Invalid JSON passed to callback: ".concat(e.message,". Message: ").concat(n);throw g(t),new Error(t)}var r=e.callbackid,o=k[r];if(!o){var i="Callback '".concat(r,"' not registered!!!");throw console.error(i),new Error(i)}clearTimeout(o.timeoutHandle),delete k[r],e.error?o.reject(e.error):o.resolve(e.result)}function M(n){var e=[].slice.apply(arguments).slice(1);return D(".wails."+n,e)}function W(n){return p("RBO"+n)}function N(){p("Wc")}function T(n){p("WT"+n)}function x(){p("WF")}function I(){p("Wf")}function J(n,e){p("Ws:"+n+":"+e)}function A(n,e){p("Wp:"+n+":"+e)}function L(){p("WH")}function R(){p("WS")}function _(){p("WM")}function F(){p("WU")}function U(){p("Wm")}function H(){p("Wu")}function B(){p("WC")}function G(n){return M("Dialog.Open",n)}function q(n){return M("Dialog.Save",n)}function z(n){return M("Dialog.Message",n)}E=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()},window.backend={};var V=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},K={};function Q(n,e,t){K[n]=K[n]||[];var r=new V(e,t);console.log("Pushing event listener: "+n),K[n].push(r)}function X(n,e){Q(n,e)}function Y(n,e){Q(n,e,1)}function Z(n){var e=n.name;if(K[e]){for(var t=K[e].slice(),r=0;r { - websocket.send(message); - } - }, - windowDrag: { - postMessage: () => { - // Ignore window drag events - } - } - } - }; + // darwin + window.webkit = { + messageHandlers: { + external: { + postMessage: (message) => { + websocket.send(message); + } + }, + windowDrag: { + postMessage: () => { + // Ignore window drag events + } + } + } + }; } // Handles incoming websocket connections function handleConnect() { - log('Connected to backend'); - setupIPCBridge(); - hideOverlay(); - clearInterval(connectTimer); - websocket.onclose = handleDisconnect; - websocket.onmessage = handleMessage; + log('Connected to backend'); + setupIPCBridge(); + hideOverlay(); + clearInterval(connectTimer); + websocket.onclose = handleDisconnect; + websocket.onmessage = handleMessage; } // Handles websocket disconnects function handleDisconnect() { - log('Disconnected from backend'); - websocket = null; - showOverlay(); - connect(); + log('Disconnected from backend'); + websocket = null; + showOverlay(); + connect(); } // Try to connect to the backend every 1s (default value). function connect() { - connectTimer = setInterval(function () { - if (websocket == null) { - websocket = new WebSocket('ws://' + window.location.hostname + ':34115/bridge'); - websocket.onopen = handleConnect; - websocket.onerror = function (e) { - e.stopImmediatePropagation(); - e.stopPropagation(); - e.preventDefault(); - websocket = null; - return false; - }; - } - }, 1000); + connectTimer = setInterval(function () { + if (websocket == null) { + websocket = new WebSocket('ws://' + window.location.hostname + ':34115/bridge'); + websocket.onopen = handleConnect; + websocket.onerror = function (e) { + e.stopImmediatePropagation(); + e.stopPropagation(); + e.preventDefault(); + websocket = null; + return false; + }; + } + }, 1000); } // Adds a script to the Dom. // Removes it if second parameter is true. function addScript(script, remove) { - const s = document.createElement('script'); - s.setAttribute('type', 'text/javascript'); - s.textContent = script; - document.head.appendChild(s); + const s = document.createElement('script'); + s.setAttribute('type', 'text/javascript'); + s.textContent = script; + document.head.appendChild(s); - // Remove internal messages from the DOM - if (remove) { - s.parentNode.removeChild(s); - } + // Remove internal messages from the DOM + if (remove) { + s.parentNode.removeChild(s); + } } function handleMessage(message) { - // As a bridge we ignore js and css injections - switch (message.data[0]) { - // Wails library - inject! - case 'b': - message = message.data.slice(1); - addScript(message); - log('Loaded Wails Runtime'); + // As a bridge we ignore js and css injections + switch (message.data[0]) { + // Wails library - inject! + case 'b': + message = message.data.slice(1); + addScript(message); + log('Loaded Wails Runtime'); - // We need to now send a message to the backend telling it - // we have loaded (System Start) - window.webkit.messageHandlers.external.postMessage("SS"); + // We need to now send a message to the backend telling it + // we have loaded (System Start) + window.wails._.SendMessage('SS'); + + // Now wails runtime is loaded, wails for the ready event + // and callback to the main app + // window.wails.Events.On('wails:loaded', function () { + if (callback) { + log('Notifying application'); + callback(window.wails); + } + // }); + break; + // Notifications + case 'n': + window.wails._.Notify(message.data.slice(1)); + break; + // // Binding + // case 'b': + // const binding = message.data.slice(1); + // //log("Binding: " + binding) + // window.wails._.NewBinding(binding); + // break; + // // Call back + case 'c': + const callbackData = message.data.slice(1); + window.wails._.Callback(callbackData); + break; + // Tray + case 'T': + const trayMessage = message.data.slice(1); + switch (trayMessage[0]) { + case 'S': + // Set tray + const trayJSON = trayMessage.slice(1); + let tray = JSON.parse(trayJSON); + setTray(tray); + break; + case 'U': + // Update label + const updateTrayLabelJSON = trayMessage.slice(1); + let trayLabelData = JSON.parse(updateTrayLabelJSON); + updateTrayLabel(trayLabelData); + break; + case 'D': + // Delete Tray Menu + const id = trayMessage.slice(1); + deleteTrayMenu(id); + break; + default: + log('Unknown tray message: ' + message.data); + } + break; - // Now wails runtime is loaded, wails for the ready event - // and callback to the main app - // window.wails.Events.On('wails:loaded', function () { - if (callback) { - log('Notifying application'); - callback(window.wails); - } - // }); - break; - // Notifications - case 'n': - window.wails._.Notify(message.data.slice(1)); - break; - // // Binding - // case 'b': - // const binding = message.data.slice(1); - // //log("Binding: " + binding) - // window.wails._.NewBinding(binding); - // break; - // // Call back - case 'c': - const callbackData = message.data.slice(1); - window.wails._.Callback(callbackData); - break; - // Tray - case 'T': - const trayMessage = message.data.slice(1); - switch (trayMessage[0]) { - case 'S': - // Set tray - const trayJSON = trayMessage.slice(1); - let tray = JSON.parse(trayJSON); - setTray(tray); - break - case 'U': - // Update label - const updateTrayLabelJSON = trayMessage.slice(1); - let trayLabelData = JSON.parse(updateTrayLabelJSON); - updateTrayLabel(trayLabelData); - break - case 'D': - // Delete Tray Menu - const id = trayMessage.slice(1); - deleteTrayMenu(id); - break - default: - log('Unknown tray message: ' + message.data); - } - break; - - default: - log('Unknown message: ' + message.data); - } + default: + log('Unknown message: ' + message.data); + } } /* diff --git a/v2/internal/runtime/js/runtime/package.json b/v2/internal/runtime/js/runtime/package.json index 1c63e340..15597bee 100644 --- a/v2/internal/runtime/js/runtime/package.json +++ b/v2/internal/runtime/js/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@wails/runtime", - "version": "1.3.14", + "version": "1.3.15", "description": "Wails V2 Javascript runtime library", "main": "main.js", "types": "runtime.d.ts", diff --git a/v2/internal/runtime/js/runtime/src/package-lock.json b/v2/internal/runtime/js/runtime/src/package-lock.json index f87d6849..5397423c 100644 --- a/v2/internal/runtime/js/runtime/src/package-lock.json +++ b/v2/internal/runtime/js/runtime/src/package-lock.json @@ -1,616 +1,8 @@ { "name": "bridge", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "bridge", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.1.1", - "rollup": "^2.38.5", - "rollup-plugin-svelte": "^7.1.0", - "rollup-plugin-terser": "^7.0.2", - "svelte": "^3.32.2" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/highlight": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", - "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz", - "integrity": "sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.1.1.tgz", - "integrity": "sha512-zlBXR4eRS+2m79TsUZWhsd0slrHUYdRx4JF+aVQm+MI0wsKdlpC2vlDVjmlGvtZY1vsefOT9w3JxvmWSBei+Lg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", - "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/rollup": { - "version": "2.38.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.5.tgz", - "integrity": "sha512-VoWt8DysFGDVRGWuHTqZzT02J0ASgjVq/hPs9QcBOGMd7B+jfTr/iqMVEyOi901rE3xq+Deq66GzIT1yt7sGwQ==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/rollup-plugin-svelte": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", - "integrity": "sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==", - "dev": true, - "dependencies": { - "require-relative": "^0.8.7", - "rollup-pluginutils": "^2.8.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "node_modules/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "dependencies": { - "estree-walker": "^0.6.1" - } - }, - "node_modules/rollup-pluginutils/node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svelte": { - "version": "3.32.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.32.2.tgz", - "integrity": "sha512-Zxh1MQQl/+vnToKbU1Per+PoMN8Jb2MeKJcGxiOsCGR677hXw7jkMfbnNXq33+dxIzV/HfA4xtoSPJrqeB0VUg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - }, "dependencies": { "@babel/code-frame": { "version": "7.12.13", diff --git a/v2/internal/runtime/js/runtime/src/websocket.js b/v2/internal/runtime/js/runtime/src/websocket.js index 01f2d7b3..8000f527 100644 --- a/v2/internal/runtime/js/runtime/src/websocket.js +++ b/v2/internal/runtime/js/runtime/src/websocket.js @@ -10,8 +10,8 @@ The lightweight framework for web-like apps /* jshint esversion: 6 */ -import {setTray, hideOverlay, showOverlay, updateTrayLabel, deleteTrayMenu} from "./store"; -import {log} from "./log"; +import {setTray, hideOverlay, showOverlay, updateTrayLabel, deleteTrayMenu} from './store'; +import {log} from './log'; let websocket = null; let callback = null; @@ -19,152 +19,152 @@ let connectTimer; export function StartWebsocket(userCallback) { - callback = userCallback; + callback = userCallback; - window.onbeforeunload = function() { - if( websocket ) { - websocket.onclose = function () { }; - websocket.close(); - websocket = null; - } - } + window.onbeforeunload = function() { + if( websocket ) { + websocket.onclose = function () { }; + websocket.close(); + websocket = null; + } + }; - // ...and attempt to connect - connect(); + // ...and attempt to connect + connect(); } function setupIPCBridge() { - // darwin - window.webkit = { - messageHandlers: { - external: { - postMessage: (message) => { - websocket.send(message); - } - }, - windowDrag: { - postMessage: () => { - // Ignore window drag events - } - } - } - }; + // darwin + window.webkit = { + messageHandlers: { + external: { + postMessage: (message) => { + websocket.send(message); + } + }, + windowDrag: { + postMessage: () => { + // Ignore window drag events + } + } + } + }; } // Handles incoming websocket connections function handleConnect() { - log('Connected to backend'); - setupIPCBridge(); - hideOverlay(); - clearInterval(connectTimer); - websocket.onclose = handleDisconnect; - websocket.onmessage = handleMessage; + log('Connected to backend'); + setupIPCBridge(); + hideOverlay(); + clearInterval(connectTimer); + websocket.onclose = handleDisconnect; + websocket.onmessage = handleMessage; } // Handles websocket disconnects function handleDisconnect() { - log('Disconnected from backend'); - websocket = null; - showOverlay(); - connect(); + log('Disconnected from backend'); + websocket = null; + showOverlay(); + connect(); } // Try to connect to the backend every 1s (default value). function connect() { - connectTimer = setInterval(function () { - if (websocket == null) { - websocket = new WebSocket('ws://' + window.location.hostname + ':34115/bridge'); - websocket.onopen = handleConnect; - websocket.onerror = function (e) { - e.stopImmediatePropagation(); - e.stopPropagation(); - e.preventDefault(); - websocket = null; - return false; - }; - } - }, 1000); + connectTimer = setInterval(function () { + if (websocket == null) { + websocket = new WebSocket('ws://' + window.location.hostname + ':34115/bridge'); + websocket.onopen = handleConnect; + websocket.onerror = function (e) { + e.stopImmediatePropagation(); + e.stopPropagation(); + e.preventDefault(); + websocket = null; + return false; + }; + } + }, 1000); } // Adds a script to the Dom. // Removes it if second parameter is true. function addScript(script, remove) { - const s = document.createElement('script'); - s.setAttribute('type', 'text/javascript'); - s.textContent = script; - document.head.appendChild(s); + const s = document.createElement('script'); + s.setAttribute('type', 'text/javascript'); + s.textContent = script; + document.head.appendChild(s); - // Remove internal messages from the DOM - if (remove) { - s.parentNode.removeChild(s); - } + // Remove internal messages from the DOM + if (remove) { + s.parentNode.removeChild(s); + } } function handleMessage(message) { - // As a bridge we ignore js and css injections - switch (message.data[0]) { - // Wails library - inject! - case 'b': - message = message.data.slice(1) - addScript(message); - log('Loaded Wails Runtime'); + // As a bridge we ignore js and css injections + switch (message.data[0]) { + // Wails library - inject! + case 'b': + message = message.data.slice(1); + addScript(message); + log('Loaded Wails Runtime'); - // We need to now send a message to the backend telling it - // we have loaded (System Start) - window.webkit.messageHandlers.external.postMessage("SS"); + // We need to now send a message to the backend telling it + // we have loaded (System Start) + window.wails._.SendMessage('SS'); + + // Now wails runtime is loaded, wails for the ready event + // and callback to the main app + // window.wails.Events.On('wails:loaded', function () { + if (callback) { + log('Notifying application'); + callback(window.wails); + } + // }); + break; + // Notifications + case 'n': + window.wails._.Notify(message.data.slice(1)); + break; + // // Binding + // case 'b': + // const binding = message.data.slice(1); + // //log("Binding: " + binding) + // window.wails._.NewBinding(binding); + // break; + // // Call back + case 'c': + const callbackData = message.data.slice(1); + window.wails._.Callback(callbackData); + break; + // Tray + case 'T': + const trayMessage = message.data.slice(1); + switch (trayMessage[0]) { + case 'S': + // Set tray + const trayJSON = trayMessage.slice(1); + let tray = JSON.parse(trayJSON); + setTray(tray); + break; + case 'U': + // Update label + const updateTrayLabelJSON = trayMessage.slice(1); + let trayLabelData = JSON.parse(updateTrayLabelJSON); + updateTrayLabel(trayLabelData); + break; + case 'D': + // Delete Tray Menu + const id = trayMessage.slice(1); + deleteTrayMenu(id); + break; + default: + log('Unknown tray message: ' + message.data); + } + break; - // Now wails runtime is loaded, wails for the ready event - // and callback to the main app - // window.wails.Events.On('wails:loaded', function () { - if (callback) { - log('Notifying application'); - callback(window.wails); - } - // }); - break; - // Notifications - case 'n': - window.wails._.Notify(message.data.slice(1)); - break; - // // Binding - // case 'b': - // const binding = message.data.slice(1); - // //log("Binding: " + binding) - // window.wails._.NewBinding(binding); - // break; - // // Call back - case 'c': - const callbackData = message.data.slice(1); - window.wails._.Callback(callbackData); - break; - // Tray - case 'T': - const trayMessage = message.data.slice(1); - switch (trayMessage[0]) { - case 'S': - // Set tray - const trayJSON = trayMessage.slice(1); - let tray = JSON.parse(trayJSON) - setTray(tray) - break - case 'U': - // Update label - const updateTrayLabelJSON = trayMessage.slice(1); - let trayLabelData = JSON.parse(updateTrayLabelJSON) - updateTrayLabel(trayLabelData) - break - case 'D': - // Delete Tray Menu - const id = trayMessage.slice(1); - deleteTrayMenu(id) - break - default: - log('Unknown tray message: ' + message.data); - } - break; - - default: - log('Unknown message: ' + message.data); - } + default: + log('Unknown message: ' + message.data); + } } diff --git a/v2/pkg/commands/build/build.go b/v2/pkg/commands/build/build.go index 4c7c0c1f..f3f61580 100644 --- a/v2/pkg/commands/build/build.go +++ b/v2/pkg/commands/build/build.go @@ -33,7 +33,7 @@ type Options struct { UserTags []string // Tags to pass to the Go compiler Logger *clilogger.CLILogger // All output to the logger OutputType string // EG: desktop, server.... - Mode Mode // release or debug + Mode Mode // release or debug or dev ProjectData *project.Project // The project data Pack bool // Create a package for the app after building Platform string // The platform to build for