5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 18:31:39 +08:00
wails/v3/internal/generator
Fabio Massaioli 37673eb24d
[v3] Fix binding generator bugs and prepare for Go 1.24 (#4045)
* Rename predicates source file

* Overhaul and document type predicates

* Fix model collection logic for named types

* Fix map key type rendering

* Fix map creation code

* Fix rendering of structs that implement marshaler interfaces

* Fix type cycle detection to take type args into account

* Fix enum and typeparam field initialisation

* Improve unsupported type warnings

* Remove internal models file

* Deduplicate template code

* Accept generic aliases in static analyser

* Support new `encoding/json` flag `omitzero`

* Handle special cases when rendering generic aliases

* Update npm test dependencies

* Test class aliases and implicit private dependencies

* Test marshaler combinations

* Test map key types

* Remove bad map keys from unrelated tests

* Test service discovery through generic aliases

* Test generic aliases

* Test warning messages

* Disable go1.24 tests

* Update changelog

* Restore rendering of injected lines in index file

* Test directives

* Add wails:ignore directive

* Fix typo

* Move injections to the bottom of service files

* Handle errors from closing files

* Do not emit messages when services define only lifecycle methods

* Add internal directive for services and models

* Update changelog

* Fix error in service templates

* Test internal directive on services/models

* Fix error in index template

* Base testdata updates

* Testdata for class aliases and implicit private dependencies

* Testdata for marshaler combinations

* Testdata for map key types

* Testdata for bad map key fixes

* Add weakly typed enums aka alias constants

* Testdata for enum and typeparam field fixes

* Testdata for generic aliases

* Testdata for warning messages

* Testdata for directives

* Testdata for weakly typed enums

* Update binding example

* Update services example

* Remove go1.24 testdata

* Update cli doc

* Fix analyser tests

* Fix windows tests... hopefully

* go mod tidy on examples

* Update bindings guide

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-02-09 09:44:34 +11:00
..
collect [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
config [v3] New binding generator (#3468) 2024-05-19 20:40:44 +10:00
render [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
testcases [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
testdata [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
.gitignore [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
analyse_test.go [v3] Fix binding generator bugs (#4001) 2025-01-17 18:56:07 +11:00
analyse.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
constants_test.go [v3] New binding generator (#3468) 2024-05-19 20:40:44 +10:00
constants.go [v3] New binding generator (#3468) 2024-05-19 20:40:44 +10:00
errors.go [v3] Service API cleanup and comments (#4024) 2025-01-23 10:53:48 +00:00
generate_test.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
generate.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
includes.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
index.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
load.go [v3] New binding generator (#3468) 2024-05-19 20:40:44 +10:00
models.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
README.md [v3] New binding generator (#3468) 2024-05-19 20:40:44 +10:00
service.go [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00
Taskfile.yaml [v3] Fix binding generator bugs and prepare for Go 1.24 (#4045) 2025-02-09 09:44:34 +11:00

Generator

This package contains the static analyser used for parsing Wails projects so that we may:

  • Generate the bindings for the frontend
  • Generate Typescript definitions for the structs used by the bindings