@rsdk/cli.cmd.autodoc 6.0.0-next.3 → 6.0.0-next.5

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.
@@ -18,8 +18,10 @@ const cli_common_1 = require("@rsdk/cli.common");
18
18
  const common_1 = require("@rsdk/common");
19
19
  const common_node_1 = require("@rsdk/common.node");
20
20
  const logging_1 = require("@rsdk/logging");
21
+ const value_1 = require("@sinclair/typebox/value");
21
22
  const app_loader_1 = require("../base/app.loader");
22
23
  const document_file_1 = require("../base/document.file");
24
+ const generators_1 = require("../generators");
23
25
  const openapi_json_generator_1 = require("../generators/openapi-json/openapi-json.generator");
24
26
  let OpenApiCommand = OpenApiCommand_1 = class OpenApiCommand {
25
27
  logger;
@@ -71,6 +73,10 @@ let OpenApiCommand = OpenApiCommand_1 = class OpenApiCommand {
71
73
  this.logger.info(`reading config file: ${configPath}`);
72
74
  const [absolutePath] = common_node_1.Path.absolutize(configPath);
73
75
  const config = await (0, common_node_1.readObj)(absolutePath);
76
+ if (!value_1.Value.Check(generators_1.OpenApiConfigSchema, config)) {
77
+ const errors = [...value_1.Value.Errors(generators_1.OpenApiConfigSchema, config)];
78
+ throw new Error(`Invalid config file: ${configPath}\n${JSON.stringify(errors, null, 2)}`);
79
+ }
74
80
  return config;
75
81
  }
76
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.variation.js","sourceRoot":"","sources":["../../src/commands/openapi.variation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.variation.js","sourceRoot":"","sources":["../../src/commands/openapi.variation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import type { Static } from '@sinclair/typebox';
2
+ /**
3
+ * HTTP Authentication scheme (Basic or Bearer).
4
+ * @example
5
+ * {
6
+ * "type": "http",
7
+ * "scheme": "bearer",
8
+ * "bearerFormat": "JWT",
9
+ * "name": "JWT Auth"
10
+ * }
11
+ */
12
+ export declare const HttpSecurityScheme: import("@sinclair/typebox").TObject<{
13
+ type: import("@sinclair/typebox").TLiteral<"http">;
14
+ schemaName: import("@sinclair/typebox").TString;
15
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ scheme: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"basic">, import("@sinclair/typebox").TLiteral<"bearer">]>;
17
+ bearerFormat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ }>;
19
+ /**
20
+ * API Key Authentication scheme.
21
+ * The API key can be passed in a header, query parameter, or cookie.
22
+ * @example
23
+ * {
24
+ * "type": "apiKey",
25
+ * "name": "api_key",
26
+ * "in": "header",
27
+ * "description": "API Key Authentication"
28
+ * }
29
+ */
30
+ export declare const ApiKeySecurityScheme: import("@sinclair/typebox").TObject<{
31
+ type: import("@sinclair/typebox").TLiteral<"apiKey">;
32
+ schemaName: import("@sinclair/typebox").TString;
33
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
+ name: import("@sinclair/typebox").TString;
35
+ in: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"query">, import("@sinclair/typebox").TLiteral<"header">, import("@sinclair/typebox").TLiteral<"cookie">]>;
36
+ }>;
37
+ /**
38
+ * OAuth2 Authentication scheme.
39
+ * Supports multiple OAuth2 flows (implicit, password, clientCredentials, authorizationCode).
40
+ * @example
41
+ * {
42
+ * "type": "oauth2",
43
+ * "name": "OAuth2",
44
+ * "flows": {
45
+ * "implicit": {
46
+ * "authorizationUrl": "https://example.com/oauth/authorize",
47
+ * "scopes": {
48
+ * "read": "Read access",
49
+ * "write": "Write access"
50
+ * }
51
+ * }
52
+ * }
53
+ * }
54
+ */
55
+ export declare const OAuth2SecurityScheme: import("@sinclair/typebox").TObject<{
56
+ type: import("@sinclair/typebox").TLiteral<"oauth2">;
57
+ schemaName: import("@sinclair/typebox").TString;
58
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
59
+ flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
60
+ scopes: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
61
+ authorizationUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ tokenUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ refreshUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ }>>;
65
+ }>;
66
+ /**
67
+ * Mutual TLS Authentication scheme.
68
+ * Used when clients must present valid certificates to access the API.
69
+ * @example
70
+ * {
71
+ * "type": "mutualTLS",
72
+ * "name": "mtls",
73
+ * "description": "Client certificate required"
74
+ * }
75
+ */
76
+ export declare const MutualTLSSecurityScheme: import("@sinclair/typebox").TObject<{
77
+ type: import("@sinclair/typebox").TLiteral<"mutualTLS">;
78
+ schemaName: import("@sinclair/typebox").TString;
79
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
80
+ name: import("@sinclair/typebox").TString;
81
+ }>;
82
+ /**
83
+ * Union of all supported security schemes.
84
+ * Can be one of: HTTP (Basic/Bearer), API Key, OAuth2, or Mutual TLS.
85
+ */
86
+ export declare const SecurityScheme: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
87
+ type: import("@sinclair/typebox").TLiteral<"http">;
88
+ schemaName: import("@sinclair/typebox").TString;
89
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
90
+ scheme: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"basic">, import("@sinclair/typebox").TLiteral<"bearer">]>;
91
+ bearerFormat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
92
+ }>, import("@sinclair/typebox").TObject<{
93
+ type: import("@sinclair/typebox").TLiteral<"apiKey">;
94
+ schemaName: import("@sinclair/typebox").TString;
95
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
96
+ name: import("@sinclair/typebox").TString;
97
+ in: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"query">, import("@sinclair/typebox").TLiteral<"header">, import("@sinclair/typebox").TLiteral<"cookie">]>;
98
+ }>, import("@sinclair/typebox").TObject<{
99
+ type: import("@sinclair/typebox").TLiteral<"oauth2">;
100
+ schemaName: import("@sinclair/typebox").TString;
101
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
102
+ flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
103
+ scopes: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
104
+ authorizationUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
105
+ tokenUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
106
+ refreshUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
107
+ }>>;
108
+ }>, import("@sinclair/typebox").TObject<{
109
+ type: import("@sinclair/typebox").TLiteral<"mutualTLS">;
110
+ schemaName: import("@sinclair/typebox").TString;
111
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
112
+ name: import("@sinclair/typebox").TString;
113
+ }>]>;
114
+ /**
115
+ * Configuration schema for OpenAPI document generation.
116
+ * @example
117
+ * {
118
+ * "out": "openapi.json",
119
+ * "app": "./dist/app.js",
120
+ * "title": "My API",
121
+ * "version": "1.0.0",
122
+ * "description": "API Description",
123
+ * "includeZones": ["public"],
124
+ * "excludeZones": ["internal"],
125
+ * "security": [{
126
+ * "type": "http",
127
+ * "scheme": "bearer",
128
+ * "bearerFormat": "JWT",
129
+ * "name": "JWT Auth"
130
+ * }]
131
+ * }
132
+ */
133
+ export declare const OpenApiConfigSchema: import("@sinclair/typebox").TObject<{
134
+ /** Output file path for the generated OpenAPI document */
135
+ out: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
136
+ /** Path to the application file (usually `dist/app.js`) */
137
+ app: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
138
+ /** API title */
139
+ title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
140
+ /** API version */
141
+ version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
142
+ /** API description */
143
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
144
+ /** List of zones to include in the documentation */
145
+ includeZones: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
146
+ /** List of zones to exclude from the documentation */
147
+ excludeZones: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
148
+ /** Security schemes configuration */
149
+ security: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
150
+ type: import("@sinclair/typebox").TLiteral<"http">;
151
+ schemaName: import("@sinclair/typebox").TString;
152
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
153
+ scheme: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"basic">, import("@sinclair/typebox").TLiteral<"bearer">]>;
154
+ bearerFormat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
155
+ }>, import("@sinclair/typebox").TObject<{
156
+ type: import("@sinclair/typebox").TLiteral<"apiKey">;
157
+ schemaName: import("@sinclair/typebox").TString;
158
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
159
+ name: import("@sinclair/typebox").TString;
160
+ in: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"query">, import("@sinclair/typebox").TLiteral<"header">, import("@sinclair/typebox").TLiteral<"cookie">]>;
161
+ }>, import("@sinclair/typebox").TObject<{
162
+ type: import("@sinclair/typebox").TLiteral<"oauth2">;
163
+ schemaName: import("@sinclair/typebox").TString;
164
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
165
+ flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
166
+ scopes: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
167
+ authorizationUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
168
+ tokenUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
169
+ refreshUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
170
+ }>>;
171
+ }>, import("@sinclair/typebox").TObject<{
172
+ type: import("@sinclair/typebox").TLiteral<"mutualTLS">;
173
+ schemaName: import("@sinclair/typebox").TString;
174
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
175
+ name: import("@sinclair/typebox").TString;
176
+ }>]>>>;
177
+ }>;
178
+ export type OpenApiConfigSchema = Static<typeof OpenApiConfigSchema>;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenApiConfigSchema = exports.SecurityScheme = exports.MutualTLSSecurityScheme = exports.OAuth2SecurityScheme = exports.ApiKeySecurityScheme = exports.HttpSecurityScheme = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ typebox_1.FormatRegistry.Set('uri', (value) => {
6
+ try {
7
+ new URL(value);
8
+ return true;
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ });
14
+ /**
15
+ * HTTP Authentication scheme (Basic or Bearer).
16
+ * @example
17
+ * {
18
+ * "type": "http",
19
+ * "scheme": "bearer",
20
+ * "bearerFormat": "JWT",
21
+ * "name": "JWT Auth"
22
+ * }
23
+ */
24
+ exports.HttpSecurityScheme = typebox_1.Type.Object({
25
+ type: typebox_1.Type.Literal('http'),
26
+ schemaName: typebox_1.Type.String(),
27
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
28
+ scheme: typebox_1.Type.Union([typebox_1.Type.Literal('basic'), typebox_1.Type.Literal('bearer')]),
29
+ bearerFormat: typebox_1.Type.Optional(typebox_1.Type.String()),
30
+ });
31
+ /**
32
+ * API Key Authentication scheme.
33
+ * The API key can be passed in a header, query parameter, or cookie.
34
+ * @example
35
+ * {
36
+ * "type": "apiKey",
37
+ * "name": "api_key",
38
+ * "in": "header",
39
+ * "description": "API Key Authentication"
40
+ * }
41
+ */
42
+ exports.ApiKeySecurityScheme = typebox_1.Type.Object({
43
+ type: typebox_1.Type.Literal('apiKey'),
44
+ schemaName: typebox_1.Type.String(),
45
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
46
+ name: typebox_1.Type.String(),
47
+ in: typebox_1.Type.Union([
48
+ typebox_1.Type.Literal('query'),
49
+ typebox_1.Type.Literal('header'),
50
+ typebox_1.Type.Literal('cookie'),
51
+ ]),
52
+ });
53
+ /**
54
+ * OAuth2 Authentication scheme.
55
+ * Supports multiple OAuth2 flows (implicit, password, clientCredentials, authorizationCode).
56
+ * @example
57
+ * {
58
+ * "type": "oauth2",
59
+ * "name": "OAuth2",
60
+ * "flows": {
61
+ * "implicit": {
62
+ * "authorizationUrl": "https://example.com/oauth/authorize",
63
+ * "scopes": {
64
+ * "read": "Read access",
65
+ * "write": "Write access"
66
+ * }
67
+ * }
68
+ * }
69
+ * }
70
+ */
71
+ exports.OAuth2SecurityScheme = typebox_1.Type.Object({
72
+ type: typebox_1.Type.Literal('oauth2'),
73
+ schemaName: typebox_1.Type.String(),
74
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
75
+ flows: typebox_1.Type.Record(typebox_1.Type.String(), typebox_1.Type.Object({
76
+ scopes: typebox_1.Type.Record(typebox_1.Type.String(), typebox_1.Type.String()),
77
+ authorizationUrl: typebox_1.Type.Optional(typebox_1.Type.String({ format: 'uri' })),
78
+ tokenUrl: typebox_1.Type.Optional(typebox_1.Type.String({ format: 'uri' })),
79
+ refreshUrl: typebox_1.Type.Optional(typebox_1.Type.String({ format: 'uri' })),
80
+ })),
81
+ });
82
+ /**
83
+ * Mutual TLS Authentication scheme.
84
+ * Used when clients must present valid certificates to access the API.
85
+ * @example
86
+ * {
87
+ * "type": "mutualTLS",
88
+ * "name": "mtls",
89
+ * "description": "Client certificate required"
90
+ * }
91
+ */
92
+ exports.MutualTLSSecurityScheme = typebox_1.Type.Object({
93
+ type: typebox_1.Type.Literal('mutualTLS'),
94
+ schemaName: typebox_1.Type.String(),
95
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
96
+ name: typebox_1.Type.String(),
97
+ });
98
+ /**
99
+ * Union of all supported security schemes.
100
+ * Can be one of: HTTP (Basic/Bearer), API Key, OAuth2, or Mutual TLS.
101
+ */
102
+ exports.SecurityScheme = typebox_1.Type.Union([
103
+ exports.HttpSecurityScheme,
104
+ exports.ApiKeySecurityScheme,
105
+ exports.OAuth2SecurityScheme,
106
+ exports.MutualTLSSecurityScheme,
107
+ ]);
108
+ /**
109
+ * Configuration schema for OpenAPI document generation.
110
+ * @example
111
+ * {
112
+ * "out": "openapi.json",
113
+ * "app": "./dist/app.js",
114
+ * "title": "My API",
115
+ * "version": "1.0.0",
116
+ * "description": "API Description",
117
+ * "includeZones": ["public"],
118
+ * "excludeZones": ["internal"],
119
+ * "security": [{
120
+ * "type": "http",
121
+ * "scheme": "bearer",
122
+ * "bearerFormat": "JWT",
123
+ * "name": "JWT Auth"
124
+ * }]
125
+ * }
126
+ */
127
+ exports.OpenApiConfigSchema = typebox_1.Type.Object({
128
+ /** Output file path for the generated OpenAPI document */
129
+ out: typebox_1.Type.Optional(typebox_1.Type.String()),
130
+ /** Path to the application file (usually `dist/app.js`) */
131
+ app: typebox_1.Type.Optional(typebox_1.Type.String()),
132
+ /** API title */
133
+ title: typebox_1.Type.Optional(typebox_1.Type.String()),
134
+ /** API version */
135
+ version: typebox_1.Type.Optional(typebox_1.Type.String()),
136
+ /** API description */
137
+ description: typebox_1.Type.Optional(typebox_1.Type.String()),
138
+ /** List of zones to include in the documentation */
139
+ includeZones: typebox_1.Type.Optional(typebox_1.Type.Array(typebox_1.Type.String())),
140
+ /** List of zones to exclude from the documentation */
141
+ excludeZones: typebox_1.Type.Optional(typebox_1.Type.Array(typebox_1.Type.String())),
142
+ /** Security schemes configuration */
143
+ security: typebox_1.Type.Optional(typebox_1.Type.Array(exports.SecurityScheme)),
144
+ });
145
+ //# sourceMappingURL=config.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../src/generators/openapi-json/config.schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * from './openapi-json.generator';
2
+ export * from './config.schema';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./openapi-json.generator"), exports);
18
+ __exportStar(require("./config.schema"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/openapi-json/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/openapi-json/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,kDAAgC"}
@@ -1,12 +1,11 @@
1
1
  import { PlatformApp } from '@rsdk/core';
2
2
  import { FileGenerator } from '../file-generator.interface';
3
- export type OpenApiGeneratorOptions = {
4
- title: string;
5
- version: string;
6
- description: string;
7
- includeZones?: string[];
8
- excludeZones?: string[];
9
- };
3
+ import { OpenApiConfigSchema } from './config.schema';
4
+ /**
5
+ * Here we don't need `out` and `app`,
6
+ * but `title`, `version` and `description` are required.
7
+ */
8
+ export type OpenApiGeneratorOptions = Omit<OpenApiConfigSchema, 'out' | 'app'> & Required<Pick<OpenApiConfigSchema, 'title' | 'version' | 'description'>>;
10
9
  export declare class OpenapiGenerator extends FileGenerator {
11
10
  private readonly app;
12
11
  private readonly options;
@@ -72,11 +72,31 @@ class OpenapiGenerator extends file_generator_interface_1.FileGenerator {
72
72
  ], OpenApiModule);
73
73
  const createOptions = await this.app.context.getNestFactoryCreateOptions();
74
74
  const app = await core_1.NestFactory.create(OpenApiModule, ...createOptions);
75
- const { title, version, description } = options;
75
+ const { title, version, description, security } = options;
76
76
  const builder = new swagger_1.DocumentBuilder()
77
77
  .setTitle(title)
78
78
  .setVersion(version)
79
79
  .setDescription(description);
80
+ if (security) {
81
+ for (const scheme of security) {
82
+ switch (scheme.type) {
83
+ case 'http':
84
+ if (scheme.scheme === 'bearer') {
85
+ builder.addBearerAuth(scheme, scheme.schemaName);
86
+ }
87
+ else if (scheme.scheme === 'basic') {
88
+ builder.addBasicAuth(scheme, scheme.schemaName);
89
+ }
90
+ break;
91
+ case 'oauth2':
92
+ builder.addOAuth2(scheme, scheme.schemaName);
93
+ break;
94
+ case 'apiKey':
95
+ builder.addApiKey(scheme, scheme.schemaName);
96
+ break;
97
+ }
98
+ }
99
+ }
80
100
  const openApiConfig = builder.build();
81
101
  const document = swagger_1.SwaggerModule.createDocument(app, openApiConfig);
82
102
  this.logger.info('Generate openapi finished');
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-json.generator.js","sourceRoot":"","sources":["../../../src/generators/openapi-json/openapi-json.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-json.generator.js","sourceRoot":"","sources":["../../../src/generators/openapi-json/openapi-json.generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/cli.cmd.autodoc",
3
- "version": "6.0.0-next.3",
3
+ "version": "6.0.0-next.5",
4
4
  "description": "autodoc your app!",
5
5
  "homepage": "https://github.com/R-Vision/rsdk",
6
6
  "license": "Apache License 2.0",
@@ -15,12 +15,17 @@
15
15
  "type": "git",
16
16
  "url": "https://github.com/R-Vision/rsdk"
17
17
  },
18
+ "scripts": {
19
+ "prepublishOnly": "npm run build"
20
+ },
18
21
  "dependencies": {
22
+ "@sinclair/typebox": "^0.34.9",
19
23
  "commander": "^12.1.0",
20
24
  "lodash": "^4.17.21",
21
25
  "log-update": "4.0.0",
22
26
  "markdown-table": "2.0.0",
23
- "pino-pretty": "^10.3.1"
27
+ "pino-pretty": "^10.3.1",
28
+ "rxjs": "^7.8.1"
24
29
  },
25
30
  "peerDependencies": {
26
31
  "@nestjs/common": "^10.0.0",
@@ -38,5 +43,5 @@
38
43
  "@rsdk/zones": "*",
39
44
  "reflect-metadata": "^0.1.12 || ^0.2.0"
40
45
  },
41
- "gitHead": "e9a3e6741c196ecd2d6d1db6a6d9b6611b7d39c4"
46
+ "gitHead": "f6054a6f05b82d650f2f6fc4dc2aa5dfdd6f7cf5"
42
47
  }