@dokploy/trpc-openapi 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/generator/paths.d.ts.map +1 -1
  2. package/dist/generator/paths.js +2 -2
  3. package/dist/generator/paths.js.map +1 -1
  4. package/dist/generator/schema.d.ts.map +1 -1
  5. package/dist/generator/schema.js +3 -13
  6. package/dist/generator/schema.js.map +1 -1
  7. package/dist/types.d.ts +12 -10
  8. package/dist/types.d.ts.map +1 -1
  9. package/dist/utils/procedure.d.ts +4 -3
  10. package/dist/utils/procedure.d.ts.map +1 -1
  11. package/dist/utils/procedure.js +29 -7
  12. package/dist/utils/procedure.js.map +1 -1
  13. package/package.json +14 -9
  14. package/assets/trpc-openapi-graph.png +0 -0
  15. package/assets/trpc-openapi-readme.png +0 -0
  16. package/assets/trpc-openapi.svg +0 -4
  17. package/examples/with-express/README.md +0 -11
  18. package/examples/with-express/package.json +0 -28
  19. package/examples/with-express/src/database.ts +0 -67
  20. package/examples/with-express/src/index.ts +0 -27
  21. package/examples/with-express/src/openapi.ts +0 -13
  22. package/examples/with-express/src/router.ts +0 -424
  23. package/examples/with-express/tsconfig.json +0 -102
  24. package/examples/with-interop/README.md +0 -10
  25. package/examples/with-interop/package.json +0 -13
  26. package/examples/with-interop/src/index.ts +0 -17
  27. package/examples/with-interop/tsconfig.json +0 -103
  28. package/examples/with-nextjs/.eslintrc.json +0 -3
  29. package/examples/with-nextjs/README.md +0 -12
  30. package/examples/with-nextjs/next-env.d.ts +0 -5
  31. package/examples/with-nextjs/next.config.js +0 -6
  32. package/examples/with-nextjs/package.json +0 -33
  33. package/examples/with-nextjs/public/favicon.ico +0 -0
  34. package/examples/with-nextjs/src/pages/_app.tsx +0 -7
  35. package/examples/with-nextjs/src/pages/api/[...trpc].ts +0 -18
  36. package/examples/with-nextjs/src/pages/api/openapi.json.ts +0 -10
  37. package/examples/with-nextjs/src/pages/api/trpc/[...trpc].ts +0 -9
  38. package/examples/with-nextjs/src/pages/index.tsx +0 -12
  39. package/examples/with-nextjs/src/server/database.ts +0 -67
  40. package/examples/with-nextjs/src/server/openapi.ts +0 -13
  41. package/examples/with-nextjs/src/server/router.ts +0 -425
  42. package/examples/with-nextjs/tsconfig.json +0 -24
  43. package/jest.config.ts +0 -12
  44. package/pnpm-workspace.yaml +0 -7
  45. package/src/adapters/express.ts +0 -20
  46. package/src/adapters/index.ts +0 -3
  47. package/src/adapters/next.ts +0 -64
  48. package/src/adapters/node-http/core.ts +0 -203
  49. package/src/adapters/node-http/errors.ts +0 -45
  50. package/src/adapters/node-http/input.ts +0 -76
  51. package/src/adapters/node-http/procedures.ts +0 -64
  52. package/src/adapters/standalone.ts +0 -19
  53. package/src/generator/index.ts +0 -51
  54. package/src/generator/paths.ts +0 -127
  55. package/src/generator/schema.ts +0 -238
  56. package/src/index.ts +0 -42
  57. package/src/types.ts +0 -79
  58. package/src/utils/method.ts +0 -8
  59. package/src/utils/path.ts +0 -12
  60. package/src/utils/procedure.ts +0 -45
  61. package/src/utils/zod.ts +0 -115
  62. package/test/adapters/express.test.ts +0 -150
  63. package/test/adapters/next.test.ts +0 -162
  64. package/test/adapters/standalone.test.ts +0 -1335
  65. package/test/generator.test.ts +0 -2897
  66. package/tsconfig.build.json +0 -4
  67. package/tsconfig.eslint.json +0 -5
  68. package/tsconfig.json +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/generator/paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAajE,eAAO,MAAM,qBAAqB,cACtB,aAAa,uBACH,MAAM,EAAE,KAC3B,SAAS,CAAC,WA2GZ,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/generator/paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAajE,eAAO,MAAM,qBAAqB,cACtB,aAAa,uBACH,MAAM,EAAE,KAC3B,SAAS,CAAC,WA0GZ,CAAC"}
@@ -45,7 +45,7 @@ const getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
45
45
  });
46
46
  }
47
47
  const { inputParser, outputParser } = (0, procedure_1.getInputOutputParsers)(procedure);
48
- pathsObject[path] = Object.assign(Object.assign({}, pathsObject[path]), { [httpMethod]: Object.assign(Object.assign({ operationId: procedurePath.replace(/\./g, "-"), summary,
48
+ pathsObject[path] = Object.assign(Object.assign({}, pathsObject[path]), { [httpMethod]: Object.assign(Object.assign(Object.assign({ operationId: procedurePath.replace(/\./g, "-"), summary,
49
49
  description, tags: tags, security: protect
50
50
  ? securitySchemeNames.map((name) => ({ [name]: [] }))
51
51
  : undefined }, ((0, method_1.acceptsRequestBody)(method)
@@ -62,7 +62,7 @@ const getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
62
62
  ...headerParameters,
63
63
  ...((0, schema_1.getParameterObjects)(inputParser, pathParameters, "all", (_d = openapi.example) === null || _d === void 0 ? void 0 : _d.request) || []),
64
64
  ],
65
- })), { responses: (0, schema_1.getResponsesObject)(outputParser, (_e = openapi.example) === null || _e === void 0 ? void 0 : _e.response, openapi.responseHeaders) }) });
65
+ })), { responses: (0, schema_1.getResponsesObject)(outputParser, (_e = openapi.example) === null || _e === void 0 ? void 0 : _e.response, openapi.responseHeaders) }), (openapi.deprecated ? { deprecated: openapi.deprecated } : {})) });
66
66
  }
67
67
  catch (error) {
68
68
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/generator/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/generator/paths.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/generator/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsB9C,eAAO,MAAM,mBAAmB,kBAChB,OAAO,kBACN,MAAM,EAAE,UAChB,KAAK,GAAG,MAAM,GAAG,OAAO,WACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,KACtC,SAAS,CAAC,eAAe,EAAE,GAAG,SAoFhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kBACjB,OAAO,kBACN,MAAM,EAAE,gBACV,kBAAkB,EAAE,WACzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,KACtC,SAAS,CAAC,iBAAiB,GAAG,SA2DhC,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,cAa3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,WACtB,OAAO,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,WAErC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,GAClE,SAAS,KACV,SAAS,CAAC,eAgCZ,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/generator/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsB9C,eAAO,MAAM,mBAAmB,kBAChB,OAAO,kBACN,MAAM,EAAE,UAChB,KAAK,GAAG,MAAM,GAAG,OAAO,WACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,KACtC,SAAS,CAAC,eAAe,EAAE,GAAG,SAoFhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kBACjB,OAAO,kBACN,MAAM,EAAE,gBACV,kBAAkB,EAAE,WACzB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,KACtC,SAAS,CAAC,iBAAiB,GAAG,SA2DhC,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,cAa3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,WACtB,OAAO,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,WAErC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,GAClE,SAAS,KACV,SAAS,CAAC,eAoBZ,CAAC"}
@@ -28,7 +28,7 @@ const zodSchemaToOpenApiSchemaObject = (zodSchema) => {
28
28
  });
29
29
  };
30
30
  const getParameterObjects = (currentSchema, pathParameters, inType, example) => {
31
- const schema = currentSchema !== null && currentSchema !== void 0 ? currentSchema : zod_1.z.void();
31
+ const schema = currentSchema || zod_1.z.void();
32
32
  const isRequired = !schema.isOptional();
33
33
  const unwrappedSchema = (0, zod_2.unwrapZodType)(schema, true);
34
34
  if (pathParameters.length === 0 &&
@@ -110,7 +110,7 @@ const getRequestBodyObject = (currentSchema, pathParameters, contentTypes, examp
110
110
  // code: "INTERNAL_SERVER_ERROR",
111
111
  // });
112
112
  // }
113
- const schema = currentSchema !== null && currentSchema !== void 0 ? currentSchema : zod_1.z.void();
113
+ const schema = currentSchema || zod_1.z.void();
114
114
  const isRequired = !schema.isOptional();
115
115
  const unwrappedSchema = (0, zod_2.unwrapZodType)(schema, true);
116
116
  if (pathParameters.length === 0 &&
@@ -165,25 +165,15 @@ exports.errorResponseObject = {
165
165
  },
166
166
  };
167
167
  const getResponsesObject = (schema, example, headers) => {
168
- // if (!instanceofZodType(schema)) {
169
- // throw new TRPCError({
170
- // message: 'Output parser expects a Zod validator',
171
- // code: 'INTERNAL_SERVER_ERROR',
172
- // });
173
- // }
174
- console.log(schema);
175
168
  const successResponseObject = {
176
169
  description: "Successful response",
177
170
  headers: headers,
178
171
  content: {
179
172
  "application/json": Object.assign(Object.assign({}, (schema && {
180
173
  schema: zodSchemaToOpenApiSchemaObject(schema),
181
- })), {
182
- // schema: zodSchemaToOpenApiSchemaObject(schema),
183
- example }),
174
+ })), { example }),
184
175
  },
185
176
  };
186
- // console.log(zodSchemaToOpenApiSchemaObject(schema));
187
177
  return {
188
178
  200: successResponseObject,
189
179
  default: {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generator/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/generator/schema.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,14 +1,16 @@
1
- import { Procedure, ProcedureParams, Router } from '@trpc/server';
2
- import type { RootConfig } from '@trpc/server/dist/core/internals/config';
3
- import { TRPC_ERROR_CODE_KEY } from '@trpc/server/rpc';
4
- import type { RouterDef } from '@trpc/server/src/core/router';
5
- import { OpenAPIV3 } from 'openapi-types';
6
- import { ZodIssue } from 'zod';
7
- export type OpenApiMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
1
+ import { Procedure, ProcedureParams, Router } from "@trpc/server";
2
+ import type { RootConfig } from "@trpc/server/dist/core/internals/config";
3
+ import { TRPC_ERROR_CODE_KEY } from "@trpc/server/rpc";
4
+ import type { RouterDef } from "@trpc/server/src/core/router";
5
+ import { OpenAPIV3 } from "openapi-types";
6
+ import { ZodIssue } from "zod";
7
+ export type OpenApiMethod = "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
8
8
  type TRPCMeta = Record<string, unknown>;
9
- export type OpenApiContentType = 'application/json' | 'application/x-www-form-urlencoded' | (string & {});
9
+ export type OpenApiContentType = "application/json" | "application/x-www-form-urlencoded" | (string & {});
10
10
  export type OpenApiMeta<TMeta = TRPCMeta> = TMeta & {
11
11
  openapi?: {
12
+ override?: boolean;
13
+ additional?: boolean;
12
14
  enabled?: boolean;
13
15
  method: OpenApiMethod;
14
16
  path: `/${string}`;
@@ -18,7 +20,7 @@ export type OpenApiMeta<TMeta = TRPCMeta> = TMeta & {
18
20
  tags?: string[];
19
21
  headers?: (OpenAPIV3.ParameterBaseObject & {
20
22
  name: string;
21
- in?: 'header';
23
+ in?: "header";
22
24
  })[];
23
25
  contentTypes?: OpenApiContentType[];
24
26
  deprecated?: boolean;
@@ -29,7 +31,7 @@ export type OpenApiMeta<TMeta = TRPCMeta> = TMeta & {
29
31
  responseHeaders?: Record<string, OpenAPIV3.HeaderObject | OpenAPIV3.ReferenceObject>;
30
32
  };
31
33
  };
32
- export type OpenApiProcedure<TMeta = TRPCMeta> = Procedure<'query' | 'mutation', ProcedureParams<RootConfig<{
34
+ export type OpenApiProcedure<TMeta = TRPCMeta> = Procedure<"query" | "mutation", ProcedureParams<RootConfig<{
33
35
  transformer: any;
34
36
  errorShape: any;
35
37
  ctx: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { ProcedureType } from '@trpc/server';
2
- import { AnyZodObject } from 'zod';
3
- import { OpenApiMeta, OpenApiProcedure, OpenApiProcedureRecord } from '../types';
1
+ import { ProcedureType } from "@trpc/server";
2
+ import { AnyZodObject } from "zod";
3
+ import { OpenApiMeta, OpenApiMethod, OpenApiProcedure, OpenApiProcedureRecord } from "../types";
4
4
  export declare const getInputOutputParsers: (procedure: OpenApiProcedure) => {
5
5
  inputParser: AnyZodObject | import("@trpc/server/dist/core/parser").Parser | undefined;
6
6
  outputParser: import("@trpc/server/dist/core/parser").Parser | undefined;
7
7
  };
8
+ export declare const getMethod: (procedure: OpenApiProcedure) => OpenApiMethod;
8
9
  export declare const forEachOpenApiProcedure: (procedureRecord: OpenApiProcedureRecord, callback: (values: {
9
10
  path: string;
10
11
  type: ProcedureType;
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/utils/procedure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAK,MAAM,KAAK,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASjF,eAAO,MAAM,qBAAqB,cAAe,gBAAgB;;;CAMhE,CAAC;AASF,eAAO,MAAM,uBAAuB,oBACjB,sBAAsB,YAC7B,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C,KAAK,IAAI,SASX,CAAC"}
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/utils/procedure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAK,MAAM,KAAK,CAAC;AAEtC,OAAO,EACN,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,qBAAqB,cAAe,gBAAgB;;;CAOhE,CAAC;AASF,eAAO,MAAM,SAAS,cAAe,gBAAgB,KAAG,aAEvD,CAAC;AAEF,eAAO,MAAM,uBAAuB,oBAClB,sBAAsB,YAC7B,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;CAC7C,KAAK,IAAI,SA2BV,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forEachOpenApiProcedure = exports.getInputOutputParsers = void 0;
3
+ exports.forEachOpenApiProcedure = exports.getMethod = exports.getInputOutputParsers = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const mergeInputs = (inputParsers) => {
6
6
  return inputParsers.reduce((acc, inputParser) => {
@@ -18,19 +18,41 @@ const getInputOutputParsers = (procedure) => {
18
18
  exports.getInputOutputParsers = getInputOutputParsers;
19
19
  const getProcedureType = (procedure) => {
20
20
  if (procedure._def.query)
21
- return 'query';
21
+ return "query";
22
22
  if (procedure._def.mutation)
23
- return 'mutation';
23
+ return "mutation";
24
24
  if (procedure._def.subscription)
25
- return 'subscription';
26
- throw new Error('Unknown procedure type');
25
+ return "subscription";
26
+ throw new Error("Unknown procedure type");
27
27
  };
28
+ const getMethod = (procedure) => {
29
+ return getProcedureType(procedure) === "query" ? "GET" : "POST";
30
+ };
31
+ exports.getMethod = getMethod;
28
32
  const forEachOpenApiProcedure = (procedureRecord, callback) => {
29
- var _a;
33
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
30
34
  for (const [path, procedure] of Object.entries(procedureRecord)) {
31
- const { openapi } = (_a = procedure._def.meta) !== null && _a !== void 0 ? _a : {};
35
+ const additional = (_c = (_b = (_a = procedure._def.meta) === null || _a === void 0 ? void 0 : _a.openapi) === null || _b === void 0 ? void 0 : _b.additional) !== null && _c !== void 0 ? _c : false;
36
+ const override = (_f = (_e = (_d = procedure._def.meta) === null || _d === void 0 ? void 0 : _d.openapi) === null || _e === void 0 ? void 0 : _e.override) !== null && _f !== void 0 ? _f : false;
37
+ const defaultOpenApiMeta = {
38
+ method: (0, exports.getMethod)(procedure),
39
+ path: path,
40
+ enabled: true,
41
+ tags: [path.split(".")[0]],
42
+ };
43
+ let openapi;
44
+ if (override) {
45
+ openapi = Object.assign({}, (_g = procedure._def.meta) === null || _g === void 0 ? void 0 : _g.openapi);
46
+ }
47
+ else if (additional) {
48
+ openapi = Object.assign(Object.assign({}, defaultOpenApiMeta), (_h = procedure._def.meta) === null || _h === void 0 ? void 0 : _h.openapi);
49
+ }
50
+ else {
51
+ openapi = Object.assign(Object.assign({}, (_j = procedure._def.meta) === null || _j === void 0 ? void 0 : _j.openapi), defaultOpenApiMeta);
52
+ }
32
53
  if (openapi && openapi.enabled !== false) {
33
54
  const type = getProcedureType(procedure);
55
+ // @ts-ignore
34
56
  callback({ path, type, procedure, openapi });
35
57
  }
36
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/utils/procedure.ts"],"names":[],"mappings":";;;AAEA,6BAAsC;AAItC,MAAM,WAAW,GAAG,CAAC,YAA4B,EAAgB,EAAE;IACjE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QAC9C,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,4EAA4E;AACrE,MAAM,qBAAqB,GAAG,CAAC,SAA2B,EAAE,EAAE;IACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;IAC1C,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAwB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,YAAY,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEF,MAAM,gBAAgB,GAAG,CAAC,SAA2B,EAAiB,EAAE;IACtE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,cAAc,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CACrC,eAAuC,EACvC,QAKU,EACV,EAAE;;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,uBAAuB,2BAgBlC"}
1
+ {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/utils/procedure.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dokploy/trpc-openapi",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "tRPC OpenAPI",
5
5
  "author": "Mauricio Siu <siumauricio@hotmail.com>",
6
6
  "private": false,
@@ -13,9 +13,9 @@
13
13
  "openapi",
14
14
  "swagger"
15
15
  ],
16
- "homepage": "https://github.com/jlalmes/trpc-openapi",
17
- "repository": "github:jlalmes/trpc-openapi",
18
- "bugs": "https://github.com/jlalmes/trpc-openapi/issues",
16
+ "homepage": "https://github.com/dokploy/trpc-openapi",
17
+ "repository": "github:dokploy/trpc-openapi",
18
+ "bugs": "https://github.com/dokploy/trpc-openapi/issues",
19
19
  "main": "dist/index.js",
20
20
  "typings": "dist/index.d.ts",
21
21
  "workspaces": [
@@ -24,6 +24,15 @@
24
24
  "examples/with-express",
25
25
  "examples/with-interop"
26
26
  ],
27
+ "files": [
28
+ "dist",
29
+ "README.md",
30
+ "LICENSE"
31
+ ],
32
+ "scripts": {
33
+ "test": "tsc --noEmit && jest --verbose",
34
+ "build": "rimraf dist && tsc -p tsconfig.build.json"
35
+ },
27
36
  "peerDependencies": {
28
37
  "@trpc/server": "^10.0.0",
29
38
  "zod": "^3.14.4"
@@ -66,9 +75,5 @@
66
75
  "ts-jest": "^29.1.0",
67
76
  "ts-node": "^10.9.1",
68
77
  "typescript": "^5.0.4"
69
- },
70
- "scripts": {
71
- "test": "tsc --noEmit && jest --verbose",
72
- "build": "rimraf dist && tsc -p tsconfig.build.json"
73
78
  }
74
- }
79
+ }
Binary file
Binary file
@@ -1,4 +0,0 @@
1
- <svg width="125" height="125" viewBox="0 0 125 125" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M125 62.5C125 97.0178 97.0178 125 62.5 125C27.9822 125 0 97.0178 0 62.5C0 27.9822 27.9822 0 62.5 0C97.0178 0 125 27.9822 125 62.5ZM62 17.2672L80.7143 27.764V35.3077L99 44.5385V61.5685L106 65.4948V86.736L87.2857 97.2328L82.8617 94.7514L61.9649 106.791L41.6747 94.771L37.2857 97.2328L18.5714 86.736V65.4948L25 61.889V44.5385L43.2857 35.3077V27.764L62 17.2672ZM35 50.6923L43.2857 46.5096V49.0052L62 59.502L80.7143 49.0052V46.5096L89 50.6923V55.9595L87.2857 54.998L68.5714 65.4948V86.736L72.7116 89.0582L62.0351 95.2093L51.7528 89.1183L56 86.736V65.4948L37.2857 54.9979L35 56.28V50.6923ZM83.7922 68.4231L87.2857 66.4636L90.7792 68.4231L87.2857 70.3826L83.7922 68.4231ZM92.2857 79.0437L96 76.9604V80.8794L92.2857 82.9627V79.0437ZM82.2857 79.0437V82.9627L78.5714 80.8794V76.9604L82.2857 79.0437ZM46 80.8794L42.2857 82.9627V79.0437L46 76.9604V80.8794ZM40.7792 68.4231L37.2857 70.3826L33.7922 68.4231L37.2857 66.4636L40.7792 68.4231ZM28.5714 76.9604L32.2857 79.0437V82.9627L28.5714 80.8794V76.9604ZM57 45.2319L53.2857 43.1486V39.2296L57 41.3129V45.2319ZM62 32.6518L58.5065 30.6923L62 28.7328L65.4935 30.6923L62 32.6518ZM67 41.3129L70.7143 39.2296V43.1486L67 45.2319V41.3129Z" fill="#8FCE0B"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M62 21.2802L77.2143 29.8138V37.4615L95.5 46.6923V63.6183L102.5 67.5446V84.6862L87.2857 93.2198L82.8385 90.7254L61.9895 102.737L41.7224 90.7313L37.2857 93.2198L22.0714 84.6862V67.5446L28.5 63.9388V46.6923L46.7857 37.4615V29.8138L62 21.2802ZM46.7857 40.8221L31.5 48.5385V62.2561L37.2857 59.0109L52.5 67.5446V84.6862L44.7458 89.0355L62.0105 99.2628L79.7935 89.0175L72.0714 84.6862V67.5446L87.2857 59.0109L92.5 61.9356V48.5385L77.2143 40.8221V46.9554L62 55.4891L46.7857 46.9554V40.8221ZM49.7857 33.2535L60.5 39.2631V51.208L49.7857 45.1984V33.2535ZM63.5 51.208L74.2143 45.1984V33.2535L63.5 39.2631V51.208ZM62 36.6648L72.648 30.6923L62 24.7198L51.352 30.6923L62 36.6648ZM25.0714 70.9843L35.7857 76.9939V88.9388L25.0714 82.9292V70.9843ZM38.7857 88.9388L49.5 82.9292V70.9843L38.7857 76.9939V88.9388ZM37.2857 74.3955L47.9338 68.4231L37.2857 62.4506L26.6377 68.4231L37.2857 74.3955ZM75.0714 70.9843L85.7857 76.9939V88.9388L75.0714 82.9292V70.9843ZM88.7857 88.9388L99.5 82.9292V70.9843L88.7857 76.9939V88.9388ZM87.2857 74.3955L97.9338 68.4231L87.2857 62.4506L76.6377 68.4231L87.2857 74.3955Z" fill="#4B5A30" stroke="#4B5A30" stroke-width="1.5"/>
4
- </svg>
@@ -1,11 +0,0 @@
1
- # [**`trpc-openapi`**](../../README.md) (with-express)
2
-
3
- ### Getting started
4
-
5
- Make sure your current working directory is at `/trpc-openapi` root.
6
-
7
- ```bash
8
- npm install
9
- npm run build
10
- npm run dev -w with-express
11
- ```
@@ -1,28 +0,0 @@
1
- {
2
- "name": "with-express",
3
- "version": "1.0.0",
4
- "private": true,
5
- "scripts": {
6
- "dev": "ts-node-dev --respawn --transpile-only --exit-child ./src/index.ts"
7
- },
8
- "dependencies": {
9
- "@trpc/server": "^10.27.1",
10
- "cors": "^2.8.5",
11
- "express": "^4.18.2",
12
- "jsonwebtoken": "^9.0.0",
13
- "swagger-ui-express": "^4.6.3",
14
- "uuid": "^9.0.0",
15
- "zod": "^3.21.4"
16
- },
17
- "devDependencies": {
18
- "@types/cors": "^2.8.13",
19
- "@types/express": "^4.17.17",
20
- "@types/jsonwebtoken": "^9.0.2",
21
- "@types/node": "^20.2.3",
22
- "@types/swagger-ui-express": "^4.1.3",
23
- "@types/uuid": "^9.0.1",
24
- "ts-node": "^10.9.1",
25
- "ts-node-dev": "^2.0.0",
26
- "typescript": "^5.0.4"
27
- }
28
- }
@@ -1,67 +0,0 @@
1
- export type User = {
2
- id: string;
3
- email: string;
4
- passcode: number;
5
- name: string;
6
- };
7
-
8
- export type Post = {
9
- id: string;
10
- content: string;
11
- userId: string;
12
- };
13
-
14
- export const database: { users: User[]; posts: Post[] } = {
15
- users: [
16
- {
17
- id: '3dcb4a1f-0c91-42c5-834f-26d227c532e2',
18
- email: 'jb@jamesbe.com',
19
- passcode: 1234,
20
- name: 'James',
21
- },
22
- {
23
- id: 'ea120573-2eb4-495e-be48-1b2debac2640',
24
- email: 'alex@example.com',
25
- passcode: 9876,
26
- name: 'Alex',
27
- },
28
- {
29
- id: '2ee1c07c-7537-48f5-b5d8-8740e165cd62',
30
- email: 'sachin@example.com',
31
- passcode: 5678,
32
- name: 'Sachin',
33
- },
34
- ],
35
- posts: [
36
- {
37
- id: 'fc206d47-6d50-4b6a-9779-e9eeaee59aa4',
38
- content: 'Hello world',
39
- userId: '3dcb4a1f-0c91-42c5-834f-26d227c532e2',
40
- },
41
- {
42
- id: 'a10479a2-a397-441e-b451-0b649d15cfd6',
43
- content: 'tRPC is so awesome',
44
- userId: 'ea120573-2eb4-495e-be48-1b2debac2640',
45
- },
46
- {
47
- id: 'de6867c7-13f1-4932-a69b-e96fd245ee72',
48
- content: 'Know the ropes',
49
- userId: '3dcb4a1f-0c91-42c5-834f-26d227c532e2',
50
- },
51
- {
52
- id: '15a742b3-82f6-4fba-9fed-2d1328a4500a',
53
- content: 'Fight fire with fire',
54
- userId: 'ea120573-2eb4-495e-be48-1b2debac2640',
55
- },
56
- {
57
- id: '31afa9ad-bc37-4e74-8d8b-1c1656184a33',
58
- content: 'I ate breakfast today',
59
- userId: '3dcb4a1f-0c91-42c5-834f-26d227c532e2',
60
- },
61
- {
62
- id: '557cb26a-b26e-4329-a5b4-137327616ead',
63
- content: 'Par for the course',
64
- userId: '2ee1c07c-7537-48f5-b5d8-8740e165cd62',
65
- },
66
- ],
67
- };
@@ -1,27 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-misused-promises */
2
- import { createExpressMiddleware } from '@trpc/server/adapters/express';
3
- import cors from 'cors';
4
- import express from 'express';
5
- import swaggerUi from 'swagger-ui-express';
6
- import { createOpenApiExpressMiddleware } from 'trpc-openapi';
7
-
8
- import { openApiDocument } from './openapi';
9
- import { appRouter, createContext } from './router';
10
-
11
- const app = express();
12
-
13
- // Setup CORS
14
- app.use(cors());
15
-
16
- // Handle incoming tRPC requests
17
- app.use('/api/trpc', createExpressMiddleware({ router: appRouter, createContext }));
18
- // Handle incoming OpenAPI requests
19
- app.use('/api', createOpenApiExpressMiddleware({ router: appRouter, createContext }));
20
-
21
- // Serve Swagger UI with our OpenAPI schema
22
- app.use('/', swaggerUi.serve);
23
- app.get('/', swaggerUi.setup(openApiDocument));
24
-
25
- app.listen(3000, () => {
26
- console.log('Server started on http://localhost:3000');
27
- });
@@ -1,13 +0,0 @@
1
- import { generateOpenApiDocument } from 'trpc-openapi';
2
-
3
- import { appRouter } from './router';
4
-
5
- // Generate OpenAPI schema document
6
- export const openApiDocument = generateOpenApiDocument(appRouter, {
7
- title: 'Example CRUD API',
8
- description: 'OpenAPI compliant REST API built using tRPC with Express',
9
- version: '1.0.0',
10
- baseUrl: 'http://localhost:3000/api',
11
- docsUrl: 'https://github.com/jlalmes/trpc-openapi',
12
- tags: ['auth', 'users', 'posts'],
13
- });