adjust docs

Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
This commit is contained in:
Aramis Sennyey
2024-04-01 19:25:59 -04:00
committed by aramissennyeydd
parent 9cf8209799
commit 23e2366911
3 changed files with 40 additions and 11 deletions
+34 -5
View File
@@ -20,9 +20,38 @@ info:
### Generating your client
1. Run `yarn backstage-repo-tools package schema openapi generate client --client-package <directory>`. This will create a new folder in `<directory>/src/generated` to house the generated content.
2. You should use the generated files as follows,
1. Run `yarn backstage-repo-tools package schema openapi generate --client-package <directory>`. This will create a new folder in `<directory>/src/generated` to house the generated content. We recommend that the client package be your plugin's common package. You should then add a new entry point into the package so that the generated content can be accessed like so, `<plugin>-common/client`. To do that, adjust your `package.json` like so,
- `apis/DefaultApi.client.ts` - this is the client that you should use. It has types for all of the various operations on your API.
- `models/*` - These are the types generated from your OpenAPI file, ideally you should not need to use these directly and can instead use the inferred types from `apis/DefaultApi.client.ts`.
- everything else is directory specific and shouldn't be touched.
```json
// ... other scripts
"exports": {
".": "./src/index.ts",
"./alpha": "./src/alpha.ts",
// highlight-add-next-line
"./client": "./src/client.ts",
"./package.json": "./package.json"
},
"typesVersions": {
"*": {
"alpha": [
"src/alpha.ts"
],
// highlight-start
"client": [
"src/client.ts"
],
// highlight-end
"package.json": [
"package.json"
]
}
},
// ... other stuff
```
2. You should not need to import anything from subfolders of the `src/generated` parent folder, everything you should require will be accessible from the `src/generated/index.ts` file. Of note,
1. `DefaultApiClient` - this is the client that you can use to access your specific spec.
1. Any request or response types - these will be available from the index and should match the names in your spec.