You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the same way we have the built in template, we define this built in catalog which can be hosted in the compiler
interfaceBuiltInCatalog{libraries: Library[];/** List of known emitters */emitters: Emitter[];}interfaceLibraryBase{name: string;// e.g. @typespec/openapi3description: string;// Generate OpenAPI 3 or 3.1 documentowner: string;// e.g Microsoft .. this is so we can add 3rd party emitters in the futurehomepage: string;// doc url}interfaceLibraryextendsLibraryBase{recommendedEmitters?: string[];// e.g. ['@typespec/openapi3']}interfaceEmitterextendsLibraryBase{tags: string[];// e.g. ['openapi3', 'http', 'client', 'server']language?: string;// Language emitted by the emitter}
Difference with current schema
Rename some properties
sourceRepo -> homepage
package -> name
Replace properties with a generic tag: The one layer category is to arbitrary. Some emitter could also technically have multiple categories
language
category
Removed requisite and replaced with more generic description for now. This is mostly because this is isn';t anything but documentation for now and if we wanted a more solid prerequisite validation we might want to have it be a more specific format
Added libraries vs emitters with a way for a library to recommend certain emitters so the init phase can figure it out
A couple of items for a better user experience in getting started with TypeSpec:
import
.The text was updated successfully, but these errors were encountered: