Compare commits

...

500 Commits

Author SHA1 Message Date
Lea Anthony 1b7d1e61cc v2.0.0-alpha.8 2021-01-13 23:47:15 +11:00
Lea Anthony 15a273458e Ensure build directory exists when building 2021-01-13 23:46:47 +11:00
Lea Anthony eef8eb756f Bump version 2021-01-13 22:56:09 +11:00
Lea Anthony e65118e962 Fixed and refactored context menu support 2021-01-13 22:51:44 +11:00
Lea Anthony de06fc7dcc Remove a ton of unused code 2021-01-13 21:29:20 +11:00
Lea Anthony a86fbbb440 Removal of menu IDs. WARNING: context menus are currently broken 2021-01-13 21:14:44 +11:00
Lea Anthony 3045ec107f attempt at preventing menu flicker when removing an icon 2021-01-13 20:47:08 +11:00
Lea Anthony 3a9557ad30 Support removal of tray icons 2021-01-13 20:38:46 +11:00
Lea Anthony 583153383a Refactor, tidy up and trim the fat! 2021-01-13 20:19:01 +11:00
Lea Anthony 3f53e8fd5f Refactor, tidy up and trim the fat! 2021-01-13 11:47:54 +11:00
Lea Anthony 5c9402323a Initial support for multiple traymenus 2021-01-13 10:28:32 +11:00
Lea Anthony 1921862b53 Partially introduce context menu changes back 2021-01-12 21:20:08 +11:00
Lea Anthony 0f7acd39fc [WIP] Fix the madness 2021-01-12 20:39:19 +11:00
Lea Anthony 1a7507f524 [WIP] Add tray menu store + refactor 2021-01-12 16:55:30 +11:00
Lea Anthony db6dde3e50 [WIP] Support tray in menu manager 2021-01-12 15:55:28 +11:00
Lea Anthony 4e58b7697a Add context menu to menumanager. Slight refactor. 2021-01-11 14:19:01 +11:00
Lea Anthony 55d7d9693f Removed Menu GetByID / RemoveByID 2021-01-11 13:41:07 +11:00
Lea Anthony b4b7c9d306 Implemented MenuItem.Remove() to remove from the menu structures 2021-01-11 11:57:49 +11:00
Lea Anthony a4153fae57 Remove Menu.On() 2021-01-11 11:25:48 +11:00
Lea Anthony 8053357d99 Support Menu updates! 2021-01-11 11:21:28 +11:00
Lea Anthony 7347d2caa2 Add wails debug command 2021-01-11 11:20:25 +11:00
Lea Anthony e6491bcbb7 Fix bad deallocation of context menus 2021-01-11 07:03:59 +11:00
Lea Anthony 26a291dbee [WIP] Use json payload for click message 2021-01-11 06:40:00 +11:00
Lea Anthony 8ee8c9b07c [WIP] New menu processor 2021-01-10 21:31:13 +11:00
Lea Anthony 3a2d01813a Don't inline functions in debug builds 2021-01-10 20:32:25 +11:00
Lea Anthony d2dadc386f Add combo modifier to kitchen sink 2021-01-08 11:39:18 +11:00
Lea Anthony faa8f02b08 Bugfix for message dialog icons 2021-01-08 11:39:02 +11:00
Lea Anthony fbee9ba240 Support UpdateContextMenus. Submenus are now *menu.Menu. Tidy up++ 2021-01-08 06:28:51 +11:00
Lea Anthony 2a69786d7e Remove old code (woohoo!) 2021-01-07 21:36:39 +11:00
Lea Anthony f460bf91ef [WIP] Normalisation of context menus creation/callbacks.
TODO: UpdateContextMenu()
2021-01-07 21:34:04 +11:00
Lea Anthony bd74d45a91 Normalisation of callbacks for menus. App menu converted to new Menus. 2021-01-06 20:50:41 +11:00
Lea Anthony c65522f0b6 Huge refactor of menus. Start of normalisation of callbacks. 2021-01-06 17:36:59 +11:00
Lea Anthony 5f2c437136 Bugfix dealloc contextmenus. Create common.h. WIP: new menu handling 2021-01-06 12:53:11 +11:00
Lea Anthony 87e974e080 Refactor/Tidy up Ffenestri darwin 2021-01-06 11:56:01 +11:00
Lea Anthony f77729fc0b v2.0.0-alpha.6 2021-01-05 14:28:50 +11:00
Lea Anthony 2a8ce96830 Remove custom asset bundling. Use Go's embed instead! 2021-01-05 14:28:18 +11:00
Lea Anthony 9be539cfb8 Force rebuild each time to pick up .h changes Tidy up go.mod. Bump version. 2021-01-05 14:01:53 +11:00
Lea Anthony e44f2fe06d Moved version out of main. 2021-01-05 13:26:31 +11:00
Lea Anthony ad65d55abd Misc fixes for module build 2021-01-05 13:20:44 +11:00
Lea Anthony 2b5bbfd897 Script to rebuild runtime_*.c 2021-01-05 13:01:38 +11:00
Lea Anthony d2020fedda Move generated assets to build dir. Precompile platform runtime. 2021-01-05 13:01:03 +11:00
Lea Anthony 98789bd85a Fix rollup-plugin-svelte in KS 2021-01-04 22:23:07 +11:00
Lea Anthony e6ace2fafd Add Pace to Thanks 2021-01-04 19:52:12 +11:00
Lea Anthony a55fc4d0e9 Refactor TrayOptions to Tray. Add ID. 2021-01-04 15:58:28 +11:00
Lea Anthony a09e9d4586 Merge branch 'develop' into feature/v2-mac 2021-01-04 13:54:02 +11:00
Lea Anthony 0d49a8cc83 v1.11.0 2021-01-04 13:46:08 +11:00
Lea Anthony ba7c8cf0e0 Merge branch 'develop' into feature/v2-mac 2021-01-04 13:41:36 +11:00
Lea Anthony 60f67d4642 Remove old method 2021-01-03 22:07:05 +11:00
Lea Anthony 0dc6c20c65 Provide a better error message when trying to bind functions 2021-01-03 22:05:40 +11:00
Lea Anthony 5d41aad539 Misc lint fixes 2021-01-03 21:31:19 +11:00
Lea Anthony e9a0e45d5c Support js & css in link tags 2021-01-03 21:20:29 +11:00
Lea Anthony 2dedd0b702 Expose Store 2021-01-03 20:20:44 +11:00
Lea Anthony 1889973af1 Dedupe assetbundle 2021-01-03 20:06:07 +11:00
Lea Anthony 75e852451c Fix context menu bug 2021-01-03 09:56:45 +11:00
Lea Anthony cfee44b18b Fix typo 2021-01-03 05:31:05 +11:00
Lea Anthony f384fc7562 Add -k flag for debug purposes 2021-01-03 05:02:48 +11:00
Lea Anthony 44c55d06a6 Create dialog dir if missing 2021-01-02 13:37:58 +11:00
Lea Anthony f4ca9a6b9e Update svelte dependencies 2021-01-02 13:37:15 +11:00
Lea Anthony a54d875ceb Fix misc build issues 2021-01-01 13:00:38 +11:00
Lea Anthony 657df8bdda Use assets dir in project for all application assets 2021-01-01 12:53:06 +11:00
Lea Anthony c0fabc0bb7 Default dialog icon generation improvement 2021-01-01 12:43:21 +11:00
Lea Anthony 4fd476bb7d Default readme for assets directory 2021-01-01 12:42:52 +11:00
Lea Anthony be0a9ddf6b Handle WailsInit() errors 2021-01-01 12:39:59 +11:00
Lea Anthony f7db0b7373 Fix return values of default App method 2021-01-01 12:37:52 +11:00
Lea Anthony 5ca57e446a Extra guards during destroy 2021-01-01 12:37:16 +11:00
Lea Anthony 33a27b06a6 Add Message dialog to Kitchen Sink 2020-12-31 14:52:45 +11:00
Lea Anthony b50acaba91 Fix 'ResolvesAliases' typo 2020-12-31 11:04:10 +11:00
Lea Anthony 6253ac30b7 Support Message dialog in JS runtime 2020-12-31 11:02:32 +11:00
Lea Anthony 2a93e2694d Retina & theme aware dialog icons. Default icons + override ability 2020-12-30 22:36:23 +11:00
Lea Anthony 91fb3501c5 Support custom dialog icons. Move icons to new dir. 2020-12-30 08:27:00 +11:00
Lea Anthony c7d5e7de72 Add CopyDir 2020-12-30 08:25:16 +11:00
Lea Anthony 02ef02ec9e Support wails doctor for Mac 2020-12-30 00:18:59 +11:00
Lea Anthony f77626490f Support Tray.SetIcon in KitchenSink 2020-12-29 15:22:00 +11:00
Lea Anthony 6fd13fb4d4 Support Tray.SetIcon in runtime 2020-12-29 15:20:35 +11:00
Lea Anthony 9cd5ad69ce Test fix for linux high CPU usage 2020-12-29 07:48:18 +11:00
Lea Anthony 7dbf74c3e0 v1.11.0-pre3 2020-12-29 07:38:44 +11:00
Lea Anthony 6613cff1d5 Merge remote-tracking branch 'origin/develop' into develop 2020-12-29 07:29:48 +11:00
Lea Anthony 6a2700e0bf Limit v1 updates to v1 2020-12-29 07:26:24 +11:00
Lea Anthony e18ba0eb81 Handle no tray icons 2020-12-28 14:49:15 +11:00
Lea Anthony 25f464c177 Refactor accelerator to keys package 2020-12-26 14:58:22 +11:00
Lea Anthony 57a9d5f472 Update server client API 2020-12-26 07:37:40 +11:00
Lea Anthony 3b0f852f37 Updated accelerators API 2020-12-26 06:11:22 +11:00
Lea Anthony a85c8ba894 Remove "WithAccellerator" methods. Now mandatory in base methods 2020-12-26 06:01:10 +11:00
Lea Anthony f0c932713b Support changing tray icon at runtime
Support both icon & text in tray
2020-12-24 10:05:55 +11:00
Lea Anthony 8625e99625 Add OnThemeChange
Refactor Theme change handling
2020-12-24 07:30:20 +11:00
Lea Anthony c79f86fd03 Remove old tray icon, add new 2020-12-23 06:56:56 +11:00
Lea Anthony a0774cf71c Support loading multiple tray icons 2020-12-23 06:55:45 +11:00
Lea Anthony 16b872352d Support Text label tray 2020-12-22 18:08:38 +11:00
Lea Anthony e414eda151 Fix race condition 2020-12-21 07:19:33 +11:00
Lea Anthony 719f4b5113 Remove debug output 2020-12-21 07:19:20 +11:00
Lea Anthony 8b75d57cff Use release instead of dealloc 2020-12-21 07:18:52 +11:00
Lea Anthony 7aea6980b5 Remove context menu debug log 2020-12-20 21:06:34 +11:00
Lea Anthony 99e790944f Merge branch 'v2-mac-fixes' into feature/v2-mac
# Conflicts:
#	v2/internal/ffenestri/ffenestri_darwin.c
#	v2/internal/ffenestri/ffenestri_darwin.go
#	v2/internal/ffenestri/ffenestri_darwin.h
2020-12-20 21:02:39 +11:00
Lea Anthony 937f0f77c2 Fix NPE 2020-12-20 21:00:32 +11:00
Lea Anthony c86aa7d3c8 Handle null modifiers 2020-12-20 17:55:14 +11:00
Lea Anthony d380a8d6a7 Bugfix for context menus
Proper releasing of NSMenus
2020-12-20 14:09:15 +11:00
Lea Anthony a8995c5377 Support context menu data
Support StartHidden
2020-12-18 15:50:25 +11:00
Lea Anthony 2a6162a91f v1.11.0-pre2 2020-12-17 20:52:57 +11:00
Lea Anthony 4e54229dfb Remove debug info 2020-12-17 20:52:31 +11:00
dependabot[bot] ce58e9eb6c Bump ini from 1.3.5 to 1.3.8 in /runtime/js (#573)
* resolve angular routing broken when app is built

* Revert "resolve angular routing broken when app is built"

This reverts commit e0aab7c27f.

* Update issue templates

* v1.8.1 (#546)

* resolve angular routing broken when app is built

* Updated contributors

* handle Set error on Update method

* Remove incorrect build flag

* v1.8.1-pre1

* added Get method

* fixed return

* implement gopath handling during cross compilation

* update messages to output xgo version

TODO: allow image override

* use wailsapp/xgo:1.0.1 for cross-compiling

* Support platform list in templates

* Add warnings for windows builds

* add fields Tags to ProjectOptions

* add args tags to func BuildNative

* add tags to func BuildDocker

* delete escape tags

* Update Contributors

* feat: Vue3, Vue Router, Vuex, and Typescript Template

* converted spaces to tabs in vue.config.js

* single quotes and tabs

Converted vue.config.js to using single quotes
Converted example.spec.ts to tabs instead of spaces.

* Added semicolons and mocha import

* Update contributors

* Make vue 3 template linux/mac only

* Add tags to build

* Add v2 artefacts

* Update Vuetify in package.json (#537)

* Update contributors

* Replaced the old v-content tag with the new v-main (#536)

* v1.8.1-pre4

* v1.8.1-pre5

* Update issue templates (#541)

* Updated Contributors

* Remove zero copy string conversion

* v1.8.1-pre6

* Initial support for firebug (#543)

* Initial support for firebug

* Remove windows message

* v1.8.1-pre7

* Update contributors

* Allow use of custom HTML

* Allow use of custom HTML (#545)

* v1.8.1

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>

* v1.10.1 (#572)

* Bump ini from 1.3.5 to 1.3.8 in /runtime/js

Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

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

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-16 21:38:14 +11:00
dependabot[bot] 3c49577d5b Bump ini from 1.3.5 to 1.3.8 in /runtime/js/runtime (#575)
* resolve angular routing broken when app is built

* Revert "resolve angular routing broken when app is built"

This reverts commit e0aab7c27f.

* Update issue templates

* v1.8.1 (#546)

* resolve angular routing broken when app is built

* Updated contributors

* handle Set error on Update method

* Remove incorrect build flag

* v1.8.1-pre1

* added Get method

* fixed return

* implement gopath handling during cross compilation

* update messages to output xgo version

TODO: allow image override

* use wailsapp/xgo:1.0.1 for cross-compiling

* Support platform list in templates

* Add warnings for windows builds

* add fields Tags to ProjectOptions

* add args tags to func BuildNative

* add tags to func BuildDocker

* delete escape tags

* Update Contributors

* feat: Vue3, Vue Router, Vuex, and Typescript Template

* converted spaces to tabs in vue.config.js

* single quotes and tabs

Converted vue.config.js to using single quotes
Converted example.spec.ts to tabs instead of spaces.

* Added semicolons and mocha import

* Update contributors

* Make vue 3 template linux/mac only

* Add tags to build

* Add v2 artefacts

* Update Vuetify in package.json (#537)

* Update contributors

* Replaced the old v-content tag with the new v-main (#536)

* v1.8.1-pre4

* v1.8.1-pre5

* Update issue templates (#541)

* Updated Contributors

* Remove zero copy string conversion

* v1.8.1-pre6

* Initial support for firebug (#543)

* Initial support for firebug

* Remove windows message

* v1.8.1-pre7

* Update contributors

* Allow use of custom HTML

* Allow use of custom HTML (#545)

* v1.8.1

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>

* v1.10.1 (#572)

* Bump ini from 1.3.5 to 1.3.8 in /runtime/js/runtime

Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

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

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-16 21:37:08 +11:00
Lea Anthony fb8aa8cc24 v1.11.0-pre1 2020-12-16 21:31:53 +11:00
Lea Anthony b45e04f2db v1.11.0-rc1 2020-12-16 21:31:21 +11:00
Elie Grenon (DrunkenPoney) 026daf5e57 Fix vue template dependencies versions (fixes #574) (#576)
* resolve angular routing broken when app is built

* Revert "resolve angular routing broken when app is built"

This reverts commit e0aab7c27f.

* Update issue templates

* v1.8.1 (#546)

* resolve angular routing broken when app is built

* Updated contributors

* handle Set error on Update method

* Remove incorrect build flag

* v1.8.1-pre1

* added Get method

* fixed return

* implement gopath handling during cross compilation

* update messages to output xgo version

TODO: allow image override

* use wailsapp/xgo:1.0.1 for cross-compiling

* Support platform list in templates

* Add warnings for windows builds

* add fields Tags to ProjectOptions

* add args tags to func BuildNative

* add tags to func BuildDocker

* delete escape tags

* Update Contributors

* feat: Vue3, Vue Router, Vuex, and Typescript Template

* converted spaces to tabs in vue.config.js

* single quotes and tabs

Converted vue.config.js to using single quotes
Converted example.spec.ts to tabs instead of spaces.

* Added semicolons and mocha import

* Update contributors

* Make vue 3 template linux/mac only

* Add tags to build

* Add v2 artefacts

* Update Vuetify in package.json (#537)

* Update contributors

* Replaced the old v-content tag with the new v-main (#536)

* v1.8.1-pre4

* v1.8.1-pre5

* Update issue templates (#541)

* Updated Contributors

* Remove zero copy string conversion

* v1.8.1-pre6

* Initial support for firebug (#543)

* Initial support for firebug

* Remove windows message

* v1.8.1-pre7

* Update contributors

* Allow use of custom HTML

* Allow use of custom HTML (#545)

* v1.8.1

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>

* v1.10.1 (#572)

* fix dependencies versions

Co-authored-by: Arthur Wiebe <arthur@artooro.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Altynbek <go.gelleson@gmail.com>
Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com>
Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com>
2020-12-16 21:27:15 +11:00
Lea Anthony 34ac62e4ac Updated tray icon 2020-12-16 08:59:01 +11:00
Lea Anthony a1f9d9ca06 Handle oncontext event 2020-12-16 08:54:24 +11:00
Lea Anthony e6fbd03346 Bugfix error message 2020-12-16 08:53:11 +11:00
Lea Anthony dd35f0119b Better error handling 2020-12-11 05:41:24 +11:00
Lea Anthony b837b1e131 Tray menu support
Bugfix move after tray use
Refactored options to handle default tray/menu
2020-12-10 07:16:10 +11:00
Lea Anthony 7832a3be19 v1.10.1 2020-12-08 20:50:08 +11:00
Lea Anthony 8a768cce77 v1.10.0 2020-12-08 20:40:37 +11:00
Lea Anthony 0802d0d57a Tray menu callbacks working 2020-12-07 07:08:33 +11:00
Lea Anthony 6fa2ebdd4f Lint fix & tidy up 2020-12-06 21:15:23 +11:00
Lea Anthony 11bf564b73 Preliminary Tray support 2020-12-06 21:05:21 +11:00
Lea Anthony 65bea04080 Pass radio callback through methods 2020-12-06 17:52:05 +11:00
Lea Anthony 4572b790c6 Pass checkbox callback through methods 2020-12-06 17:47:41 +11:00
Lea Anthony f419941065 Pass menuItemMap through methods instead of global 2020-12-06 17:32:19 +11:00
Lea Anthony d3d965ee1f more logger fixes 2020-12-06 07:14:19 +11:00
Lea Anthony 2a55983bc9 Fix logger 2020-12-05 14:44:28 +11:00
Lea Anthony 7e42052da0 InsertBefore/InsertAfter supported 2020-12-05 14:14:46 +11:00
Lea Anthony e8bb950e06 Updates for dynamic menus
Cleanup of logging
2020-12-05 07:52:59 +11:00
Lea Anthony 13dc0c78df Remove browser test 2020-12-04 15:06:01 +11:00
Lea Anthony a081c1e498 Support for dynamic menus.
Fixed bug in accelerator handling
2020-12-04 15:04:51 +11:00
Lea Anthony a3e50e760e Tidy Up dialog 2020-12-02 05:56:20 +11:00
Lea Anthony b6aa53175f Create Menu struct for kitchensink 2020-12-02 05:55:02 +11:00
Lea Anthony 094d8d4b75 fix bug with function key comparisons 2020-12-01 09:11:16 +11:00
Lea Anthony 0fa67c94c1 Graceful shudown - FINALLY! 2020-11-29 15:56:14 +11:00
Lea Anthony 083aee1588 Support F-keys & a couple more system keys 2020-11-29 15:24:27 +11:00
Lea Anthony 5c39467879 Support more accelerator keys 2020-11-29 14:18:53 +11:00
Lea Anthony fb1d4c6325 Support for Accelerators! 2020-11-28 20:57:07 +11:00
Lea Anthony a0fe2f1e13 UTF-8 test 2020-11-27 22:22:30 +11:00
Lea Anthony dbe6000632 Support for radio menu items 2020-11-27 22:07:44 +11:00
Lea Anthony 7e67562e19 Support EndeavourOS (#565) 2020-11-26 20:44:42 +11:00
Lea Anthony 42dc96cf6b Support checkboxes 2020-11-25 08:10:27 +11:00
Lea Anthony 4fd3516f41 Support Hidden/Disabled. Normal->Text 2020-11-24 20:12:10 +11:00
Lea Anthony 6f218264ed Initial support for menus 2020-11-24 19:43:25 +11:00
Lea Anthony 810b3c7440 Add default menu for mac apps 2020-11-21 21:38:18 +11:00
Lea Anthony 40fdf75042 Disable context menu in production mode 2020-11-21 20:32:55 +11:00
Lea Anthony bc260b08b2 Better devtools handling 2020-11-21 12:40:19 +11:00
Lea Anthony b920f45f60 Formatting update. 2020-11-21 12:07:55 +11:00
Lea Anthony 7f02f6886f Improved project generation 2020-11-21 11:56:01 +11:00
Lea Anthony aa271d6498 Support git init. Get author details. 2020-11-21 11:43:13 +11:00
Lea Anthony 9e6ae4d762 Support building Mac package 2020-11-21 07:09:25 +11:00
Lea Anthony ef8b58b208 Set log level to ERROR for production build 2020-11-20 14:53:42 +11:00
Lea Anthony 0422921dc7 Misc documentation updates 2020-11-20 14:45:35 +11:00
Lea Anthony 5ba03937c3 Updated Dialog Examples 2020-11-19 08:56:57 +11:00
Lea Anthony cc4967d457 Add dialog to kitchensink 2020-11-19 07:04:42 +11:00
Lea Anthony eaeecbb180 Support Dialog in runtime 2020-11-19 07:04:08 +11:00
Lea Anthony 069de31003 Convert args to [] 2020-11-19 07:03:12 +11:00
Lea Anthony ae5c74b6cd ResolveAlias -> ResolvesAlias 2020-11-19 07:02:29 +11:00
Lea Anthony 716888dcb2 Disable module generation 2020-11-17 21:46:20 +11:00
Lea Anthony ca4e2b2391 Cosmetic changes 2020-11-17 21:44:48 +11:00
Lea Anthony 630abbd3c8 Rmoved v1 dep :/ 2020-11-17 21:36:10 +11:00
Lea Anthony 33f40c2eac relative replace in go.mod 2020-11-17 21:29:31 +11:00
Lea Anthony 7c7b6ba082 Runtime updates 2020-11-17 21:19:09 +11:00
Lea Anthony 205a6db9f1 Open link to website/github 2020-11-17 21:19:00 +11:00
Lea Anthony 659fe1b281 Disable set title if needed 2020-11-17 21:18:38 +11:00
Lea Anthony e86d622219 Add appconfig store 2020-11-17 07:02:58 +11:00
Lea Anthony ee3da60002 Sync new JS syncstores on creation 2020-11-17 06:58:14 +11:00
Lea Anthony 88643134c9 Add AppConfig to runtime.System 2020-11-17 06:57:43 +11:00
Lea Anthony 56553bb683 Remove logger from json encoded app config 2020-11-17 06:56:51 +11:00
Lea Anthony cd14f4221e Merge branch 'develop' into feature/v2-mac 2020-11-16 07:12:01 +11:00
Lea Anthony 108fcbb161 Comment about window title 2020-11-15 15:42:46 +11:00
Lea Anthony e12762a584 Un/Fullscreen, SetTitle in Kitchen Sink 2020-11-15 15:10:09 +11:00
Lea Anthony 98cc356b92 Un/Fullscreen, SetTitle in Runtime 2020-11-15 15:09:33 +11:00
Lea Anthony 32ba9e78fe Improved fullscreen support 2020-11-15 15:08:46 +11:00
Lea Anthony a737d85fa5 Fixd typos in runtime 2020-11-15 12:22:03 +11:00
Lea Anthony 435ac02647 Update runtime.Window 2020-11-15 12:18:37 +11:00
Lea Anthony 255b4e103a Add Window to kitchensink 2020-11-15 12:01:43 +11:00
Lea Anthony bd8771849b Support size/position in Go runtime 2020-11-15 12:01:15 +11:00
Lea Anthony b32349effe Improve min/maximise 2020-11-15 12:00:57 +11:00
Lea Anthony cd03b4b633 Merge branch 'feature/v2-mac' of github.com:wailsapp/wails into feature/v2-mac 2020-11-15 10:18:33 +11:00
Lea Anthony c45315d61d Add window to runtime 2020-11-15 10:16:56 +11:00
Lea Anthony 62374b9b53 Js package generation (#554)
* WIP

* Generation of index.js

* Add RelativeToCwd

* Add JSDoc comments

* Convert to ES6 syntax

* Fix typo

* Initial generation of typescript declarations

* Typescript improvements

* Improved @returns jsdoc

* Improved declaration files

* Simplified output

* Rename file

* Tidy up

* Revert "Simplified output"

This reverts commit 15cdf7382b21a15a36616adbca13c9b034a1907b.

* Now parsing actual code

* Support Array types

* Reimagined parser

* Wrap parsing in Parser

* Rewritten module generator (TS Only)

* Final touches

* Slight refactor to improve output

* Struct comments. External struct literal binding

* Reworked project parser *working*

* remove debug info

* Refactor of parser

* remove the spew

* Better Ts support

* Better project generation logic

* Support local functions in bind()

* JS Object generation. Linting.

* Support json tags in module generation

* Updated mod files

* Support vscode file generation

* Better global.d.ts

* add ts-check to templates

* Support TS declaration files

* improved 'generate' command for module
2020-11-15 09:25:38 +11:00
Lea Anthony 25d8a8763a v1.10.0-pre1 2020-11-01 06:32:42 +11:00
Lea Anthony 7929584ec5 542 use supplied html (#547)
* Fix custom HTML

* Update HTML escaping

* Added more docs around config
2020-11-01 06:31:35 +11:00
Lea Anthony 73ee9ef530 v1.9.1 2020-10-31 16:24:35 +11:00
Lea Anthony 003eecc4ff Fix firebug flag 2020-10-31 16:23:23 +11:00
Lea Anthony f97341abbe Revert "Allow use of custom HTML (#545)"
This reverts commit dc605c1683.
2020-10-31 16:15:29 +11:00
Lea Anthony e2599c0f76 v1.9.0 2020-10-29 20:20:26 +11:00
Lea Anthony 39878c1a52 v1.8.1 2020-10-29 20:17:42 +11:00
Lea Anthony c0932f3fa4 Merge branches '542-use-supplied-HTML' and 'develop' of github.com:wailsapp/wails into develop 2020-10-29 20:17:37 +11:00
Lea Anthony dc605c1683 Allow use of custom HTML (#545) 2020-10-29 19:57:11 +11:00
Lea Anthony c7c9ace232 Allow use of custom HTML 2020-10-29 19:54:49 +11:00
Lea Anthony 5be197b68f Update contributors 2020-10-28 21:33:06 +11:00
Lea Anthony 3e5c406c95 Merge branch 'develop' of https://github.com/wailsapp/wails into develop 2020-10-28 21:21:13 +11:00
Lea Anthony be6bebebe4 v1.8.1-pre7 2020-10-28 21:21:10 +11:00
Lea Anthony 5b33ed28fd Initial support for firebug (#543)
* Initial support for firebug

* Remove windows message
2020-10-28 21:20:47 +11:00
Lea Anthony b7a59daee1 v1.8.1-pre6 2020-10-28 20:39:06 +11:00
Lea Anthony 3d4ea3918b Remove zero copy string conversion 2020-10-28 20:38:33 +11:00
Lea Anthony 4347d950d1 Updated Contributors 2020-10-28 08:41:07 +11:00
Lea Anthony 8e096ff0b0 Update issue templates (#541) 2020-10-27 21:08:10 +11:00
Lea Anthony 6a03a5f8eb Merge branch 'develop' of https://github.com/wailsapp/wails into develop 2020-10-26 20:02:59 +11:00
Lea Anthony 6116f5fc05 v1.8.1-pre5 2020-10-26 20:02:54 +11:00
Lea Anthony c49192e847 Merge branch 'develop' of github.com:wailsapp/wails into develop 2020-10-26 20:00:48 +11:00
Lea Anthony 6fb2489dae v1.8.1-pre4 2020-10-26 19:55:55 +11:00
Balakrishna Prasad Ganne c1acbed2c7 Replaced the old v-content tag with the new v-main (#536) 2020-10-26 18:44:51 +11:00
Lea Anthony 8f6275721a Update contributors 2020-10-26 18:43:47 +11:00
Balakrishna Prasad Ganne ef40a2eb8e Update Vuetify in package.json (#537) 2020-10-26 18:43:04 +11:00
Lea Anthony 4f7b5c71d1 Merge branch 'develop' of github.com:wailsapp/wails into develop 2020-10-26 09:03:04 +11:00
Lea Anthony 49db62afd0 Add v2 artefacts 2020-10-26 09:02:56 +11:00
Lea Anthony 9098632aa3 Add tags to build 2020-10-25 20:44:44 +11:00
Lea Anthony f87a0f039a Make vue 3 template linux/mac only 2020-10-25 20:33:04 +11:00
Lea Anthony a03f5871bd Update contributors 2020-10-25 20:30:47 +11:00
Kyle Muchmore 46f026c04c Added semicolons and mocha import 2020-10-25 20:30:08 +11:00
Kyle Muchmore 5e2373acb1 single quotes and tabs
Converted vue.config.js to using single quotes
Converted example.spec.ts to tabs instead of spaces.
2020-10-25 20:30:08 +11:00
Kyle Muchmore 918d6240f2 converted spaces to tabs in vue.config.js 2020-10-25 20:30:08 +11:00
Kyle Muchmore 453a225427 feat: Vue3, Vue Router, Vuex, and Typescript Template 2020-10-25 20:30:08 +11:00
Lea Anthony 2795684d5c Update Contributors 2020-10-25 20:27:40 +11:00
Altynbek e295a5abd9 delete escape tags 2020-10-25 20:26:29 +11:00
Altynbek fdf18b7dfa add tags to func BuildDocker 2020-10-25 20:26:29 +11:00
Altynbek 1e95d0eb44 add args tags to func BuildNative 2020-10-25 20:26:29 +11:00
Altynbek d7f2d800de add fields Tags to ProjectOptions 2020-10-25 20:26:29 +11:00
Lea Anthony ef4d9ae97c Add warnings for windows builds 2020-10-25 13:57:22 +11:00
Lea Anthony ddb875f788 Dialog WIP 2020-10-24 14:06:57 +11:00
Lea Anthony 9a32852119 Add JS runtime Dialog 2020-10-23 23:56:33 +11:00
Lea Anthony e795283482 Huge improvement to calls: Now handles objects 2020-10-23 22:24:30 +11:00
Lea Anthony e6036d31cf Add System to kitchensink 2020-10-23 11:46:12 +11:00
Lea Anthony 5a85a6e4f9 Expose System methods in Go runtime 2020-10-23 11:24:52 +11:00
Lea Anthony 0113fbff4f Update runtime.System to make all methods 2020-10-23 11:19:38 +11:00
Lea Anthony 145656bc43 Improved runtime.System 2020-10-23 10:42:00 +11:00
Lea Anthony 6153c48c86 Update title 2020-10-21 06:52:52 +11:00
Lea Anthony 912c0125e5 Add Browser examples 2020-10-21 06:40:17 +11:00
Lea Anthony dc2ad3cd3e Remove debug line 2020-10-21 06:02:07 +11:00
Lea Anthony e3783c5480 Fix browser runtime export 2020-10-20 09:24:03 +11:00
Lea Anthony 440abbe3b6 JS Runtime v1.0.8 2020-10-20 09:10:54 +11:00
Lea Anthony 95369d7c3d Unify Browser runtime 2020-10-20 09:10:09 +11:00
Lea Anthony 9e0023961b Update Browser runtime API 2020-10-20 07:16:56 +11:00
Lea Anthony 307e07b4c8 Finish events page 2020-10-20 06:45:46 +11:00
Lea Anthony fb88eadb58 Tidy up events runtime 2020-10-20 06:45:21 +11:00
Lea Anthony 6fdf088531 Revert Fatal on JS Error 2020-10-20 06:45:02 +11:00
Lea Anthony 07b6fc0c52 Update runtime in kitchensink 2020-10-18 16:49:08 +11:00
Lea Anthony 1b466090e8 Remove old Event methods 2020-10-18 16:47:48 +11:00
Lea Anthony c990760f22 Remove old event methods 2020-10-18 16:44:32 +11:00
Lea Anthony aeb7d857ee Support Emit & Once. Improved On. 2020-10-18 11:49:27 +11:00
Lea Anthony 78f99c2697 update runtime definitions 2020-10-18 11:48:56 +11:00
Lea Anthony 7885718d42 Disable annoying smart quotes 2020-10-18 11:48:38 +11:00
Lea Anthony 288da8c147 Improved error handling? 2020-10-18 11:48:20 +11:00
Lea Anthony 7e31db809a Add Events.On 2020-10-17 21:07:00 +11:00
Lea Anthony fb0ccfc8e6 WIP Events.On 2020-10-17 15:10:13 +11:00
Lea Anthony c9bf4e3d48 refactor clilogger 2020-10-17 13:47:13 +11:00
Lea Anthony e8a85d4cd6 Support platform list in templates 2020-10-16 15:15:49 +11:00
Lea Anthony 2a59272b86 hook in windowWillClose 2020-10-16 14:02:49 +11:00
Lea Anthony ff5e2862b8 Fix change in logging levels 2020-10-13 07:49:47 +11:00
Lea Anthony 51678afdc7 @wails/runtime v1.0.4 2020-10-13 07:35:36 +11:00
Lea Anthony 3b6a3df03d Update logger constants to fix default values 2020-10-13 07:34:36 +11:00
Lea Anthony 1c97559151 logging: slight refactor 2020-10-13 06:43:38 +11:00
Lea Anthony 082e695c83 Fix log level reactivity.
Misc fixes and tweaks
2020-10-12 23:36:37 +11:00
Lea Anthony 4a5e4d3a5e Move preview for SetLogLevel 2020-10-12 20:55:47 +11:00
Lea Anthony 8988f29cea More Logging updates 2020-10-12 20:54:33 +11:00
Lea Anthony 6150010d17 Runtime defs update.
Slight System refactor
2020-10-12 20:01:37 +11:00
Lea Anthony c165b97d57 SetLogLevel fully supported 2020-10-12 06:56:51 +11:00
Lea Anthony 39c599d2de Link component 2020-10-12 06:56:32 +11:00
Lea Anthony be952ba2da Terminal output component 2020-10-12 06:56:22 +11:00
Lea Anthony 5a141d343e Better looking scrollbar 2020-10-12 06:55:42 +11:00
Lea Anthony 7e4ad307aa Fully refactored logging 2020-10-11 15:10:25 +11:00
Lea Anthony d8bb418851 Runtime refactor 2020-10-11 13:33:55 +11:00
Lea Anthony f1cd84d0c8 Support dynamic loglevel 2020-10-10 15:06:27 +11:00
Lea Anthony ba6538da7c Made go runtime package public.
Using loglevel store to keep loglevel in sync
2020-10-10 13:57:32 +11:00
Lea Anthony afea1cbb4c Support SetLogLevel() at runtime
Refactor of loglevel
2020-10-10 07:31:23 +11:00
Lea Anthony 19fbc884ae Fix number of methods in Log 2020-10-09 15:44:08 +11:00
Lea Anthony 67861e4f70 Updated Logger interface 2020-10-09 15:39:11 +11:00
Lea Anthony 228285f693 Support Print logging 2020-10-09 15:13:45 +11:00
Lea Anthony 9f62a08cd2 Move Info message to Trace 2020-10-09 14:59:12 +11:00
Lea Anthony d97cd1b75f Runtime v1.0.1 2020-10-09 14:52:07 +11:00
Lea Anthony 5fd8312f63 Support Print in JS runtime 2020-10-09 14:51:26 +11:00
Lea Anthony 90b7d5f519 Support log level 2020-10-09 14:36:42 +11:00
Lea Anthony 93f4549efa Support trace in go runtime 2020-10-09 14:36:28 +11:00
Lea Anthony b5c8dfac97 Support Trace in kitchensink 2020-10-09 14:36:15 +11:00
Lea Anthony ee01b7759e Migrate runtime to @wails 2020-10-09 14:35:43 +11:00
Lea Anthony 8dba591cda Add trace to JS runtime 2020-10-09 14:35:30 +11:00
Lea Anthony 302db87bec Debug refactor 2020-10-09 14:01:35 +11:00
Lea Anthony 161ff3b32a Make Ffenestri use logging subsystem. 2020-10-09 12:15:25 +11:00
Lea Anthony ffdfbb8ae5 Major logging refactor 2020-10-09 11:50:45 +11:00
Lea Anthony 53b54a8e52 Revert logger package 2020-10-09 10:33:11 +11:00
Lea Anthony 0403e0a783 Make logger a public package 2020-10-09 10:30:01 +11:00
Lea Anthony 8a2acacc37 Start Events. List styling moved to global scope. 2020-10-08 21:03:45 +11:00
Lea Anthony 256e84c4d4 Improved CodeBlock. Dark mode to store. 2020-10-08 20:51:14 +11:00
Lea Anthony c10e8788d8 Add logging to kitchen sink 2020-10-08 07:39:15 +11:00
Lea Anthony 6eb89f61b3 Add Log to Go runtime 2020-10-08 07:39:01 +11:00
Lea Anthony e3d2ff9ea1 Remove log package 2020-10-08 07:38:47 +11:00
Lea Anthony 665dfa6aee WIP 2020-10-07 21:09:05 +11:00
Lea Anthony 4f7e2128d1 Better drag support 2020-10-07 07:11:00 +11:00
Lea Anthony 8112facb4e Fix right click crash 2020-10-07 06:44:58 +11:00
Lea Anthony 944261b5e4 initial kitchen sink 2020-10-07 00:52:00 +11:00
Lea Anthony ba528d0534 Debugging 2020-10-07 00:51:22 +11:00
Lea Anthony a28afe86ce Remove unused event messages 2020-10-04 13:37:29 +11:00
Lea Anthony 5e0026e124 Update runtime to v1.0.3 2020-10-04 12:07:56 +11:00
Lea Anthony f23ed3c319 Add Store to go runtime 2020-10-04 12:07:42 +11:00
Lea Anthony 6aae2eb1df Support setting app state at startup 2020-10-04 12:07:10 +11:00
Lea Anthony f4943bc26c Remove generated files 2020-10-04 11:54:05 +11:00
Lea Anthony 1c6578e6ef Use IsDarkMode state store 2020-10-04 11:50:05 +11:00
Lea Anthony 5ef200f21c Refactor system. Add IsDarkMode state store 2020-10-04 11:42:42 +11:00
Lea Anthony b3822137f7 Refactor store. Add get(). 2020-10-04 11:41:39 +11:00
Lea Anthony 858789f442 Port Sync Store 2020-10-04 07:22:00 +11:00
Lea Anthony 3209b39488 Support System calls in Go Runtime 2020-10-03 20:46:18 +10:00
Lea Anthony 0c9f6edeb6 Add system calls to js runtime 2020-10-03 20:45:37 +10:00
Lea Anthony aabcef2958 Add System calls to runtime 2020-10-03 20:45:04 +10:00
Lea Anthony 10d68b2676 Small fixes to frontend events 2020-10-03 15:29:34 +10:00
Lea Anthony e960afe8f6 Support OnMultiple 2020-10-03 15:10:38 +10:00
Lea Anthony ae677ce9db Misc fixes for events 2020-10-03 15:03:14 +10:00
Lea Anthony 7f9c59a021 Support theme mode change event 2020-10-02 15:12:56 +10:00
Lea Anthony d8fdc96899 Add IsDarkMode
Updated runtime test
2020-10-02 11:41:46 +10:00
Lea Anthony c3280e8b60 Update runtime test 2020-10-02 07:45:41 +10:00
Lea Anthony 26a1f78d56 Support Translucent Window Background 2020-10-02 07:45:22 +10:00
Lea Anthony ee9c98c515 Refactor Part 2 2020-10-02 07:11:24 +10:00
Lea Anthony 29ec06fb0a Refactor part 1 2020-10-02 06:52:08 +10:00
Lea Anthony c1155e255b Add default appearance 2020-09-30 20:03:08 +10:00
Lea Anthony 4e39566118 Rename vibrancy to appearance 2020-09-30 19:54:41 +10:00
Lea Anthony 3f3094f0aa Support vibrancy and transparency for webview
Options Colour -> RGBA
2020-09-30 07:25:15 +10:00
Lea Anthony 84730d2f4d Tidy up 2020-09-29 20:36:38 +10:00
Lea Anthony b8bb891275 Frameless is calculated for Mac 2020-09-29 20:34:54 +10:00
Lea Anthony 7bcb5be1a5 Update tests 2020-09-29 07:44:02 +10:00
Lea Anthony 081c842149 Support window dragging 2020-09-29 07:33:16 +10:00
Lea Anthony 6bdcec8105 WIP: Basics of window drag 2020-09-28 22:08:53 +10:00
Lea Anthony 3c7937bff9 Tidy Up 2020-09-28 21:22:11 +10:00
Lea Anthony d7f832c00e Support SaveDialog 2020-09-28 21:13:57 +10:00
Lea Anthony 8cd39f6a9a Support default directory 2020-09-27 20:40:36 +10:00
Lea Anthony ac27137e5a Filter support 2020-09-27 20:26:16 +10:00
Lea Anthony 762632d55a Add comments 2020-09-27 15:15:25 +10:00
Lea Anthony 48c17dac87 Support all dialog properties 2020-09-27 15:05:55 +10:00
Lea Anthony 8666935caf Support multiple files in dialog 2020-09-27 14:49:38 +10:00
Lea Anthony 0ec6707263 Support selecting files+dirs 2020-09-27 14:46:30 +10:00
Lea Anthony d4224772b4 Initial support for OpenDialog 2020-09-27 14:32:08 +10:00
Lea Anthony cd99376da9 Use options struct for dialogs 2020-09-27 10:17:30 +10:00
Lea Anthony 02fd4ec477 Revert changes to v1 2020-09-27 07:58:30 +10:00
Lea Anthony 3b851e9a22 change service bus topics for dialogs 2020-09-26 16:21:18 +10:00
Lea Anthony 5ce5e129cf Remove old dialog code 2020-09-26 16:16:25 +10:00
Lea Anthony 9b0f58ddf5 Support OpenDialog 2020-09-26 16:08:55 +10:00
Lea Anthony bed5619d4e WIP: Support multiple value return 2020-09-25 07:09:55 +10:00
Lea Anthony 69c4e6ea28 Min/Max size supported 2020-09-24 21:43:37 +10:00
Lea Anthony ea7b593693 Fix minmax app 2020-09-24 21:29:26 +10:00
Lea Anthony 7ac833e396 Sample titlebars 2020-09-24 06:45:34 +10:00
Lea Anthony a5e909337e Support TitleBar Default
Fixed merging defaults
2020-09-24 06:39:08 +10:00
Lea Anthony 0c120eccc9 Support HiddenInset Titlebar 2020-09-24 06:22:49 +10:00
Lea Anthony e6addafcdd Support hidden titlebar 2020-09-24 06:19:00 +10:00
Lea Anthony ef11f45df8 Refactored mac titlebar options 2020-09-24 05:57:32 +10:00
Lea Anthony 72fc2204b4 Moved options to own package 2020-09-24 05:46:39 +10:00
Lea Anthony 15c08ef425 Support runtime colour change 2020-09-23 08:48:11 +10:00
Lea Anthony 52bb397105 Support colour 2020-09-22 20:46:36 +10:00
Lea Anthony 5572fccaf6 Add Toolbar support for Mac 2020-09-22 17:48:39 +10:00
Lea Anthony 65d591e2a6 Support more mac window options 2020-09-22 17:19:35 +10:00
Lea Anthony 4bf59301e5 Add HideTitleBar 2020-09-21 17:13:23 +10:00
Lea Anthony 629e8f73f4 Add Mac Application Options 2020-09-21 17:07:10 +10:00
Lea Anthony eb68ba5120 fix setsize and setposition 2020-09-19 23:19:34 +10:00
Lea Anthony a8bff7868b Got get frame working 2020-09-19 07:40:45 +10:00
Lea Anthony ae04b4fcc0 WIP [bugged] 2020-09-18 21:04:23 +10:00
Lea Anthony 5eb91dd3fa More refactoring 2020-09-16 21:23:35 +10:00
Lea Anthony 3ad537fdbb Tidy up 2020-09-16 21:14:18 +10:00
Lea Anthony 2c570bb4f6 Support tons of stuff! 2020-09-16 21:11:17 +10:00
Lea Anthony 461f3aec0a Get it compiling again! 2020-09-16 20:06:32 +10:00
Lea Anthony fd47122e39 Only show window when rendered 2020-09-15 19:57:34 -05:00
Lea Anthony 8de013f192 vscode stuff 2020-09-15 19:57:34 -05:00
Lea Anthony 1dd3a602d7 Support Un/Fullscreen 2020-09-15 19:57:34 -05:00
Lea Anthony a84a49a13f ignore test builds 2020-09-15 19:57:34 -05:00
Lea Anthony 64a6a69bbd Update packages 2020-09-15 19:57:33 -05:00
Lea Anthony d75b9f26f1 Callback hooks for MOAE 2020-09-15 19:57:33 -05:00
Lea Anthony 10cb7f830f Fix logger 2020-09-15 19:57:33 -05:00
Lea Anthony dd3e6de9b2 Add Center + refactor prefs 2020-09-15 19:57:33 -05:00
Lea Anthony d42b84abc1 Callbacks working 2020-09-15 19:57:33 -05:00
Lea Anthony b6c649041b Support sending messages to the backend 2020-09-15 19:57:33 -05:00
Lea Anthony 93ec65be6a More feature flag removal 2020-09-15 19:57:30 -05:00
Lea Anthony bfa8929c47 Remove feature flag code 2020-09-15 19:55:52 -05:00
Lea Anthony 360713c803 lint 2020-09-15 19:55:51 -05:00
Lea Anthony 26ce682824 Ignore favicon for desktop 2020-09-15 19:55:51 -05:00
Lea Anthony 65b546c0f9 Evaluation working correctly. Still WIP 2020-09-15 19:55:51 -05:00
Travis McLane 31494bba22 add darwin platform for server 2020-09-15 19:55:51 -05:00
Lea Anthony f25abb0b26 Semi runs 2020-09-15 19:55:51 -05:00
Lea Anthony e831bc75c6 Stubs in place to compile 2020-09-15 19:55:51 -05:00
Lea Anthony 852bbd148c Get it compiling 2020-09-15 19:55:50 -05:00
Travis McLane c158fd369a Merge commit 'a213e8bcd1d8e4e5c764978879d875d2d55dd400' as 'v2' 2020-09-15 19:52:54 -05:00
Travis McLane a213e8bcd1 Squashed 'v2/' content from commit 72ef153
git-subtree-dir: v2
git-subtree-split: 72ef15359e36e42b18d9407f74c762f83eb9a099
2020-09-15 19:52:54 -05:00
Travis McLane 84f407278c use wailsapp/xgo:1.0.1 for cross-compiling 2020-09-15 20:17:20 +10:00
Travis McLane c72c6d2408 update messages to output xgo version
TODO: allow image override
2020-09-15 20:17:20 +10:00
Travis McLane 0ad0092aa2 implement gopath handling during cross compilation 2020-09-15 20:17:20 +10:00
Ilgıt Yıldırım a84f43d959 fixed return 2020-09-15 19:13:49 +10:00
Ilgıt Yıldırım b48da620b3 added Get method 2020-09-15 19:13:49 +10:00
Lea Anthony ed8884a581 v1.8.1-pre1 2020-09-15 17:52:39 +10:00
Lea Anthony 05d27dda64 Remove incorrect build flag 2020-09-15 17:51:14 +10:00
Ilgıt Yıldırım fe2c5e8611 handle Set error on Update method 2020-09-13 18:50:41 +10:00
Lea Anthony 422ee22d0c Updated contributors 2020-09-11 06:40:36 +10:00
Lea Anthony 22f94cfdb6 Merge branch 'artooro-angular-routing-fix' into develop 2020-09-11 06:39:15 +10:00
Arthur Wiebe 5d754f40de resolve angular routing broken when app is built 2020-09-09 22:06:14 -04:00
Lea Anthony c9b26c6352 Merge branch 'develop' 2020-09-10 06:55:39 +10:00
Lea Anthony 6f0696631f v1.8.0 2020-09-10 06:45:42 +10:00
Lea Anthony fefb54de12 v1.7.2-pre12 2020-09-10 06:40:13 +10:00
Lea Anthony b4224066f7 css fix for vanilla 2020-09-10 06:39:36 +10:00
Lea Anthony 3d9ef75488 v1.7.2-pre11 2020-09-10 06:19:07 +10:00
Lea Anthony 79ecb0704e test fix 2020-09-10 06:17:17 +10:00
Lea Anthony 8154887824 v1.7.2-pre10 2020-09-09 06:58:30 +10:00
Lea Anthony 39ae91a250 Simplify Subscribe() 2020-09-09 06:27:57 +10:00
Lea Anthony 861f5f2a1c v1.7.2-pre9 2020-09-08 07:06:27 +10:00
Lea Anthony 89ed00d6ed Fix svelte for Windows 2020-09-08 07:04:01 +10:00
Lea Anthony 1e1834158b fix vanilla template for windows 2020-09-07 20:45:20 +10:00
Lea Anthony 214fcf03b9 v1.7.2-pre8 2020-09-07 20:28:29 +10:00
Tim Kipp 82ac4f1358 chore: removed Svelte TypeScript support for now 2020-09-07 17:35:12 +10:00
Tim Kipp 8b7cd03428 chore: removed Svelte template link 2020-09-07 17:35:12 +10:00
Tim Kipp 4d2b4fec45 feat: added Svelte template 2020-09-07 17:35:12 +10:00
Lea Anthony bc0478b2b2 Update README.md 2020-09-06 15:45:37 +10:00
Lea Anthony d59849b952 v1.7.2-pre7 2020-09-05 07:11:28 +10:00
Lea Anthony 806821ad49 v1.7.2-pre6 2020-09-05 07:01:15 +10:00
Lea Anthony a4cc95351f Updated runtime package version 2020-09-05 06:52:39 +10:00
Lea Anthony f851b89350 v1.7.2-pre5 2020-09-04 20:23:26 +10:00
Lea Anthony 7f72189231 updates 2020-09-04 20:20:21 +10:00
Lea Anthony ef79dd95cf Merge branch 'sync-store' into develop 2020-09-04 20:19:20 +10:00
Lea Anthony d49b146eaa Add mutex to store 2020-09-04 20:08:31 +10:00
Lea Anthony 8c051e004d Release v1.7.2-pre4 2020-09-03 20:13:55 +10:00
Lea Anthony c02b9ac032 Update contributors 2020-09-03 20:12:57 +10:00
Dmitry 35f839ae65 Support Ctlos Linux 2020-09-03 20:11:39 +10:00
Lea Anthony 8a6c44963d Upgrade packages for js runtime 2020-09-02 08:51:21 +10:00
Lea Anthony d31c5522e9 fix: revert location of wails config 2020-09-02 07:07:12 +10:00
Lea Anthony 6e5b2ce871 Update Contributors 2020-09-01 20:44:50 +10:00
Tim Kipp c2c9c331cd refactor: attempt to refactor spacing issues detected by houndci 2020-09-01 20:43:20 +10:00
Tim Kipp 9d5280d4d6 feat(templates): updated react template to latest CRA implementation 2020-09-01 20:43:20 +10:00
Lea Anthony 0474f15c05 Simplify Store type conversions 2020-09-01 20:36:18 +10:00
Lea Anthony ba0af0c16d Lint fix! 2020-08-31 21:17:04 +10:00
Lea Anthony c9f1247284 Updated to use specialised update fuctions 2020-08-31 21:10:32 +10:00
Lea Anthony baa661532d Now using reflection
Update() can now take specialised functions
2020-08-31 21:10:20 +10:00
Lea Anthony 43a5f410d9 Major updates
Automatic type conversion
Support struct data
Custom error handler
2020-08-31 20:00:39 +10:00
Lea Anthony 0ab6a93e0c Update runtime defs
Use runtime.Store instead of wails.Store
2020-08-30 16:07:53 +10:00
Lea Anthony 485df87560 Update vanilla template 2020-08-30 15:49:37 +10:00
Lea Anthony 176c447e87 Update to latest assets 2020-08-30 15:49:29 +10:00
Lea Anthony aa9cb5e58e Add store to js runtime 2020-08-30 15:49:12 +10:00
Lea Anthony 9a7be38462 Update WailsInit checker 2020-08-30 15:47:32 +10:00
Lea Anthony 678c2194db Add Sync Store 2020-08-30 15:46:50 +10:00
Lea Anthony 9f9c9e27de Move runtime out to package 2020-08-30 15:46:31 +10:00
Lea Anthony 01a1288364 Merge branch 'develop' of github.com:wailsapp/wails into develop 2020-08-23 09:50:58 +10:00
Lea Anthony 5cd34e07b9 Release v1.7.2-pre3 2020-08-23 09:50:16 +10:00
Lea Anthony 2290f36939 Allow customising of info.plist 2020-08-23 09:49:54 +10:00
Lea Anthony 670986df5b Lintastic update 2020-08-21 23:44:22 +10:00
Lea Anthony 086cd02cd4 Lint fix 2020-08-21 23:44:22 +10:00
Lea Anthony d8c8dd57fa Add artem to Contributors 2020-08-21 23:44:22 +10:00
Lea Anthony 2d158d449a Use double encoding for notify data 2020-08-21 23:44:22 +10:00
Lea Anthony 04577c242b Updated contributors 2020-08-04 05:06:50 +10:00
Zámbó Levente ac0d4493d3 fix(bridge): fixed long message emit issue #469 2020-08-04 05:06:43 +10:00
Lea Anthony b123156331 v1.7.2-pre2 2020-07-27 21:13:46 +10:00
Lea Anthony 23468ce7c7 Don't clean up windows files 2020-07-27 21:10:32 +10:00
Lea Anthony 7b6bb5e259 Update Contributors 2020-07-16 19:41:41 +10:00
konez2k 77bd34d601 refactor: use proper user config directory
replace os.UserHomeDir with os.UserConfigDir which manages properly the config folder based on platform.
2020-07-13 20:00:59 +10:00
konez2k d750077a90 Update minimum go version to 1.13 2020-07-13 20:00:59 +10:00
konez2k 71df64087b refactor homedir to stdlib os.UserHomeDir (go1.12)
- remove mitchellh/go-homedir dependency
2020-07-13 20:00:59 +10:00
Lea Anthony f86996705b v1.7.1 2020-07-03 20:07:02 +10:00
Lea Anthony 254aa664d7 Fix contributors 2020-07-03 20:07:02 +10:00
Lea Anthony c8371ee824 v1.7.0-pre2 2020-07-03 20:07:02 +10:00
Lea Anthony 02e0250555 fix: vanilla template for windows 2020-07-03 20:07:02 +10:00
Lea Anthony e1b025cab6 fix: windows icon name 2020-07-03 20:07:02 +10:00
Lea Anthony 626854f1b7 free filter memory 2020-07-03 20:07:02 +10:00
Lea Anthony 98468d1c4d v1.7.0-pre1 2020-07-03 20:07:02 +10:00
Lea Anthony 1062aeb136 Add ldflags option to build 2020-07-03 20:07:02 +10:00
Lea Anthony 5565f8ba94 v1.7.1 2020-07-03 20:05:01 +10:00
Lea Anthony 3bc91f20c5 Fix contributors 2020-07-03 13:54:02 +10:00
Lea Anthony 0a15cbaa1d v1.7.0-pre2 2020-07-03 13:52:51 +10:00
Lea Anthony c650671265 fix: vanilla template for windows 2020-07-03 13:48:27 +10:00
Lea Anthony 7106c338df fix: windows icon name 2020-07-03 06:05:47 +10:00
Lea Anthony be2cef4a63 free filter memory 2020-06-29 06:41:24 +10:00
Lea Anthony ee93f3c1e6 v1.7.0-pre1 2020-06-22 20:14:10 +10:00
Lea Anthony b9ffe53732 Add ldflags option to build 2020-06-22 20:13:15 +10:00
Lea Anthony aa93e5d8d2 Merge branch 'develop' 2020-06-19 09:42:15 +10:00
Lea Anthony bbc16fe03a Lint fixes 2020-06-19 09:38:01 +10:00
Lea Anthony bdfc3ca631 Release v1.6.0 2020-06-19 09:26:19 +10:00
Lea Anthony 490d66cf77 Update Contributors 2020-06-19 09:11:34 +10:00
Lea Anthony bce686d779 lint fixes 2020-06-19 08:52:44 +10:00
Lea Anthony c0b0ef0200 Initial implementation of vanilla template 2020-06-19 08:52:44 +10:00
Florian 8e869baed7 fix: trim whitespaces from filters 2020-06-18 20:25:40 +10:00
Florian Didron 7522428d5c feat: add dialog filter for Cocoa 2020-06-18 20:25:40 +10:00
Florian Didron bc570999e8 feat: file dialog filters for win32 2020-06-18 20:25:40 +10:00
Florian 393a4fceb2 feat: adds file filtering to gtk select/save dialogs 2020-06-16 18:57:25 +10:00
Lea Anthony da20bcc8d2 v1.6.0-pre6 2020-06-06 14:42:59 +10:00
Lea Anthony b091baa16f fix: Project options getting overwritten 2020-06-06 14:42:59 +10:00
Lea Anthony ecaaafa9d9 v1.6.0-pre5 2020-05-27 12:49:14 +10:00
Lea Anthony 0009da9585 fix: ignore case of linux distro id 2020-05-27 12:48:28 +10:00
Lea Anthony 6235e83677 v1.6.0-pre4 2020-05-27 10:38:40 +10:00
Lea Anthony 9f93e7d979 fix default libs identifier for solus 2020-05-27 10:35:42 +10:00
Lea Anthony 949bc40317 Fix package detection for solus 2020-05-27 10:35:42 +10:00
Lea Anthony 81777f29d8 update package names 2020-05-27 10:35:42 +10:00
Lea Anthony 5d35dd3105 Initial support for solus 2020-05-27 10:35:42 +10:00
Lea Anthony ad034d3950 fix: popos ID 2020-05-27 08:28:23 +10:00
Lea Anthony 98337df92d Support Pop!_OS
Added link to guide in request process
2020-05-27 08:28:23 +10:00
Dario Emerson 9cc417cf04 Add myself as contributor 2020-05-25 20:48:48 +10:00
Dario Emerson 030b954971 Correctly add icon to window on Windows 2020-05-25 20:48:48 +10:00
Dario Emerson 7a3ab27977 Changed icon scaling algorithm to CatmullRom 2020-05-25 17:32:49 +10:00
Dario Emerson 0e6265a9d7 Moved ico file writing later 2020-05-25 17:32:49 +10:00
Dario Emerson b003a080b0 Improved Windows .ico generation 2020-05-25 17:32:49 +10:00
Lea Anthony 376ba743f4 Release v1.6.0-pre3 2020-05-22 07:10:58 +10:00
Lea Anthony aa8ffff68d fix! 2020-05-21 22:05:17 +01:00
Lea Anthony 613a44af5e fix: icon size 2020-05-21 22:05:17 +01:00
Lea Anthony 2e15c4e045 intial support for .ico generation 2020-05-21 22:05:17 +01:00
Lea Anthony 421c13805d Merge branch 'dedo1911-408-default-serve-platform' into develop 2020-05-22 07:02:55 +10:00
Dario Emerson cc204ab1f7 Fix missing import 2020-05-21 01:35:34 +02:00
Dario Emerson a94a1a9fcb Merge branch 'develop' into 408-default-serve-platform 2020-05-21 01:33:22 +02:00
Dario Emerson e860bd06ec Default Platform for serve command 2020-05-20 14:36:52 +02:00
Lea Anthony 6da02e6b44 v1.6.0-pre2 2020-05-17 20:17:36 +10:00
Lea Anthony 7cd78df1cd Support ArchLabs 2020-05-17 20:17:00 +10:00
Lea Anthony bcecd854bc v1.6.0-pre1 2020-05-16 07:21:26 +10:00
Lea Anthony 6339f230f9 Fix CWE-126 2020-05-15 22:18:50 +01:00
Lea Anthony 131fd973cd lint fix 2020-05-15 22:18:50 +01:00
Lea Anthony f1d16a03ec Disable F5 key on windows 2020-05-15 22:18:50 +01:00
Lea Anthony cc99dcce80 Update contributors 2020-05-07 06:30:53 +10:00
Lea Anthony a8ecc1e872 Merge branch 'develop' 2020-04-26 16:10:56 +10:00
Lea Anthony 79188c503f Develop (#343)
* Support Distribution 'ArcoLinux' #310 (#312)

* Support Distribution 'ArcoLinux' #310

* Vuetify2 support (resurrected from git@github.com:MichaelHipp/wails.git) (#315)

* Initial create of vuetify2-basic folder

* Change template descr of vuetify-basic to say Vuetify 1.5

* Get vuetify2 template installing vuetify v2.0 (but with styling probs)

* Update App.vue, HelloWorld.vue for Vuetify v2

* Remove babel-polyfill, add mdi/font

* fix: codacy corrections

* fix: babel -> core-js, regenerator-runtime

Co-authored-by: Michael Hipp <michael@redmule.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>

* Update Contributors

* v1.0.2-pre1

* [313-remote-conn] allow remote connections to the websocket bridge (#314)

* [313-remote-conn] feat: compute wsURL based on window.location

* [313-remote-conn] feat: allow any host to connect to vue server

removing the 'host: "localhost"' specification causes the development
server to listen on all interfaces.

* [313-remote-conn] feat: allow any host to connect to angular dev server

* test: reinject tabs

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>

* fix: disable host check for vuetify 2 template

* v1.0.2-pre2

* fix: shutdown ipcmanager

* use channel to trigger shutdown

* load linuxdb from relative path

* Feat manjaro arm & deepin (#324)

* feat: new distros: manjaroARM & Deepin

* v1.0.2-pre3

* [326-platform-raspbian] feat: implement raspbian support (#327)

* fix: emit arguments (#306)

* v1.0.2-pre4 Raspbarian support

* Initial support for Typescript decl file (#330)

* v1.0.2-pre5

* revert to Go 1.12

* New CI (#331)

* prepare

* new CI/github actions

* Rename later-pre.yml to latest-pre.yml

* Update latest-pre.yml

* Update README.md

* Ensure version in go.mod is up to date (#339)

* release v1.0.2-pre6

* Fix typescript generation

* Release v1.0.2-pre7

* 316-multi-bridge-conn (#317)

* [316-multi-bridge-conn] feat: use callback func for bridge response

* [316-multi-bridge-conn] feat: implement multiple session support

* split client handling portion into 'session'
* keep track of sessions by remote address (ip & port)
* notify each of the sessions anytime an event comes across the bus

* [316-multi-bridge-conn] chore: move bridge files to package

* [316-multi-bridge-conn] chore: remove deprecated Callback function

The Callback function is no longer needed for the operation of
the frontend callback since the ipc.Dispatch function now requires
a callback function to be provided as an argument.
This function can be a private function since it is passed by reference.

* [316-multi-bridge-conn] chore: make webview.Callback private

* [316-multi-bridge-conn] chore: remove unused injectCSS function

I believe a slightly better method of doing this might need to be devised
if it is needed in the future. I presume it should collect the values
into a cache and then inject it into each sesssion as it appears.

* [316-multi-bridge-conn] ensure wails:ready event is emitted

Event is only emitted for the first session created from the Bridge.

* [316-multi-bridge-conn] emit events for session lifecycle

Emit an event for each session started and ended.

* [316-multi-bridge-conn] fix: session handling fixes

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>

* Release v1.0.2-pre8

* Release v1.0.2

Co-authored-by: Byron <ktc@protonmail.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Michael Hipp <michael@redmule.com>
2020-02-08 09:58:16 +11:00
557 changed files with 52159 additions and 4294 deletions
+8 -2
View File
@@ -8,8 +8,12 @@ assignees: ''
---
#####################################################
If you have a technical issue, please do not open a bug this way!
Please use the `wails issue` command!
**If you have a technical issue, please do not open a bug this way!**
Please use the `wails issue` command!
If you do not do this then the issue may be closed automatically.
NOTE: If your bug is related to Windows, make sure you read
the [Windows Developer Guide](https://wails.app/guides/windows/)
#####################################################
**Description**
@@ -33,3 +37,5 @@ Please provide your platform, GO version and variables, etc
**Additional context**
Add any other context about the problem here.
- [ ] This issue is for Windows and I have read the [Windows Developer Guide](https://wails.app/guides/windows/)
+20
View File
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+3 -3
View File
@@ -13,10 +13,10 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Set up Go 1.12
- name: Set up Go 1.13
uses: actions/setup-go@v1
with:
go-version: 1.12
go-version: 1.13
id: go
- name: Check out code into the Go module directory
@@ -27,6 +27,6 @@ jobs:
go get -v -d ./...
- name: Build
run: go build -v ./cmd/wails
- name: Test
run: ./wails version
+3 -3
View File
@@ -13,10 +13,10 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Set up Go 1.12
- name: Set up Go 1.13
uses: actions/setup-go@v1
with:
go-version: 1.12
go-version: 1.13
id: go
- name: Check out code into the Go module directory
@@ -27,6 +27,6 @@ jobs:
go get -v -d ./...
- name: Build
run: go build -v ./cmd/wails
- name: Test
run: ./wails version
+4 -4
View File
@@ -4,7 +4,7 @@ on:
branches:
- master
tags:
- '!**pre**'
- '!**pre**'
jobs:
build:
@@ -15,10 +15,10 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Set up Go 1.12
- name: Set up Go 1.13
uses: actions/setup-go@v1
with:
go-version: 1.12
go-version: 1.13
id: go
- name: Check out code into the Go module directory
@@ -29,6 +29,6 @@ jobs:
go get -v -d ./...
- name: Build
run: go build -v ./cmd/wails
- name: Test
run: ./wails version
+11 -1
View File
@@ -16,4 +16,14 @@ examples/**/example*
cmd/wails/wails
.DS_Store
tmp
node_modules/
node_modules/
package.json.md5
v2/test/**/frontend/dist
v2/test/**/build/
v2/test/frameless/icon.png
v2/test/hidden/icon.png
v2/test/kitchensink/frontend/public/bundle.*
v2/pkg/parser/testproject/frontend/wails
v2/test/kitchensink/frontend/public
v2/test/kitchensink/build/darwin/desktop/kitchensink
v2/test/kitchensink/frontend/package.json.md5
+5 -1
View File
@@ -1,4 +1,8 @@
{
"go.formatTool": "goimports",
"eslint.alwaysShowStatus": true
"eslint.alwaysShowStatus": true,
"files.associations": {
"__locale": "c",
"ios": "c"
}
}
+17 -2
View File
@@ -15,7 +15,6 @@ Wails is what it is because of the time and effort given by these great people.
* [admin_3.exe](https://github.com/bh90210)
* [iceleo-com](https://github.com/iceleo-com)
* [fallendusk](https://github.com/fallendusk)
* [Florian Didran](https://github.com/fdidron)
* [Nikolai Zimmermann](https://github.com/Chronophylos)
* [Toyam Cox](https://github.com/Vaelatern)
* [Robin Eklind](https://github.com/mewmew)
@@ -25,4 +24,20 @@ Wails is what it is because of the time and effort given by these great people.
* [Travis McLane](https://github.com/tmclane)
* [Reuben Thomas-Davis](https://github.com/Rested)
* [Jarek](https://github.com/Jarek-SRT)
* [Konez2k](https://github.com/konez2k)
* [Konez2k](https://github.com/konez2k)
* [msms](https://github.com/sayuthisobri)
* [dedo1911](https://github.com/dedo1911)
* [Florian Didron](https://github.com/fdidron)
* [Christopher Murphy](https://github.com/Splode)
* [Zámbó, Levente](https://github.com/Lyimmi)
* [artem](https://github.com/Unix4ever)
* [Tim Kipp](https://github.com/timkippdev)
* [Dmitry Gomzyakov](https://github.com/kyoto44)
* [Arthur Wiebe](https://github.com/artooro)
* [Ilgıt Yıldırım](https://github.com/ilgityildirim)
* [Altynbek](https://github.com/gelleson)
* [Kyle](https://github.com/kmuchmore)
* [Balakrishna Prasad Ganne](https://github.com/aayush420)
* [Charaf Rezrazi](https://github.com/Rezrazi)
* [misitebao](https://github.com/misitebao)
* [Elie Grenon](https://github.com/DrunkenPoney)
+9 -5
View File
@@ -12,7 +12,6 @@
<a href="https://houndci.com"><img src="https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg"/></a>
<a href="https://github.com/avelino/awesome-go" rel="nofollow"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" alt="Awesome"></a>
<a href="https://github.com/wailsapp/wails/workflows/release/badge.svg?branch=master" rel="nofollow"><img src="https://github.com/wailsapp/wails/workflows/release/badge.svg?branch=master" alt="Release Pipelines"></a>
<a href="https://github.com/wailsapp/wails/workflows/latest-pre/badge.svg?branch=masterr" rel="nofollow"><img src="https://github.com/wailsapp/wails/workflows/latest-pre/badge.svg?branch=master" alt="Pre-Release Pipelines"></a>
</p>
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
@@ -36,7 +35,7 @@ The official docs can be found at [https://wails.app](https://wails.app).
Wails uses cgo to bind to the native rendering engines so a number of platform dependent libraries are needed as well as an installation of Go. The basic requirements are:
- Go 1.12
- Go 1.13
- npm
### MacOS
@@ -55,9 +54,9 @@ _Debian: 8, 9, 10_
_Ubuntu: 16.04, 18.04, 19.04_
_Also succesfully tested on: Zorin 15, Parrot 4.7, Linuxmint 19, Elementary 5, Kali, Neon_
_Also succesfully tested on: Zorin 15, Parrot 4.7, Linuxmint 19, Elementary 5, Kali, Neon_, Pop!_OS
#### Arch Linux
#### Arch Linux / ArchLabs / Ctlos Linux
`sudo pacman -S webkit2gtk gtk3`
@@ -148,7 +147,12 @@ This project was mainly coded to the following albums:
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large)
## Special Thank You
## Special Thanks
<p align="center" style="text-align: center">
A *huge* thanks to <a href="https://pace.dev"><img src="pace.jpeg"/> Pace</a> for sponsoring the project and helping the efforts to get Wails ported to Apple Silicon!<br/><br/>
If you are looking for a Project Management tool that's powerful but quick and easy to use, check them out!<br/><br/>
</p>
<p align="center" style="text-align: center">
A special thank you to JetBrains for donating licenses to us!<br/><br/>
+12 -7
View File
@@ -2,7 +2,6 @@ package wails
import (
"os"
"runtime"
"syscall"
"github.com/syossan27/tebata"
@@ -13,6 +12,7 @@ import (
"github.com/wailsapp/wails/lib/ipc"
"github.com/wailsapp/wails/lib/logger"
"github.com/wailsapp/wails/lib/renderer"
wailsruntime "github.com/wailsapp/wails/runtime"
)
// -------------------------------- Compile time Flags ------------------------------
@@ -20,6 +20,16 @@ import (
// BuildMode indicates what mode we are in
var BuildMode = cmd.BuildModeProd
// Runtime is the Go Runtime struct
type Runtime = wailsruntime.Runtime
// Store is a state store used for syncing with
// the front end
type Store = wailsruntime.Store
// CustomLogger is a specialised logger
type CustomLogger = logger.CustomLogger
// ----------------------------------------------------------------------------------
// App defines the main application struct
@@ -106,11 +116,6 @@ func (a *App) start() error {
return err
}
// Enable console for Windows debug builds
if runtime.GOOS == "windows" && BuildMode == cmd.BuildModeDebug {
a.renderer.EnableConsole()
}
// Start signal handler
t := tebata.New(os.Interrupt, os.Kill, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
t.Reserve(func() {
@@ -125,7 +130,7 @@ func (a *App) start() error {
a.ipc.Start(a.eventManager, a.bindingManager)
// Create the runtime
a.runtime = NewRuntime(a.eventManager, a.renderer)
a.runtime = wailsruntime.NewRuntime(a.eventManager, a.renderer)
// Start binding manager and give it our renderer
err = a.bindingManager.Start(a.renderer, a.runtime)
+40 -16
View File
@@ -18,6 +18,8 @@ import (
"github.com/leaanthony/spinner"
)
const xgoVersion = "1.0.1"
var fs = NewFSHelper()
// ValidateFrontendConfig checks if the frontend config is valid
@@ -90,16 +92,17 @@ func InitializeCrossCompilation(verbose bool) error {
}
var packSpinner *spinner.Spinner
msg := fmt.Sprintf("Pulling wailsapp/xgo:%s docker image... (may take a while)", xgoVersion)
if !verbose {
packSpinner = spinner.New("Pulling wailsapp/xgo:latest docker image... (may take a while)")
packSpinner = spinner.New(msg)
packSpinner.SetSpinSpeed(50)
packSpinner.Start()
} else {
println("Pulling wailsapp/xgo:latest docker image... (may take a while)")
println(msg)
}
err := NewProgramHelper(verbose).RunCommandArray([]string{"docker",
"pull", "wailsapp/xgo:latest"})
"pull", fmt.Sprintf("wailsapp/xgo:%s", xgoVersion)})
if err != nil {
if packSpinner != nil {
@@ -114,7 +117,7 @@ func InitializeCrossCompilation(verbose bool) error {
return nil
}
// BuildDocker builds the project using the cross compiling wailsapp/xgo:latest container
// BuildDocker builds the project using the cross compiling wailsapp/xgo:<xgoVersion> container
func BuildDocker(binaryName string, buildMode string, projectOptions *ProjectOptions) error {
var packSpinner *spinner.Spinner
if buildMode == BuildModeBridge {
@@ -140,24 +143,31 @@ func BuildDocker(binaryName string, buildMode string, projectOptions *ProjectOpt
"-v", fmt.Sprintf("%s:/build", filepath.Join(fs.Cwd(), "build")),
"-v", fmt.Sprintf("%s:/source", fs.Cwd()),
"-e", fmt.Sprintf("LOCAL_USER_ID=%v", userid),
"-e", fmt.Sprintf("FLAG_TAGS=%s", projectOptions.Tags),
"-e", fmt.Sprintf("FLAG_LDFLAGS=%s", ldFlags(projectOptions, buildMode)),
"-e", "FLAG_V=false",
"-e", "FLAG_X=false",
"-e", "FLAG_RACE=false",
"-e", "FLAG_BUILDMODE=default",
"-e", "FLAG_TRIMPATH=false",
"-e", fmt.Sprintf("TARGETS=%s", projectOptions.Platform+"/"+projectOptions.Architecture),
"-e", fmt.Sprintf("TARGETS=%s/%s", projectOptions.Platform, projectOptions.Architecture),
"-e", "GOPROXY=",
"-e", "GO111MODULE=on",
"wailsapp/xgo:latest",
".",
} {
buildCommand.Add(arg)
}
if projectOptions.GoPath != "" {
buildCommand.Add("-v")
buildCommand.Add(fmt.Sprintf("%s:/go", projectOptions.GoPath))
}
buildCommand.Add(fmt.Sprintf("wailsapp/xgo:%s", xgoVersion))
buildCommand.Add(".")
compileMessage := fmt.Sprintf(
"Packing + Compiling project for %s/%s using docker image wailsapp/xgo:latest",
projectOptions.Platform, projectOptions.Architecture)
"Packing + Compiling project for %s/%s using docker image wailsapp/xgo:%s",
projectOptions.Platform, projectOptions.Architecture, xgoVersion)
if buildMode == BuildModeDebug {
compileMessage += " (Debug Mode)"
@@ -216,10 +226,6 @@ func BuildNative(binaryName string, forceRebuild bool, buildMode string, project
buildCommand.Add("go")
buildCommand.Add("build")
if buildMode == BuildModeBridge {
// Ignore errors
buildCommand.Add("-i")
}
if binaryName != "" {
// Alter binary name based on OS
@@ -243,6 +249,10 @@ func BuildNative(binaryName string, forceRebuild bool, buildMode string, project
buildCommand.AddSlice([]string{"-ldflags", ldFlags(projectOptions, buildMode)})
if projectOptions.Tags != "" {
buildCommand.AddSlice([]string{"--tags", projectOptions.Tags})
}
if projectOptions.Verbose {
fmt.Printf("Command: %v\n", buildCommand.AsSlice())
}
@@ -293,9 +303,11 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
fmt.Println(err)
}
}
if projectOptions.Platform == "windows" {
helper.CleanWindows(projectOptions)
}
// Removed by popular demand
// TODO: Potentially add a flag to cleanup
// if projectOptions.Platform == "windows" {
// helper.CleanWindows(projectOptions)
// }
}()
if projectOptions.CrossCompile {
@@ -528,6 +540,9 @@ func InstallProdRuntime(projectDir string, projectOptions *ProjectOptions) error
func ServeProject(projectOptions *ProjectOptions, logger *Logger) error {
go func() {
time.Sleep(2 * time.Second)
if projectOptions.Platform == "windows" {
logger.Yellow("*** Please note: Windows builds use mshtml which is only compatible with IE11. We strongly recommend only using IE11 when running 'wails serve'! For more information, please read https://wails.app/guides/windows/ ***")
}
logger.Green(">>>>> To connect, you will need to run '" + projectOptions.FrontEnd.Serve + "' in the '" + projectOptions.FrontEnd.Dir + "' directory <<<<<")
}()
location, err := filepath.Abs(filepath.Join("build", projectOptions.BinaryName))
@@ -559,8 +574,17 @@ func ldFlags(po *ProjectOptions, buildMode string) string {
ldflags += "-H windowsgui "
}
if po.UseFirebug {
ldflags += "-X github.com/wailsapp/wails/lib/renderer.UseFirebug=true "
}
ldflags += "-X github.com/wailsapp/wails.BuildMode=" + buildMode
// Add additional ldflags passed in via the `ldflags` cli flag
if len(po.LdFlags) > 0 {
ldflags += " " + po.LdFlags
}
// If we wish to generate typescript
if po.typescriptDefsFilename != "" {
cwd, err := os.Getwd()
+38 -3
View File
@@ -53,10 +53,20 @@ const (
Deepin
// Raspbian distribution
Raspbian
// openSUSE Tumbleweed distribution
// Tumbleweed (OpenSUSE) distribution
Tumbleweed
// openSUSE Leap distribution
// Leap (OpenSUSE) distribution
Leap
// ArchLabs distribution
ArchLabs
// PopOS distribution
PopOS
// Solus distribution
Solus
// Ctlos Linux distribution
Ctlos
// EndeavourOS linux distribution
EndeavourOS
)
// DistroInfo contains all the information relating to a linux distribution
@@ -105,7 +115,7 @@ func parseOsRelease(osRelease string) *DistroInfo {
}
switch splitLine[0] {
case "ID":
osID = strings.Trim(splitLine[1], "\"")
osID = strings.ToLower(strings.Trim(splitLine[1], "\""))
case "NAME":
osNAME = strings.Trim(splitLine[1], "\"")
case "VERSION_ID":
@@ -121,6 +131,10 @@ func parseOsRelease(osRelease string) *DistroInfo {
result.Distribution = CentOS
case "arch":
result.Distribution = Arch
case "archlabs":
result.Distribution = ArchLabs
case "ctlos":
result.Distribution = Ctlos
case "debian":
result.Distribution = Debian
case "ubuntu":
@@ -155,6 +169,12 @@ func parseOsRelease(osRelease string) *DistroInfo {
result.Distribution = Tumbleweed
case "opensuse-leap":
result.Distribution = Leap
case "pop":
result.Distribution = PopOS
case "solus":
result.Distribution = Solus
case "endeavouros":
result.Distribution = EndeavourOS
default:
result.Distribution = Unknown
}
@@ -191,6 +211,17 @@ func DpkgInstalled(packageName string) (bool, error) {
return exitCode == 0, nil
}
// EOpkgInstalled uses dpkg to see if a package is installed
func EOpkgInstalled(packageName string) (bool, error) {
program := NewProgramHelper()
eopkg := program.FindProgram("eopkg")
if eopkg == nil {
return false, fmt.Errorf("cannot check dependencies: eopkg not found")
}
stdout, _, _, _ := eopkg.Run("info", packageName)
return strings.HasPrefix(stdout, "Installed"), nil
}
// PacmanInstalled uses pacman to see if a package is installed.
func PacmanInstalled(packageName string) (bool, error) {
program := NewProgramHelper()
@@ -262,5 +293,9 @@ func RequestSupportForDistribution(distroInfo *DistroInfo) error {
fmt.Println("Opening browser to file request.")
browser.OpenURL(fullURL + url.PathEscape(params))
result = Prompt("We have a guide for adding support for your distribution. Would you like to view it?", "yes")
if strings.ToLower(result) == "yes" {
browser.OpenURL("https://wails.app/guides/distro/")
}
return nil
}
+55
View File
@@ -28,6 +28,15 @@ distributions:
gccversioncommand: &gccdumpfullversion -dumpfullversion
programs: *debiandefaultprograms
libraries: *debiandefaultlibraries
pop:
id: pop
releases:
default:
version: default
name: Pop!_OS
gccversioncommand: &gccdumpfullversion -dumpfullversion
programs: *debiandefaultprograms
libraries: *debiandefaultlibraries
kali:
id: kali
releases:
@@ -176,6 +185,33 @@ distributions:
gccversioncommand: *gccdumpversion
programs: *archdefaultprograms
libraries: *archdefaultlibraries
archlabs:
id: archlabs
releases:
default:
version: default
name: ArchLabs
gccversioncommand: *gccdumpversion
programs: *archdefaultprograms
libraries: *archdefaultlibraries
ctlos:
id: ctlos
releases:
default:
version: default
name: Ctlos Linux
gccversioncommand: *gccdumpversion
programs: *archdefaultprograms
libraries: *archdefaultlibraries
endeavouros:
id: endeavouros
releases:
default:
version: default
name: EndeavourOS
gccversioncommand: *gccdumpversion
programs: *archdefaultprograms
libraries: *archdefaultlibraries
manjaro:
id: manjaro
releases:
@@ -223,6 +259,25 @@ distributions:
gccversioncommand: *gccdumpfullversion
programs: *debiandefaultprograms
libraries: *debiandefaultlibraries
solus:
id: solus
releases:
default:
version: default
name: Solus
gccversioncommand: *gccdumpfullversion
programs: &solusdefaultprograms
- name: gcc
help: Please install with `sudo eopkg it -c system.devel` and try again
- name: pkg-config
help: Please install with `sudo eopkg it -c system.devel` and try again
- name: npm
help: Please install with `sudo eopkg it nodejs` and try again
libraries: &solusdefaultlibraries
- name: libgtk-3-devel
help: Please install with `sudo eopkg it libgtk-3-devel` and try again
- name: libwebkit-gtk-devel
help: Please install with `sudo eopkg it libwebkit-gtk-devel` and try again
opensuse-tumbleweed:
id: opensuse-tumbleweed
+160 -27
View File
@@ -1,9 +1,12 @@
package cmd
import (
"bufio"
"bytes"
"encoding/binary"
"fmt"
"image"
"image/png"
"io/ioutil"
"os"
"path"
@@ -14,6 +17,7 @@ import (
"time"
"github.com/jackmordaunt/icns"
"golang.org/x/image/draw"
)
// PackageHelper helps with the 'wails package' command
@@ -55,6 +59,111 @@ func newPlistData(title, exe, packageID, version, author string) *plistData {
}
}
type windowsIcoHeader struct {
_ uint16
imageType uint16
imageCount uint16
}
type windowsIcoDescriptor struct {
width uint8
height uint8
colours uint8
_ uint8
planes uint16
bpp uint16
size uint32
offset uint32
}
type windowsIcoContainer struct {
Header windowsIcoDescriptor
Data []byte
}
func generateWindowsIcon(pngFilename string, iconfile string) error {
sizes := []int{256, 128, 64, 48, 32, 16}
pngfile, err := os.Open(pngFilename)
if err != nil {
return err
}
defer pngfile.Close()
pngdata, err := png.Decode(pngfile)
if err != nil {
return err
}
icons := []windowsIcoContainer{}
for _, size := range sizes {
rect := image.Rect(0, 0, int(size), int(size))
rawdata := image.NewRGBA(rect)
scale := draw.CatmullRom
scale.Scale(rawdata, rect, pngdata, pngdata.Bounds(), draw.Over, nil)
icondata := new(bytes.Buffer)
writer := bufio.NewWriter(icondata)
err = png.Encode(writer, rawdata)
if err != nil {
return err
}
writer.Flush()
imgSize := size
if imgSize >= 256 {
imgSize = 0
}
data := icondata.Bytes()
icn := windowsIcoContainer{
Header: windowsIcoDescriptor{
width: uint8(imgSize),
height: uint8(imgSize),
planes: 1,
bpp: 32,
size: uint32(len(data)),
},
Data: data,
}
icons = append(icons, icn)
}
outfile, err := os.Create(iconfile)
if err != nil {
return err
}
defer outfile.Close()
ico := windowsIcoHeader{
imageType: 1,
imageCount: uint16(len(sizes)),
}
err = binary.Write(outfile, binary.LittleEndian, ico)
if err != nil {
return err
}
offset := uint32(6 + 16*len(sizes))
for _, icon := range icons {
icon.Header.offset = offset
err = binary.Write(outfile, binary.LittleEndian, icon.Header)
if err != nil {
return err
}
offset += icon.Header.size
}
for _, icon := range icons {
_, err = outfile.Write(icon.Data)
if err != nil {
return err
}
}
return nil
}
func defaultString(val string, defaultVal string) string {
if val != "" {
return val
@@ -103,6 +212,8 @@ func (b *PackageHelper) packageOSX(po *ProjectOptions) error {
packageID := strings.Join([]string{"wails", name, version}, ".")
plistData := newPlistData(name, exe, packageID, version, author)
appname := po.Name + ".app"
plistFilename := path.Join(build, appname, "Contents", "Info.plist")
customPlist := path.Join(b.fs.Cwd(), "info.plist")
// Check binary exists
source := path.Join(build, exe)
@@ -121,28 +232,48 @@ func (b *PackageHelper) packageOSX(po *ProjectOptions) error {
// Remove the existing package
os.RemoveAll(appname)
// Create directories
exeDir := path.Join(build, appname, "/Contents/MacOS")
b.fs.MkDirs(exeDir, 0755)
resourceDir := path.Join(build, appname, "/Contents/Resources")
b.fs.MkDirs(resourceDir, 0755)
tmpl := template.New("infoPlist")
plistFile := filepath.Join(b.getPackageFileBaseDir(), "info.plist")
infoPlist, err := ioutil.ReadFile(plistFile)
if err != nil {
return err
}
tmpl.Parse(string(infoPlist))
// Write the template to a buffer
var tpl bytes.Buffer
err = tmpl.Execute(&tpl, plistData)
if err != nil {
return err
}
filename := path.Join(build, appname, "Contents", "Info.plist")
err = ioutil.WriteFile(filename, tpl.Bytes(), 0644)
if err != nil {
return err
// Do we have a custom plist in the project directory?
if !fs.FileExists(customPlist) {
// No - create a new plist from our defaults
tmpl := template.New("infoPlist")
plistFile := filepath.Join(b.getPackageFileBaseDir(), "info.plist")
infoPlist, err := ioutil.ReadFile(plistFile)
if err != nil {
return err
}
tmpl.Parse(string(infoPlist))
// Write the template to a buffer
var tpl bytes.Buffer
err = tmpl.Execute(&tpl, plistData)
if err != nil {
return err
}
// Save to the package
err = ioutil.WriteFile(plistFilename, tpl.Bytes(), 0644)
if err != nil {
return err
}
// Also write to project directory for customisation
err = ioutil.WriteFile(customPlist, tpl.Bytes(), 0644)
if err != nil {
return err
}
} else {
// Yes - we have a plist. Copy it to the package verbatim
err = fs.CopyFile(customPlist, plistFilename)
if err != nil {
return err
}
}
// Copy executable
@@ -177,14 +308,16 @@ func (b *PackageHelper) PackageWindows(po *ProjectOptions, cleanUp bool) error {
outputDir := b.fs.Cwd()
basename := strings.TrimSuffix(po.BinaryName, ".exe")
// Copy icon
tgtIconFile := filepath.Join(outputDir, basename+".ico")
if !b.fs.FileExists(tgtIconFile) {
srcIconfile := filepath.Join(b.getPackageFileBaseDir(), "wails.ico")
err := b.fs.CopyFile(srcIconfile, tgtIconFile)
if err != nil {
return err
}
// Copy default icon if needed
icon, err := b.copyIcon()
if err != nil {
return err
}
// Generate icon from PNG
err = generateWindowsIcon(icon, basename+".ico")
if err != nil {
return err
}
// Copy manifest
@@ -243,7 +376,7 @@ func (b *PackageHelper) PackageWindows(po *ProjectOptions, cleanUp bool) error {
return nil
}
func (b *PackageHelper) copyIcon(resourceDir string) (string, error) {
func (b *PackageHelper) copyIcon() (string, error) {
// TODO: Read this from project.json
const appIconFilename = "appicon.png"
@@ -268,7 +401,7 @@ func (b *PackageHelper) copyIcon(resourceDir string) (string, error) {
func (b *PackageHelper) packageIconOSX(resourceDir string) error {
srcIcon, err := b.copyIcon(resourceDir)
srcIcon, err := b.copyIcon()
if err != nil {
return err
}
+1 -1
View File
@@ -1,2 +1,2 @@
100 ICON "$NAME$.ico"
100 24 "$NAME$.exe.manifest"
110 24 "$NAME$.exe.manifest"
+34 -1
View File
@@ -6,6 +6,7 @@ import (
"io/ioutil"
"os"
"path/filepath"
"runtime"
"sort"
"strings"
@@ -150,6 +151,7 @@ type ProjectOptions struct {
Template string `json:"-"`
BinaryName string `json:"binaryname"`
FrontEnd *frontend `json:"frontend,omitempty"`
Tags string `json:"tags"`
NPMProjectName string `json:"-"`
system *SystemHelper
log *Logger
@@ -161,6 +163,26 @@ type ProjectOptions struct {
CrossCompile bool
Platform string
Architecture string
LdFlags string
GoPath string
UseFirebug bool
// Supported platforms
Platforms []string `json:"platforms,omitempty"`
}
// PlatformSupported returns true if the template is supported
// on the current platform
func (po *ProjectOptions) PlatformSupported() bool {
// Default is all platforms supported
if len(po.Platforms) == 0 {
return true
}
// Check that the platform is in the list
platformsSupported := slicer.String(po.Platforms)
return platformsSupported.Contains(runtime.GOOS)
}
// Defaults sets the default project template
@@ -231,13 +253,16 @@ func (po *ProjectOptions) PromptForInputs() error {
for _, k := range keys {
templateDetail := templateDetails[k]
templateList.Add(templateDetail)
if !templateDetail.Metadata.PlatformSupported() {
templateDetail.Metadata.Name = "* " + templateDetail.Metadata.Name
}
options.Add(fmt.Sprintf("%s - %s", templateDetail.Metadata.Name, templateDetail.Metadata.ShortDescription))
}
templateIndex := 0
if len(options.AsSlice()) > 1 {
templateIndex = PromptSelection("Please select a template", options.AsSlice(), 0)
templateIndex = PromptSelection("Please select a template (* means unsupported on current platform)", options.AsSlice(), 0)
}
if len(templateList.AsSlice()) == 0 {
@@ -248,6 +273,10 @@ func (po *ProjectOptions) PromptForInputs() error {
po.selectedTemplate = templateList.AsSlice()[templateIndex].(*TemplateDetails)
}
po.selectedTemplate.Metadata.Name = strings.TrimPrefix(po.selectedTemplate.Metadata.Name, "* ")
if !po.selectedTemplate.Metadata.PlatformSupported() {
println("WARNING: This template is unsupported on this platform!")
}
fmt.Println("Template: " + po.selectedTemplate.Metadata.Name)
// Setup NPM Project name
@@ -370,5 +399,9 @@ func processTemplateMetadata(templateMetadata *TemplateMetadata, po *ProjectOpti
}
po.FrontEnd.Serve = templateMetadata.Serve
}
// Save platforms
po.Platforms = templateMetadata.Platforms
return nil
}
+8
View File
@@ -24,11 +24,19 @@ func NewSemanticVersion(version string) (*SemanticVersion, error) {
// IsRelease returns true if it's a release version
func (s *SemanticVersion) IsRelease() bool {
// Limit to v1
if s.Version.Major() != 1 {
return false
}
return len(s.Version.Prerelease()) == 0 && len(s.Version.Metadata()) == 0
}
// IsPreRelease returns true if it's a prerelease version
func (s *SemanticVersion) IsPreRelease() bool {
// Limit to v1
if s.Version.Major() != 1 {
return false
}
return len(s.Version.Prerelease()) > 0
}
+65
View File
@@ -0,0 +1,65 @@
package cmd
import (
"testing"
)
func TestSemanticVersion_IsPreRelease(t *testing.T) {
tests := []struct {
name string
version string
want bool
}{
{"v1.6.7-pre0", "v1.6.7-pre0", true},
{"v2.6.7+pre0", "v2.6.7+pre0", false},
{"v2.6.7", "v2.6.7", false},
{"v2.0.0+alpha.1", "v2.0.0+alpha.1", false},
{"v2.0.0-alpha.1", "v2.0.0-alpha.1", false},
{"v1.6.7", "v1.6.7", false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
semanticversion, err := NewSemanticVersion(tt.version)
if err != nil {
t.Errorf("Invalid semantic version: %s", semanticversion)
return
}
s := &SemanticVersion{
Version: semanticversion.Version,
}
if got := s.IsPreRelease(); got != tt.want {
t.Errorf("IsPreRelease() = %v, want %v", got, tt.want)
}
})
}
}
func TestSemanticVersion_IsRelease(t *testing.T) {
tests := []struct {
name string
version string
want bool
}{
{"v1.6.7", "v1.6.7", true},
{"v2.6.7-pre0", "v2.6.7-pre0", false},
{"v2.6.7", "v2.6.7", false},
{"v2.6.7+release", "v2.6.7+release", false},
{"v2.0.0-alpha.1", "v2.0.0-alpha.1", false},
{"v1.6.7-pre0", "v1.6.7-pre0", false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
semanticversion, err := NewSemanticVersion(tt.version)
if err != nil {
t.Errorf("Invalid semantic version: %s", semanticversion)
return
}
s := &SemanticVersion{
Version: semanticversion.Version,
}
if got := s.IsRelease(); got != tt.want {
t.Errorf("IsRelease() = %v, want %v", got, tt.want)
}
})
}
}
+8 -6
View File
@@ -5,12 +5,11 @@ import (
"fmt"
"io/ioutil"
"log"
"os"
"path/filepath"
"runtime"
"strconv"
"time"
homedir "github.com/mitchellh/go-homedir"
)
// SystemHelper - Defines everything related to the system
@@ -38,10 +37,11 @@ func NewSystemHelper() *SystemHelper {
// setSystemDirs calculates the system directories it is interested in
func (s *SystemHelper) setSystemDirs() {
var err error
s.homeDir, err = homedir.Dir()
s.homeDir, err = os.UserHomeDir()
if err != nil {
log.Fatal("Cannot find home directory! Please file a bug report!")
}
// TODO: A better config system
s.wailsSystemDir = filepath.Join(s.homeDir, ".wails")
s.wailsSystemConfig = filepath.Join(s.wailsSystemDir, s.configFilename)
@@ -132,7 +132,7 @@ func (s *SystemHelper) setup() error {
}
const introText = `
Wails is a lightweight framework for creating web-like desktop apps in Go.
Wails is a lightweight framework for creating web-like desktop apps in Go.
I'll need to ask you a few questions so I can fill in your project templates and then I will try and see if you have the correct dependencies installed. If you don't have the right tools installed, I'll try and suggest how to install them.
`
@@ -274,9 +274,9 @@ func CheckDependencies(logger *Logger) (bool, error) {
distroInfo := GetLinuxDistroInfo()
switch distroInfo.Distribution {
case Ubuntu, Debian, Zorin, Parrot, Linuxmint, Elementary, Kali, Neon, Deepin, Raspbian:
case Ubuntu, Debian, Zorin, Parrot, Linuxmint, Elementary, Kali, Neon, Deepin, Raspbian, PopOS:
libraryChecker = DpkgInstalled
case Arch, ArcoLinux, Manjaro, ManjaroARM:
case Arch, ArcoLinux, ArchLabs, Ctlos, Manjaro, ManjaroARM, EndeavourOS:
libraryChecker = PacmanInstalled
case CentOS, Fedora, Tumbleweed, Leap:
libraryChecker = RpmInstalled
@@ -284,6 +284,8 @@ func CheckDependencies(logger *Logger) (bool, error) {
libraryChecker = EqueryInstalled
case VoidLinux:
libraryChecker = XbpsInstalled
case Solus:
libraryChecker = EOpkgInstalled
default:
return false, RequestSupportForDistribution(distroInfo)
}
+22 -1
View File
@@ -7,6 +7,7 @@ import (
"io/ioutil"
"log"
"path/filepath"
"runtime"
"strings"
"text/template"
@@ -29,6 +30,26 @@ type TemplateMetadata struct {
Bridge string `json:"bridge"`
WailsDir string `json:"wailsdir"`
TemplateDependencies []*TemplateDependency `json:"dependencies,omitempty"`
// List of platforms that this template is supported on.
// No value means all platforms. A platform name is the same string
// as `runtime.GOOS` will return, eg: "darwin". NOTE: This is
// case sensitive.
Platforms []string `json:"platforms,omitempty"`
}
// PlatformSupported returns true if this template supports the
// currently running platform
func (m *TemplateMetadata) PlatformSupported() bool {
// Default is all platforms supported
if len(m.Platforms) == 0 {
return true
}
// Check that the platform is in the list
platformsSupported := slicer.String(m.Platforms)
return platformsSupported.Contains(runtime.GOOS)
}
// TemplateDependency defines a binary dependency for the template
@@ -128,11 +149,11 @@ func (t *TemplateHelper) GetTemplateDetails() (map[string]*TemplateDetails, erro
result[name] = &TemplateDetails{
Path: dir,
}
_ = &TemplateMetadata{}
metadata, err := t.LoadMetadata(dir)
if err != nil {
return nil, err
}
result[name].Metadata = metadata
if metadata.Name != "" {
result[name].Name = metadata.Name

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