@povio/openapi-codegen-cli 1.2.11 → 2.0.0-rc.0

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 (33) hide show
  1. package/README.md +24 -0
  2. package/dist/commands/generate.d.ts +1 -1
  3. package/dist/generators/const/deps.const.d.ts +2 -8
  4. package/dist/generators/const/package.const.d.ts +1 -0
  5. package/dist/generators/types/options.d.ts +0 -2
  6. package/dist/generators/utils/generate/generate.imports.utils.d.ts +1 -1
  7. package/dist/generators/utils/generate/generate.utils.d.ts +0 -1
  8. package/dist/generators/utils/generate-files.utils.d.ts +1 -1
  9. package/dist/index.d.ts +16 -0
  10. package/dist/index.js +47 -45
  11. package/dist/lib/acl/AclGuard.d.ts +8 -0
  12. package/dist/lib/acl/Can.d.ts +9 -0
  13. package/dist/lib/acl/ability.context.d.ts +15 -0
  14. package/dist/lib/acl/appAbility.types.d.ts +3 -0
  15. package/dist/lib/auth/AuthGuard.d.ts +6 -0
  16. package/dist/lib/auth/auth.context.d.ts +22 -0
  17. package/dist/lib/config/queryConfig.context.d.ts +9 -0
  18. package/dist/lib/config/router.context.d.ts +9 -0
  19. package/dist/lib/react-query.types.d.ts +10 -0
  20. package/dist/lib/rest/error-handling.d.ts +20 -0
  21. package/dist/lib/rest/rest-client.d.ts +20 -0
  22. package/dist/lib/rest/rest-client.types.d.ts +23 -0
  23. package/dist/lib/rest/rest-interceptor.d.ts +8 -0
  24. package/dist/lib/rest/rest.utils.d.ts +7 -0
  25. package/dist/sh.js +139 -139
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +18 -2
  28. package/src/assets/useMutationEffects.ts +1 -1
  29. package/src/generators/templates/app-rest-client.hbs +2 -2
  30. package/src/assets/queryConfig.context.tsx +0 -22
  31. package/src/assets/react-query.types.ts +0 -40
  32. package/src/assets/rest-client.ts +0 -99
  33. package/src/assets/rest-interceptor.ts +0 -22
package/README.md CHANGED
@@ -217,3 +217,27 @@ export class ParentDto {
217
217
  nestedList: NestedDto[];
218
218
  }
219
219
  ```
220
+
221
+ ---
222
+
223
+ ### JSON
224
+
225
+ When using JSON or Objects types, ensure you explicitly specify additional properties types as any otherwise FE ZOD will strip out everything: `@ApiProperty({ additionalProperties: { type: 'any' } })`:
226
+
227
+ ```ts
228
+ export class JSONDto {
229
+ @ApiProperty()
230
+ @Expose()
231
+ @IsObject()
232
+ nested: NestedDto;
233
+ }
234
+ ```
235
+
236
+ ```ts
237
+ export class JSONDto {
238
+ @ApiProperty({ additionalProperties: { type: 'any' } })
239
+ @Expose()
240
+ @IsObject()
241
+ nested: NestedDto;
242
+ }
243
+ ```
@@ -4,5 +4,5 @@ export type GenerateParams = {
4
4
  excludeTags?: string;
5
5
  prettier?: boolean;
6
6
  verbose?: boolean;
7
- } & Partial<Pick<GenerateOptions, "input" | "output" | "tsNamespaces" | "tsPath" | "splitByTags" | "defaultTag" | "removeOperationPrefixEndingWith" | "importPath" | "extractEnums" | "acl" | "checkAcl" | "standalone" | "baseUrl" | "replaceOptionalWithNullish" | "infiniteQueries" | "axiosRequestConfig" | "mutationEffects" | "parseRequestParams" | "builderConfigs">>;
7
+ } & Partial<Pick<GenerateOptions, "input" | "output" | "tsNamespaces" | "tsPath" | "splitByTags" | "defaultTag" | "removeOperationPrefixEndingWith" | "importPath" | "extractEnums" | "acl" | "checkAcl" | "baseUrl" | "replaceOptionalWithNullish" | "infiniteQueries" | "axiosRequestConfig" | "mutationEffects" | "parseRequestParams" | "builderConfigs">>;
8
8
  export declare function generate({ prettier, verbose, config: configParam, ...params }: GenerateParams): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  import { GenerateFile, Import } from "src/generators/types/generate";
2
2
  export declare const APP_REST_CLIENT_NAME = "AppRestClient";
3
+ export declare const APP_REST_CLIENT_FILE: GenerateFile;
3
4
  export declare const QUERY_OPTIONS_TYPES: {
4
5
  query: string;
5
6
  infiniteQuery: string;
@@ -10,20 +11,13 @@ export declare const ERROR_HANDLERS: {
10
11
  ErrorHandler: string;
11
12
  SharedErrorHandler: string;
12
13
  };
13
- export declare const ERROR_HANDLING_IMPORT: Omit<Import, "from">;
14
+ export declare const ERROR_HANDLING_IMPORT: Import;
14
15
  export declare const ABILITY_CONTEXT = "AbilityContext";
15
16
  export declare const ABILITY_CONTEXT_IMPORT: Omit<Import, "from">;
16
17
  export declare const BUILDERS_UTILS: {
17
18
  dynamicInputs: string;
18
19
  dynamicColumns: string;
19
20
  };
20
- export declare enum StandaloneAssetEnum {
21
- ReactQueryTypes = "reactQueryTypes",
22
- RestClient = "restClient",
23
- RestInterceptor = "restInterceptor"
24
- }
25
- export declare const STANDALONE_ASSETS: Record<StandaloneAssetEnum, GenerateFile>;
26
- export declare const STANDALONE_APP_REST_CLIENT_FILE: GenerateFile;
27
21
  export declare const QUERY_MODULE_ENUM = "QueryModule";
28
22
  export declare const QUERY_MODULES_FILE: GenerateFile;
29
23
  export declare const QUERY_CONFIG_FILE: GenerateFile;
@@ -0,0 +1 @@
1
+ export declare const PACKAGE_IMPORT_PATH = "@povio/openapi-codegen-cli";
@@ -11,7 +11,6 @@ interface ZodGenerateOptions {
11
11
  }
12
12
  interface EndpointsGenerateOptions {
13
13
  restClientImportPath: string;
14
- errorHandlingImportPath: string;
15
14
  withDeprecatedEndpoints?: boolean;
16
15
  removeOperationPrefixEndingWith?: string;
17
16
  parseRequestParams?: boolean;
@@ -61,7 +60,6 @@ interface BaseGenerateOptions {
61
60
  tsPath: string;
62
61
  importPath: "ts" | "relative" | "absolute";
63
62
  configs: Record<GenerateType, GenerateConfig>;
64
- standalone: boolean;
65
63
  baseUrl: string;
66
64
  }
67
65
  export interface GenerateOptions extends BaseGenerateOptions, ZodGenerateOptions, EndpointsGenerateOptions, QueriesGenerateOptions, InfiniteQueriesGenerateOptions, ACLGenerateOptions, BuilderConfigsGenerateOptions {
@@ -35,5 +35,5 @@ export declare function getEntityImports({ tags, entityName, getAliasEntityName,
35
35
  type: GenerateType;
36
36
  options: GenerateOptions;
37
37
  }): Import[];
38
- export declare function getImportPath(options: Pick<GenerateOptions, "output" | "importPath" | "tsPath">): string;
38
+ export declare function getImportPath(options: Pick<GenerateOptions, "output" | "importPath" | "tsPath">, fromRoot?: boolean): string;
39
39
  export declare function mergeImports(options: GenerateOptions, ...importArrs: Import[][]): Import[];
@@ -10,7 +10,6 @@ declare function getTagFileNameWithoutExtension({ type, tag, options, includeTag
10
10
  export declare function getTagImportPath(...args: Parameters<typeof getTagFileNameWithoutExtension>): string;
11
11
  export declare function getTagFileName(...args: Parameters<typeof getTagFileNameWithoutExtension>): string;
12
12
  export declare function getAppRestClientImportPath(options: GenerateOptions): string;
13
- export declare function getQueryTypesImportPath(options: GenerateOptions): string;
14
13
  export declare function getQueryModulesImportPath(options: GenerateOptions): string;
15
14
  export declare function getMutationEffectsImportPath(options: GenerateOptions): string;
16
15
  export declare function getAclCheckImportPath(options: GenerateOptions): string;
@@ -2,5 +2,5 @@ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  import { GenerateData, GenerateFileData } from "src/generators/types/generate";
3
3
  export declare function getAclFiles(data: GenerateData, resolver: SchemaResolver): GenerateFileData[];
4
4
  export declare function getMutationEffectsFiles(data: GenerateData, resolver: SchemaResolver): GenerateFileData[];
5
- export declare function getStandaloneFiles(resolver: SchemaResolver): GenerateFileData[];
6
5
  export declare function getZodExtendedFiles(data: GenerateData, resolver: SchemaResolver): GenerateFileData[];
6
+ export declare function getAppRestClientFiles(resolver: SchemaResolver): GenerateFileData[];
package/dist/index.d.ts CHANGED
@@ -4,3 +4,19 @@ export declare function getGenerateFilesData({ input, options: genOptions }: Gen
4
4
  export { GenerateFileData } from "./generators/types/generate";
5
5
  export * from "./generators/types/metadata";
6
6
  export * from "./generators/types/config";
7
+ export { RestClient } from "./lib/rest/rest-client";
8
+ export type { RequestInfo, RequestConfig, Response, RestClient as IRestClient } from "./lib/rest/rest-client.types";
9
+ export { RestInterceptor } from "./lib/rest/rest-interceptor";
10
+ export { RestUtils } from "./lib/rest/rest.utils";
11
+ export { ApplicationException, ErrorHandler, SharedErrorHandler } from "./lib/rest/error-handling";
12
+ export type { GeneralErrorCodes, ErrorEntry } from "./lib/rest/error-handling";
13
+ export type { AppQueryOptions, AppMutationOptions, AppInfiniteQueryOptions } from "./lib/react-query.types";
14
+ export { OpenApiRouter } from "./lib/config/router.context";
15
+ export { OpenApiQueryConfig } from "./lib/config/queryConfig.context";
16
+ export { AuthContext } from "./lib/auth/auth.context";
17
+ export { AuthGuard } from "./lib/auth/AuthGuard";
18
+ export type { AuthGuardProps } from "./lib/auth/AuthGuard";
19
+ export { AbilityContext } from "./lib/acl/ability.context";
20
+ export { createAclGuard } from "./lib/acl/AclGuard";
21
+ export { Can } from "./lib/acl/Can";
22
+ export type { AppAbilities, AppAbility } from "./lib/acl/appAbility.types";