diff --git a/docs/openapi/01-getting-started.md b/docs/openapi/01-getting-started.md index 11c2c689e9..ce14cf6a7f 100644 --- a/docs/openapi/01-getting-started.md +++ b/docs/openapi/01-getting-started.md @@ -47,7 +47,9 @@ You should create a new folder, `src/schema` in your backend plugin to store you ## Generating a typed express router from a spec -Run `yarn backstage-repo-tools package schema openapi generate --server` from the directory with your plugin. This will create a `router.ts` file in the `src/generated` directory that contains the OpenAPI schema as well as a generated express router with types. You should add this command to your `package.json` for future use and you can combine both the server generation and the client generation below like so, `yarn backstage-repo-tools package schema openapi generate --server --client-package ` +Run `yarn backstage-repo-tools package schema openapi generate --server` from the directory with your plugin. This will create a `router.ts` file in the `src/schema/openapi/generated` directory that contains the OpenAPI schema as well as a factory function for a generated express router with types that match your schema. + +You should add this command to your `package.json` for future use and you can combine both the server generation and the client generation below like so, `yarn backstage-repo-tools package schema openapi generate --server --client-package ` Use it like so, update your `router.ts` or `createRouter.ts` file with the following content, diff --git a/packages/backend-openapi-utils/report.api.md b/packages/backend-openapi-utils/report.api.md index c2f7d6b778..399705a9e4 100644 --- a/packages/backend-openapi-utils/report.api.md +++ b/packages/backend-openapi-utils/report.api.md @@ -929,106 +929,6 @@ type ValueOf = T[keyof T]; // @public export const wrapInOpenApiTestServer: (app: Express_2) => Server | Express_2; -<<<<<<< HEAD // @public export function wrapServer(app: Express_2): Promise; -======= -// Warnings were encountered during analysis: -// -// src/router.d.ts:8:5 - (ae-undocumented) Missing documentation for "get". -// src/router.d.ts:9:5 - (ae-undocumented) Missing documentation for "post". -// src/router.d.ts:10:5 - (ae-undocumented) Missing documentation for "all". -// src/router.d.ts:11:5 - (ae-undocumented) Missing documentation for "put". -// src/router.d.ts:12:5 - (ae-undocumented) Missing documentation for "delete". -// src/router.d.ts:13:5 - (ae-undocumented) Missing documentation for "patch". -// src/router.d.ts:14:5 - (ae-undocumented) Missing documentation for "options". -// src/router.d.ts:15:5 - (ae-undocumented) Missing documentation for "head". -// src/types/common.d.ts:14:1 - (ae-undocumented) Missing documentation for "PathDoc". -// src/types/common.d.ts:60:1 - (ae-undocumented) Missing documentation for "DocPathTemplate". -// src/types/common.d.ts:64:1 - (ae-undocumented) Missing documentation for "DocPathMethod". -// src/types/common.d.ts:68:1 - (ae-undocumented) Missing documentation for "DocPathTemplateMethod". -// src/types/common.d.ts:72:1 - (ae-undocumented) Missing documentation for "MethodAwareDocPath". -// src/types/common.d.ts:78:1 - (ae-undocumented) Missing documentation for "DocOperation". -// src/types/common.d.ts:82:1 - (ae-undocumented) Missing documentation for "ComponentTypes". -// src/types/common.d.ts:86:1 - (ae-undocumented) Missing documentation for "ComponentRef". -// src/types/common.d.ts:92:1 - (ae-undocumented) Missing documentation for "SchemaRef". -// src/types/common.d.ts:100:1 - (ae-undocumented) Missing documentation for "ObjectWithContentSchema". -// src/types/common.d.ts:114:1 - (ae-undocumented) Missing documentation for "LastOf". -// src/types/common.d.ts:118:1 - (ae-undocumented) Missing documentation for "Push". -// src/types/common.d.ts:122:1 - (ae-undocumented) Missing documentation for "TuplifyUnion". -// src/types/common.d.ts:126:1 - (ae-undocumented) Missing documentation for "ConvertAll". -// src/types/common.d.ts:134:1 - (ae-undocumented) Missing documentation for "UnknownIfNever". -// src/types/common.d.ts:138:1 - (ae-undocumented) Missing documentation for "ToTypeSafe". -// src/types/common.d.ts:142:1 - (ae-undocumented) Missing documentation for "DiscriminateUnion". -// src/types/common.d.ts:146:1 - (ae-undocumented) Missing documentation for "MapDiscriminatedUnion". -// src/types/common.d.ts:152:1 - (ae-undocumented) Missing documentation for "PickOptionalKeys". -// src/types/common.d.ts:160:1 - (ae-undocumented) Missing documentation for "PickRequiredKeys". -// src/types/common.d.ts:168:1 - (ae-undocumented) Missing documentation for "OptionalMap". -// src/types/common.d.ts:176:1 - (ae-undocumented) Missing documentation for "RequiredMap". -// src/types/common.d.ts:184:1 - (ae-undocumented) Missing documentation for "FullMap". -// src/types/common.d.ts:190:1 - (ae-undocumented) Missing documentation for "Filter". -// src/types/express.d.ts:21:5 - (ae-undocumented) Missing documentation for "__call". -// src/types/express.d.ts:22:5 - (ae-undocumented) Missing documentation for "__call". -// src/types/generated.d.ts:7:1 - (ae-undocumented) Missing documentation for "EndpointMap". -// src/types/generated.d.ts:16:1 - (ae-undocumented) Missing documentation for "HttpMethods". -// src/types/generated.d.ts:20:1 - (ae-undocumented) Missing documentation for "StaticPathParamsSchema". -// src/types/generated.d.ts:24:1 - (ae-undocumented) Missing documentation for "StaticRequestBodySchema". -// src/types/generated.d.ts:28:1 - (ae-undocumented) Missing documentation for "StaticResponseSchema". -// src/types/generated.d.ts:32:1 - (ae-undocumented) Missing documentation for "StaticQueryParamsSchema". -// src/types/generated.d.ts:46:1 - (ae-undocumented) Missing documentation for "DocEndpoint". -// src/types/generated.d.ts:52:1 - (ae-undocumented) Missing documentation for "DocEndpointMethod". -// src/types/generated.d.ts:58:1 - (ae-undocumented) Missing documentation for "MethodAwareDocEndpoints". -// src/types/generated.d.ts:64:1 - (ae-undocumented) Missing documentation for "DocEndpointTemplate". -// src/types/generated.d.ts:68:1 - (ae-undocumented) Missing documentation for "TemplateToDocEndpoint". -// src/types/generated.d.ts:76:5 - (ae-undocumented) Missing documentation for "__call". -// src/types/generated.d.ts:77:5 - (ae-undocumented) Missing documentation for "__call". -// src/types/generated.d.ts:82:1 - (ae-undocumented) Missing documentation for "TypedRouter". -// src/types/generated.d.ts:83:5 - (ae-undocumented) Missing documentation for "get". -// src/types/generated.d.ts:84:5 - (ae-undocumented) Missing documentation for "post". -// src/types/generated.d.ts:85:5 - (ae-undocumented) Missing documentation for "put". -// src/types/generated.d.ts:86:5 - (ae-undocumented) Missing documentation for "delete". -// src/types/immutable.d.ts:18:1 - (ae-undocumented) Missing documentation for "ImmutableObject". -// src/types/immutable.d.ts:24:1 - (ae-undocumented) Missing documentation for "ImmutableReferenceObject". -// src/types/immutable.d.ts:28:1 - (ae-undocumented) Missing documentation for "ImmutableOpenAPIObject". -// src/types/immutable.d.ts:32:1 - (ae-undocumented) Missing documentation for "ImmutableContentObject". -// src/types/immutable.d.ts:36:1 - (ae-undocumented) Missing documentation for "ImmutableRequestBodyObject". -// src/types/immutable.d.ts:40:1 - (ae-undocumented) Missing documentation for "ImmutableResponseObject". -// src/types/immutable.d.ts:44:1 - (ae-undocumented) Missing documentation for "ImmutableParameterObject". -// src/types/immutable.d.ts:48:1 - (ae-undocumented) Missing documentation for "HeaderObject". -// src/types/immutable.d.ts:49:5 - (ae-undocumented) Missing documentation for "in". -// src/types/immutable.d.ts:50:5 - (ae-undocumented) Missing documentation for "style". -// src/types/immutable.d.ts:55:1 - (ae-undocumented) Missing documentation for "ImmutableHeaderObject". -// src/types/immutable.d.ts:59:1 - (ae-undocumented) Missing documentation for "CookieObject". -// src/types/immutable.d.ts:60:5 - (ae-undocumented) Missing documentation for "in". -// src/types/immutable.d.ts:61:5 - (ae-undocumented) Missing documentation for "style". -// src/types/immutable.d.ts:66:1 - (ae-undocumented) Missing documentation for "ImmutableCookieObject". -// src/types/immutable.d.ts:70:1 - (ae-undocumented) Missing documentation for "QueryObject". -// src/types/immutable.d.ts:71:5 - (ae-undocumented) Missing documentation for "in". -// src/types/immutable.d.ts:72:5 - (ae-undocumented) Missing documentation for "style". -// src/types/immutable.d.ts:77:1 - (ae-undocumented) Missing documentation for "ImmutableQueryObject". -// src/types/immutable.d.ts:81:1 - (ae-undocumented) Missing documentation for "PathObject". -// src/types/immutable.d.ts:82:5 - (ae-undocumented) Missing documentation for "in". -// src/types/immutable.d.ts:83:5 - (ae-undocumented) Missing documentation for "style". -// src/types/immutable.d.ts:88:1 - (ae-undocumented) Missing documentation for "ImmutablePathObject". -// src/types/immutable.d.ts:92:1 - (ae-undocumented) Missing documentation for "ImmutableSchemaObject". -// src/types/params.d.ts:7:1 - (ae-undocumented) Missing documentation for "DocParameter". -// src/types/params.d.ts:16:1 - (ae-undocumented) Missing documentation for "DocParameters". -// src/types/params.d.ts:22:1 - (ae-undocumented) Missing documentation for "ParameterSchema". -// src/types/params.d.ts:26:1 - (ae-undocumented) Missing documentation for "MapToSchema". -// src/types/params.d.ts:32:1 - (ae-undocumented) Missing documentation for "ParametersSchema". -// src/types/params.d.ts:36:1 - (ae-undocumented) Missing documentation for "HeaderSchema". -// src/types/params.d.ts:40:1 - (ae-undocumented) Missing documentation for "CookieSchema". -// src/types/params.d.ts:44:1 - (ae-undocumented) Missing documentation for "PathSchema". -// src/types/params.d.ts:48:1 - (ae-undocumented) Missing documentation for "QuerySchema". -// src/types/requests.d.ts:9:1 - (ae-undocumented) Missing documentation for "RequestBody". -// src/types/requests.d.ts:13:1 - (ae-undocumented) Missing documentation for "RequestBodySchema". -// src/types/responses.d.ts:9:1 - (ae-undocumented) Missing documentation for "Response". -// src/types/responses.d.ts:13:1 - (ae-undocumented) Missing documentation for "ResponseSchemas". -// src/utility.d.ts:5:1 - (ae-undocumented) Missing documentation for "Response". -// src/utility.d.ts:9:1 - (ae-undocumented) Missing documentation for "Request". -// src/utility.d.ts:13:1 - (ae-undocumented) Missing documentation for "HeaderParameters". -// src/utility.d.ts:17:1 - (ae-undocumented) Missing documentation for "CookieParameters". -// src/utility.d.ts:21:1 - (ae-undocumented) Missing documentation for "PathParameters". -// src/utility.d.ts:25:1 - (ae-undocumented) Missing documentation for "QueryParameters". ->>>>>>> 5a23c27e40c70 (fix types and move packages back to catalog-client) ```