57 lines
1.9 KiB
Go
57 lines
1.9 KiB
Go
//go:generate go run main.go --skipHandlers=false --skipStructs=false --skipTypes=false --skipPluginEvents=false --skipHookEvents=false --skipHandlerHookEvents=false
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
codegen "seanime/codegen/internal"
|
|
)
|
|
|
|
func main() {
|
|
|
|
var skipHandlers bool
|
|
flag.BoolVar(&skipHandlers, "skipHandlers", false, "Skip generating docs")
|
|
|
|
var skipStructs bool
|
|
flag.BoolVar(&skipStructs, "skipStructs", false, "Skip generating structs")
|
|
|
|
var skipTypes bool
|
|
flag.BoolVar(&skipTypes, "skipTypes", false, "Skip generating types")
|
|
|
|
var skipPluginEvents bool
|
|
flag.BoolVar(&skipPluginEvents, "skipPluginEvents", false, "Skip generating plugin events")
|
|
|
|
var skipHookEvents bool
|
|
flag.BoolVar(&skipHookEvents, "skipHookEvents", false, "Skip generating hook events")
|
|
|
|
var skipHandlerHookEvents bool
|
|
flag.BoolVar(&skipHandlerHookEvents, "skipHandlerHookEvents", false, "Skip generating handler hook events")
|
|
|
|
flag.Parse()
|
|
|
|
if !skipHandlers {
|
|
codegen.GenerateHandlers("../internal/handlers", "./generated")
|
|
}
|
|
|
|
if !skipStructs {
|
|
codegen.ExtractStructs("../internal", "./generated")
|
|
}
|
|
|
|
if !skipTypes {
|
|
goStructStrs := codegen.GenerateTypescriptEndpointsFile("./generated/handlers.json", "./generated/public_structs.json", "../seanime-web/src/api/generated", "../internal/events")
|
|
codegen.GenerateTypescriptFile("./generated/handlers.json", "./generated/public_structs.json", "../seanime-web/src/api/generated", goStructStrs)
|
|
}
|
|
|
|
// if !skipHandlerHookEvents {
|
|
// codegen.GenerateHandlerHookEvents("./generated/handlers.json", "../internal/handlers")
|
|
// }
|
|
|
|
if !skipPluginEvents {
|
|
codegen.GeneratePluginEventFile("../internal/plugin/ui/events.go", "../seanime-web/src/app/(main)/_features/plugin/generated")
|
|
}
|
|
|
|
if !skipHookEvents {
|
|
codegen.GeneratePluginHooksDefinitionFile("../internal/extension_repo/goja_plugin_types", "./generated/public_structs.json", "./generated")
|
|
}
|
|
|
|
}
|