5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-07 06:00:20 +08:00
Commit Graph

24 Commits

Author SHA1 Message Date
Lea Anthony
8b64705dd6
Frontend builds now use vite environment "development" or "production" depending on build type
Fix windows webview2 bootstrapper path issue
2025-01-13 18:24:21 +11:00
Lea Anthony
59a8ecc5b2
Support template generation 2025-01-01 20:58:49 +11:00
Lea Anthony
4591fb9b95 Make template descriptions consistent 2024-10-20 13:29:38 +11:00
Fabio Massaioli
939d22d670
[v3] Enforce stricter typing for generated bindings (#3498)
* Subject generator output to stricter TS linting

* Fix runtime support code typing

* Relax tsconfig for templates

* Update test data

* Update binding example
2024-05-19 23:28:45 +10:00
Fabio Massaioli
90b7ea944d
[v3] New binding generator (#3468)
* Support variadic arguments and slice, pointer types

* Fix computation of type namespaces

* Improve comments and general formatting

* Set default values correctly for composite types

* Add templates for bindings

Additionally:
* fixes generation of tuple return type
* improves imports and namespacing in JS mode
* general cleanup of generated code

* Simplify import list construction

* Refactor type generation code

Improves support for unknown types (encoded as any) and maps (using
Typescript index signatures)

* Support slices with pointer elements

* Match encoding/json behaviour in struct parser

* Update tests and example

* Add tests for complex method signatures and json tag parsing

* Add test `function_multiple_files`

* Attempt looking up idents with missing denotation

* Update test data

* fix quoted bool field

* Test quoted booleans

* Delete old parser code

* Remove old test data

* Update bindgen flags

* Makes call by ID the default

* Add package loading code

* Add static analyser

* Temporarily ignore binding generation code

* Add complex slice expressions test

* Fix variable reference analysis

* Unwrap casts to interface types

* Complete code comments

* Refactor static analyser

* Restrict options struct usage

* Update tests

* Fix method selector sink and source processing

* Improve Set API

* Add package info collector

* Rename analyser package to analyse

* Improve template functions

* Add index file templates

* Add glue code for binding generation

* Refactor collection and rendering code

* Implement binding generator

* Implement global index generation

* Improve marshaler and alias handling

* Use package path in binding calls by name

* Implement model collection and rendering

* Fix wrong exit condition in analyser

* Fix enum rendering

* Generate shortcuts for all packages.

* Implement generator tests

* Ignore non-pointer bound types

* Treat main package specially

* Compute stats

* Plug new API into generate command

* Support all named types

* Update JS runtime

* Report dual role types

* Remove go1.22 syntax

* Fix type assertion in TS bindings

* encoding/json compliance for arrays and slices

* Ignore got files in testdata

* Cleanup type rendering mechanism

* Update JS runtime

* Implement generic models

* Add missing field in renderer initialisation

* Improve generic creation code

* Add generic model test

* Add error reporting infrastructure

* Support configurable file names

* Detect file naming collisions

* Print final error report

* New shortcut file structure + collision detection

* Update test layout and data

* Autoconfiguration for analyser tests

* Live progress reporting

* Update code comments

* Fix model doc rendering

* Simplify name resolution

* Add test for out of tree types

* Fix generic creation code

* Fix potential collisions between methods and models

* Fix generic class alias rendering

* Report model discovery in debug mode

* Add interface mode for JS

* Collect interface method comments

* Add interface methods test

* Unwrap generic instantiations in method receivers

* Fix rendering of nullable types in interface mode

* Fix rendering of class aliases

* Expose promise cancel method to typescript

* Update test data

* Update binding example

* Fix rendering of aliased quoted type params

* Move to strongly typed bindings

* Implement lightweight analyser

* Update test cases

* Update binding example

* Add complex instantiation test

* Load full dependency tree

* Rewrite collector

* Update renderer to match new collector

* Update generator to match new collector

* Update test data

* Update binding example

* Configure includes and injections by language

* Improve system path resolution

* Support rich conditions in inject/include directives

* Fix error handling in Generator.Generate

* Retrieve compiled go file paths from fileset

* Do not rely on struct info in struct flattening algorithm

* Fix doc comment for findDeclaraion

* Fix bugs in embedded field handling

* Fix bugs and comments in package collection

* Remove useless fields from ServiceInfo

* Fix empty line at the beginning of TS indexes

* Remove global index and shortcuts

* Remove generation tests for individual packages

* Enforce lower-case file names

* Update test data

* Improve error reporting

* Update binding example

* Reintroduce go1.22 syntax

* Improve relative import path computation

* Improve alias support

* Add alias test

* Update test data

* Remove no services error

* Rename global analyser test

* Add workaround and test for bug in typeutil.Map

* Update test data

* Do not split fully qualified names

* Update typeutil package and remove workaround

* Unify alias/named type handling

* Fix rendering of generic named class aliases

* Fix rendering of array types

* Minor tweaks and cleanups

* Rmove namespaced export construct

* Update test data

* Update binding example

* Break type cycles

* Fix typo in comment

* Fix creation code for cyclic types

* Fix type of variadic params in interface mode

* Update test data

* Fix bad whitespace

* Refactor type assertions inside bound methods

* Update test data

* Rename field application.Options.Bind to Services

* Rename parser package to generator

* Update binding example

* Update test data

* Update generator readme

* Add typescript test harness

* Move test output to new subfolder

* Fix code generation bugs

* Use .js extensions in TS mode imports

* Update test data

* Revert default generator output dir to frontend/bindings

* Bump runtime package version

* Update templates

* Update changelog

* Improve newline handling

---------

Co-authored-by: Andreas Bichinger <andreas.bichinger@gmail.com>
2024-05-19 20:40:44 +10:00
Lea Anthony
1dae9f613f
Improved templates 2024-01-07 08:19:07 +11:00
Lea Anthony
34f7f24e7e
Support Vite 5 templates + @wailsio/runtime module 2024-01-06 16:38:51 +11:00
Travis McLane
b8d780ba4a
Feature/template consolidation (#3046)
* remove 'test' project

* dynamic template list generation

- uses a single fs.Embed to contain all templates
- walks and rebuilds the list of TemplateData using the cached data
- pulls the `description` out of the required `template.json` file in
  the template directory

* [v3] template handling update

- move "common" template files to a _common directory
- update generator to render from _common/* first
- render selected template last to overwrite anything provided by
  _common if needed
- remove duplicate files from all templates that do not change

* cleanup template project directory after test

* add linux to _common/Taskfile.yaml

* noop: whitespace cleanup _common/Taskfile.yaml
2023-11-11 12:26:28 +11:00
Lea Anthony
81d7bc2d68
Fix vue templates 2023-10-05 20:13:50 +11:00
Lea Anthony
9ca86c6093
Fix template versions 2023-09-08 18:51:39 +10:00
Lea Anthony
00feccbb77
Add MACOSX_DEPLOYMENT_TARGET to taskfiles 2023-09-08 11:23:38 +10:00
Lea Anthony
15f602f867
Move v2 assetserver to v3 2023-08-12 14:16:53 +10:00
Lea Anthony
2553fa1f74
Update templates to use Go 1.21 2023-08-10 21:32:18 +10:00
Lea Anthony
39af86e59d
Improve project creation.
Add `template.json` to templates.
Update dependencies.
2023-08-09 21:30:06 +10:00
Lea Anthony
c9ce17a4d5
[v3] Fix Assets options in templates 2023-07-21 08:24:38 +10:00
Lea Anthony
1ce07cd67c
[v3 windows] Update Taskfile in templates 2023-06-06 20:37:15 +10:00
Lea Anthony
04d5842124
[v3 windows] Add package:windows task 2023-06-05 19:57:40 +10:00
Lea Anthony
4c04991d4d [v3] Change WebviewWindow options to be a value, not a pointer. Support Un/Fullscreen. Remove main thread switching. Use parent options instead of local variables. 2023-05-30 16:31:51 +08:00
Lea Anthony
bf10f71760 [windows] Fix paths for wails init 2023-05-30 16:31:45 +08:00
Lea Anthony
58986237b9 [v3] Minor fixes to templates + improved Taskfile 2023-03-11 12:48:10 +11:00
Lea Anthony
7cb4c7b505
[v3] Improve init command 2023-03-10 08:05:13 +11:00
Lea Anthony
23d2c9a741
Refactor main.tmpl.go -> main.go.tmpl 2023-02-09 21:14:16 +11:00
Lea Anthony
f951b51c11
Context menu WIP
options refactor
2023-02-09 18:35:26 +11:00
Lea Anthony
ee1978aa42
[v3] Initial template support (likely to change) 2023-01-22 15:39:57 +11:00