mirror of
https://github.com/coder/coder.git
synced 2026-06-04 21:48:22 +00:00
4cb807670d
Closes https://github.com/coder/coder/issues/15074 We have a hard-coded list of countries at https://github.com/coder/coder/blob/main/site/src/pages/SetupPage/countries.tsx. This means Go code in coder/coder doesn't have an easy way of utilizing it. ## Solution Generate countries.tsx from Go code. Generated by `scripts/apitypings`
APITypings
This main.go generates typescript types from the codersdk types in Go.
Features
- Supports Go types
- Basics (string/int/etc)
- Maps
- Slices
- Enums
- Pointers
- External Types (uses
anyatm)- Some custom external types are hardcoded in (eg: time.Time)
Type overrides
type Foo struct {
// Force the typescript type to be a number
CreatedAt time.Duration `json:"created_at" typescript:"number"`
}
Ignore Types
Do not generate ignored types.
// @typescript-ignore InternalType
type InternalType struct {
// ...
}
Future Ideas
- Use a yaml config for overriding certain types