@povio/openapi-codegen-cli 0.14.9 → 0.15.1

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 (65) hide show
  1. package/README.md +39 -0
  2. package/dist/commands/check.d.ts +5 -4
  3. package/dist/commands/generate.d.ts +7 -6
  4. package/dist/generators/checkOpenAPIDoc.d.ts +1 -1
  5. package/dist/generators/const/acl.const.d.ts +1 -1
  6. package/dist/generators/const/deps.const.d.ts +1 -1
  7. package/dist/generators/const/endpoints.const.d.ts +1 -1
  8. package/dist/generators/const/options.const.d.ts +1 -1
  9. package/dist/generators/const/queries.const.d.ts +1 -1
  10. package/dist/generators/const/validation.const.d.ts +1 -1
  11. package/dist/generators/const/zod.const.d.ts +1 -1
  12. package/dist/generators/core/SchemaResolver.class.d.ts +3 -3
  13. package/dist/generators/core/endpoints/getEndpointAcl.d.ts +1 -1
  14. package/dist/generators/core/endpoints/getEndpointBody.d.ts +1 -1
  15. package/dist/generators/core/endpoints/getEndpointParameter.d.ts +1 -1
  16. package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.d.ts +2 -2
  17. package/dist/generators/core/getDataFromOpenAPIDoc.d.ts +2 -2
  18. package/dist/generators/core/getMetadataFromOpenAPIDoc.d.ts +2 -2
  19. package/dist/generators/core/openapi/getSchemaRefObjs.d.ts +1 -1
  20. package/dist/generators/core/openapi/iterateSchema.d.ts +1 -1
  21. package/dist/generators/core/zod/ZodSchema.class.d.ts +1 -1
  22. package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaNames.d.ts +1 -1
  23. package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaTags.d.ts +1 -1
  24. package/dist/generators/core/zod/enumExtraction/updateExtractedEnumZodSchemaData.d.ts +1 -1
  25. package/dist/generators/core/zod/getZodChain.d.ts +1 -1
  26. package/dist/generators/core/zod/getZodSchema.d.ts +1 -1
  27. package/dist/generators/core/zod/getZodSchemaRefs.d.ts +1 -1
  28. package/dist/generators/core/zod/getZodSchemasFromOpenAPIDoc.d.ts +1 -1
  29. package/dist/generators/core/zod/resolveZodSchemaName.d.ts +1 -1
  30. package/dist/generators/core/zod/sortZodSchemasByTopology.d.ts +1 -1
  31. package/dist/generators/core/zod/wrapCircularZodSchemas.d.ts +1 -1
  32. package/dist/generators/generate/generateAcl.d.ts +2 -2
  33. package/dist/generators/generate/generateAclCheck.d.ts +1 -1
  34. package/dist/generators/generate/generateAppRestClient.d.ts +1 -1
  35. package/dist/generators/generate/generateEndpoints.d.ts +1 -1
  36. package/dist/generators/generate/generateModels.d.ts +1 -1
  37. package/dist/generators/generate/generateQueries.d.ts +1 -1
  38. package/dist/generators/generate/generateQueryModules.d.ts +1 -1
  39. package/dist/generators/generate/generateZodUtils.d.ts +1 -1
  40. package/dist/generators/generateCodeFromOpenAPIDoc.d.ts +1 -1
  41. package/dist/generators/types/config.d.ts +2 -0
  42. package/dist/generators/types/generate.d.ts +1 -1
  43. package/dist/generators/utils/brand.utils.d.ts +2 -2
  44. package/dist/generators/utils/file.utils.d.ts +1 -1
  45. package/dist/generators/utils/generate/generate.acl.utils.d.ts +2 -2
  46. package/dist/generators/utils/generate/generate.endpoints.utils.d.ts +1 -1
  47. package/dist/generators/utils/generate/generate.imports.utils.d.ts +3 -3
  48. package/dist/generators/utils/generate/generate.query.utils.d.ts +1 -1
  49. package/dist/generators/utils/generate/generate.utils.d.ts +2 -2
  50. package/dist/generators/utils/generate-files.utils.d.ts +2 -2
  51. package/dist/generators/utils/object.utils.d.ts +8 -1
  52. package/dist/generators/utils/openapi-schema.utils.d.ts +1 -1
  53. package/dist/generators/utils/openapi.utils.d.ts +2 -2
  54. package/dist/generators/utils/operation.utils.d.ts +2 -2
  55. package/dist/generators/utils/query.utils.d.ts +2 -2
  56. package/dist/generators/utils/sort.utils.d.ts +1 -1
  57. package/dist/generators/utils/tag.utils.d.ts +2 -2
  58. package/dist/generators/utils/ts.utils.d.ts +3 -3
  59. package/dist/generators/utils/validation.utils.d.ts +4 -4
  60. package/dist/helpers/cli.helper.d.ts +1 -1
  61. package/dist/helpers/config.helper.d.ts +2 -0
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.js +34 -34
  64. package/dist/sh.js +66 -66
  65. package/package.json +6 -6
package/README.md CHANGED
@@ -24,6 +24,45 @@ yarn openapi-codegen generate --input http://localhost:3001/docs-json
24
24
  yarn openapi-codegen generate --input http://localhost:3001/docs-json --standalone
25
25
  ```
26
26
 
27
+ ## Configuration Files
28
+
29
+ The CLI supports TypeScript configuration files to simplify command execution and provide consistent settings with full type safety. Configuration files are automatically discovered in your project root.
30
+
31
+ **Note:** Command-line arguments always take precedence over configuration file values, allowing you to override specific settings when needed.
32
+
33
+ ### Quick Start
34
+
35
+ Create an `openapi-codegen.config.ts` file:
36
+
37
+ ```typescript
38
+ import { OpenAPICodegenConfig } from "@povio/openapi-codegen-cli";
39
+
40
+ const config: OpenAPICodegenConfig = {
41
+ input: "http://localhost:4000/docs-json/",
42
+ output: "src/data",
43
+ };
44
+
45
+ export default config;
46
+ ```
47
+
48
+ Then run without arguments:
49
+
50
+ ```bash
51
+ yarn openapi-codegen generate
52
+ ```
53
+
54
+ ### Configuration File Discovery
55
+
56
+ The CLI automatically searches for the TypeScript configuration file:
57
+
58
+ - `openapi-codegen.config.ts`
59
+
60
+ You can also specify a custom configuration file:
61
+
62
+ ```bash
63
+ yarn openapi-codegen generate --config my-config.ts
64
+ ```
65
+
27
66
  ## Options
28
67
 
29
68
  #### Generate command (generates Zod schemas, API definitions and React queries)
@@ -1,6 +1,7 @@
1
1
  import { GenerateOptions } from "src/generators/types/options";
2
2
  export type CheckParams = {
3
- excludeTags: string;
4
- verbose: boolean;
5
- } & Pick<GenerateOptions, "input" | "splitByTags" | "defaultTag">;
6
- export declare function check({ input, excludeTags, verbose, ...params }: CheckParams): Promise<void>;
3
+ config?: string;
4
+ excludeTags?: string;
5
+ verbose?: boolean;
6
+ } & Partial<Pick<GenerateOptions, "input" | "splitByTags" | "defaultTag">>;
7
+ export declare function check({ verbose, ...params }: CheckParams): Promise<void>;
@@ -1,8 +1,9 @@
1
1
  import { GenerateOptions } from "src/generators/types/options";
2
2
  export type GenerateParams = {
3
- excludeTags: string;
4
- monorepo: boolean;
5
- prettier: boolean;
6
- verbose: boolean;
7
- } & Pick<GenerateOptions, "input" | "output" | "tsNamespaces" | "splitByTags" | "defaultTag" | "removeOperationPrefixEndingWith" | "importPath" | "extractEnums" | "acl" | "checkAcl" | "standalone" | "baseUrl" | "branded" | "replaceOptionalWithNullish" | "infiniteQueries" | "axiosRequestConfig" | "mutationEffects" | "parseRequestParams">;
8
- export declare function generate({ input, excludeTags, monorepo, prettier, verbose, ...params }: GenerateParams): Promise<void>;
3
+ config?: string;
4
+ excludeTags?: string;
5
+ monorepo?: boolean;
6
+ prettier?: boolean;
7
+ verbose?: boolean;
8
+ } & Partial<Pick<GenerateOptions, "input" | "output" | "tsNamespaces" | "splitByTags" | "defaultTag" | "removeOperationPrefixEndingWith" | "importPath" | "extractEnums" | "acl" | "checkAcl" | "standalone" | "baseUrl" | "branded" | "replaceOptionalWithNullish" | "infiniteQueries" | "axiosRequestConfig" | "mutationEffects" | "parseRequestParams">>;
9
+ export declare function generate({ monorepo, prettier, verbose, ...params }: GenerateParams): Promise<void>;
@@ -1,3 +1,3 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
2
  import { GenerateOptions } from "./types/options";
3
- export declare function checkOpenAPIDoc(openApiDoc: OpenAPIV3.Document, cliOptions?: Partial<GenerateOptions>): import("./types/validation").ValidationError[];
3
+ export declare function checkOpenAPIDoc(openApiDoc: OpenAPIV3.Document, options: GenerateOptions): import("./types/validation").ValidationError[];
@@ -1,4 +1,4 @@
1
- import { GenerateFile, Import } from "../types/generate";
1
+ import { GenerateFile, Import } from "src/generators/types/generate";
2
2
  export declare const ACL_APP_ABILITY_FILE: GenerateFile;
3
3
  export declare const ACL_ALL_ABILITIES = "AllAbilities";
4
4
  export declare const ACL_APP_ABILITIES = "AppAbilities";
@@ -1,4 +1,4 @@
1
- import { GenerateFile, Import } from "../types/generate";
1
+ import { GenerateFile, Import } from "src/generators/types/generate";
2
2
  export declare const APP_REST_CLIENT_NAME = "AppRestClient";
3
3
  export declare const QUERY_OPTIONS_TYPES: {
4
4
  query: string;
@@ -1,4 +1,4 @@
1
- import { Import } from "../types/generate";
1
+ import { Import } from "src/generators/types/generate";
2
2
  export declare const DEFAULT_HEADERS: {
3
3
  "Content-Type": string;
4
4
  Accept: string;
@@ -1,2 +1,2 @@
1
- import { GenerateOptions } from "../types/options";
1
+ import { GenerateOptions } from "src/generators/types/options";
2
2
  export declare const DEFAULT_GENERATE_OPTIONS: GenerateOptions;
@@ -1,4 +1,4 @@
1
- import { Import } from "../types/generate";
1
+ import { Import } from "src/generators/types/generate";
2
2
  export declare const QUERY_HOOKS: {
3
3
  query: string;
4
4
  infiniteQuery: string;
@@ -1,4 +1,4 @@
1
- import { ValidationErrorType } from "../types/validation";
1
+ import { ValidationErrorType } from "src/generators/types/validation";
2
2
  export declare const HTTP_STATUS_CODES: {
3
3
  "100": string;
4
4
  "101": string;
@@ -1,4 +1,4 @@
1
- import { Import } from "../types/generate";
1
+ import { Import } from "src/generators/types/generate";
2
2
  export declare const SCHEMA_SUFFIX = "Schema";
3
3
  export declare const ENUM_SUFFIX = "Enum";
4
4
  export declare const BODY_SCHEMA_SUFFIX = "Body";
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { OperationObject } from "../types/openapi";
3
- import { GenerateOptions } from "../types/options";
4
- import { ValidationError } from "../types/validation";
2
+ import { OperationObject } from "src/generators/types/openapi";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
+ import { ValidationError } from "src/generators/types/validation";
5
5
  import { DependencyGraph } from "./openapi/getOpenAPISchemaDependencyGraph";
6
6
  import { ZodSchema } from "./zod/ZodSchema.class";
7
7
  interface SchemaData {
@@ -1,6 +1,6 @@
1
1
  import { Endpoint, EndpointAclInfo } from "src/generators/types/endpoint";
2
2
  import { OperationObject } from "src/generators/types/openapi";
3
- import { SchemaResolver } from "../SchemaResolver.class";
3
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
4
4
  export declare function getEndpointAcl({ resolver, endpoint, operation, }: {
5
5
  resolver: SchemaResolver;
6
6
  endpoint: Endpoint;
@@ -1,6 +1,6 @@
1
1
  import { EndpointParameter } from "src/generators/types/endpoint";
2
2
  import { OperationObject } from "src/generators/types/openapi";
3
- import { SchemaResolver } from "../SchemaResolver.class";
3
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
4
4
  export declare function getEndpointBody({ resolver, operation, operationName, isUniqueOperationName, tag, }: {
5
5
  resolver: SchemaResolver;
6
6
  operation: OperationObject;
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
2
  import { EndpointParameter } from "src/generators/types/endpoint";
3
3
  import { ParameterObject } from "src/generators/types/openapi";
4
- import { SchemaResolver } from "../SchemaResolver.class";
4
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
5
5
  export declare function getEndpointParameter({ resolver, param, operationName, isUniqueOperationName, tag, }: {
6
6
  resolver: SchemaResolver;
7
7
  param: OpenAPIV3.ReferenceObject | ParameterObject;
@@ -1,3 +1,3 @@
1
- import { Endpoint } from "../../types/endpoint";
2
- import { SchemaResolver } from "../SchemaResolver.class";
1
+ import { Endpoint } from "src/generators/types/endpoint";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  export declare function getEndpointsFromOpenAPIDoc(resolver: SchemaResolver): Endpoint[];
@@ -1,6 +1,6 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { GenerateData } from "../types/generate";
3
- import { GenerateOptions } from "../types/options";
2
+ import { GenerateData } from "src/generators/types/generate";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
4
  import { SchemaResolver } from "./SchemaResolver.class";
5
5
  export declare function getDataFromOpenAPIDoc(openApiDoc: OpenAPIV3.Document, options: GenerateOptions): {
6
6
  resolver: SchemaResolver;
@@ -1,4 +1,4 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { GenerateMetadata } from "../types/metadata";
3
- import { GenerateOptions } from "../types/options";
2
+ import { GenerateMetadata } from "src/generators/types/metadata";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
4
  export declare function getMetadataFromOpenAPIDoc(openApiDoc: OpenAPIV3.Document, options: GenerateOptions): Promise<GenerateMetadata>;
@@ -1,4 +1,4 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../SchemaResolver.class";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  export declare function getSchemaRefObjs(resolver: SchemaResolver, schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined, schemaInfo: string): OpenAPIV3.ReferenceObject[];
4
4
  export declare function getDeepSchemaRefObjs(resolver: SchemaResolver, schemaRefs: OpenAPIV3.ReferenceObject[]): string[];
@@ -14,7 +14,7 @@ export type OnSchemaCallbackData<TData> = {
14
14
  parentSchema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
15
15
  schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
16
16
  });
17
- type OnSchemaCallbackType<TData> = (data: OnSchemaCallbackData<TData>) => any;
17
+ type OnSchemaCallbackType<TData> = (data: OnSchemaCallbackData<TData>) => unknown;
18
18
  export declare function iterateSchema<TData>(schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject | undefined, options: {
19
19
  data?: TData;
20
20
  onSchema: OnSchemaCallbackType<TData>;
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
2
  import { WithRequired } from "src/generators/types/common";
3
3
  import { GenerateOptions } from "src/generators/types/options";
4
- import { SchemaResolver } from "../SchemaResolver.class";
4
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
5
5
  export interface ZodSchemaMetaData {
6
6
  isRequired?: boolean;
7
7
  name?: string;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../../SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function resolveExtractedEnumZodSchemaNames(resolver: SchemaResolver): void;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../../SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function resolveExtractedEnumZodSchemaTags(resolver: SchemaResolver): void;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../../SchemaResolver.class";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  type SchemaInfo = {
4
4
  schemaRef: string;
5
5
  schemaInfo?: string;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { GenerateOptions } from "../../types/options";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
3
  import { ZodSchemaMetaData } from "./ZodSchema.class";
4
4
  export declare function getZodChain({ schema, meta, options, }: {
5
5
  schema: OpenAPIV3.SchemaObject;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../SchemaResolver.class";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  import { ZodSchema, ZodSchemaMetaData } from "./ZodSchema.class";
4
4
  type GetZodSchemaParams = {
5
5
  schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function getZodSchemaRefs(resolver: SchemaResolver, zodSchemaName: string): string[];
@@ -1,4 +1,4 @@
1
- import { EnumZodSchemaData, SchemaResolver } from "../SchemaResolver.class";
1
+ import { EnumZodSchemaData, SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function getZodSchemasFromOpenAPIDoc(resolver: SchemaResolver): {
3
3
  zodSchemas: Record<string, string>;
4
4
  enumZodSchemas: Record<string, string>;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../SchemaResolver.class";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  import { ZodSchema } from "./ZodSchema.class";
4
4
  export declare function resolveZodSchemaName({ schema, zodSchema, fallbackName, resolver, tag, }: {
5
5
  schema?: OpenAPIV3.SchemaObject;
@@ -1,4 +1,4 @@
1
- import { SchemaResolver } from "../SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function sortZodSchemasByTopology(resolver: SchemaResolver, zodSchemas: Record<string, string>): {
3
3
  [k: string]: string;
4
4
  };
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function wrapCircularZodSchemas(resolver: SchemaResolver, zodSchemas: Record<string, string>): Record<string, string>;
@@ -1,4 +1,4 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
2
- import { GenerateTypeParams } from "../types/generate";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateTypeParams } from "src/generators/types/generate";
3
3
  export declare function generateAcl({ resolver, data, tag }: GenerateTypeParams): string | undefined;
4
4
  export declare function generateAppAcl(resolver: SchemaResolver, tags: string[]): string;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function generateAclCheck(resolver: SchemaResolver): string;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function generateAppRestClient(resolver: SchemaResolver): string;
@@ -1,2 +1,2 @@
1
- import { GenerateTypeParams } from "../types/generate";
1
+ import { GenerateTypeParams } from "src/generators/types/generate";
2
2
  export declare function generateEndpoints({ resolver, data, tag }: GenerateTypeParams): string | undefined;
@@ -1,2 +1,2 @@
1
- import { GenerateTypeParams } from "../types/generate";
1
+ import { GenerateTypeParams } from "src/generators/types/generate";
2
2
  export declare function generateModels({ resolver, data, tag }: GenerateTypeParams): string | undefined;
@@ -1,2 +1,2 @@
1
- import { GenerateTypeParams } from "../types/generate";
1
+ import { GenerateTypeParams } from "src/generators/types/generate";
2
2
  export declare function generateQueries({ resolver, data, tag }: GenerateTypeParams): string | undefined;
@@ -1,2 +1,2 @@
1
- import { GenerateTypeParams } from "../types/generate";
1
+ import { GenerateTypeParams } from "src/generators/types/generate";
2
2
  export declare function generateQueryModules({ resolver, data }: Omit<GenerateTypeParams, "tag">): string;
@@ -1,2 +1,2 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
2
  export declare function generateZodUtils(resolver: SchemaResolver): string;
@@ -1,4 +1,4 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
2
  import { GenerateFileData } from "./types/generate";
3
3
  import { GenerateOptions } from "./types/options";
4
- export declare function generateCodeFromOpenAPIDoc(openApiDoc: OpenAPIV3.Document, cliOptions: Partial<GenerateOptions>): GenerateFileData[];
4
+ export declare function generateCodeFromOpenAPIDoc(openApiDoc: OpenAPIV3.Document, options: GenerateOptions): GenerateFileData[];
@@ -0,0 +1,2 @@
1
+ import { GenerateOptions } from "./options";
2
+ export type OpenAPICodegenConfig = Partial<GenerateOptions>;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../core/SchemaResolver.class";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  import { Endpoint } from "./endpoint";
4
4
  export interface Import {
5
5
  defaultImport?: string;
@@ -1,6 +1,6 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { BrandEnum } from "../const/brands.const";
3
- import { GenerateOptions } from "../types/options";
2
+ import { BrandEnum } from "src/generators/const/brands.const";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
4
  export declare function getPrimitiveBrands(): BrandEnum[];
5
5
  export declare function getOtherBrands(): BrandEnum[];
6
6
  export declare function matchesBrand(schema: OpenAPIV3.SchemaObject, brand: BrandEnum): boolean;
@@ -1,4 +1,4 @@
1
- import { GenerateFileData } from "../types/generate";
1
+ import { GenerateFileData } from "src/generators/types/generate";
2
2
  export declare function readHbsTemplateSync(fileName: string): string;
3
3
  export declare function readAssetSync(fileName: string): string;
4
4
  export declare function getOutputFileName({ output, fileName }: {
@@ -1,11 +1,11 @@
1
1
  import { GenerateOptions } from "src/generators/types/options";
2
- import { Endpoint } from "../../types/endpoint";
2
+ import { Endpoint } from "src/generators/types/endpoint";
3
3
  export declare const getAbilityTypeName: (endpoint: Endpoint) => string;
4
4
  export declare const getAbilityFunctionName: (endpoint: Endpoint) => string;
5
5
  export declare const getImportedAbilityFunctionName: (endpoint: Endpoint, options: GenerateOptions) => string;
6
6
  export declare const getAbilityAction: (endpoint: Endpoint) => string | undefined;
7
7
  export declare const getAbilitySubject: (endpoint: Endpoint) => string | undefined;
8
8
  export declare const hasAbilityConditions: (endpoint: Endpoint) => boolean;
9
- export declare const getAbilityConditionsTypes: (endpoint: Endpoint) => import("../../types/endpoint").AclConditionsPropertyType[] | undefined;
9
+ export declare const getAbilityConditionsTypes: (endpoint: Endpoint) => import("src/generators/types/endpoint").AclConditionsPropertyType[] | undefined;
10
10
  export declare const getAbilityDescription: (endpoint: Endpoint) => string | undefined;
11
11
  export declare const getTagAllAbilitiesName: (tag: string) => string;
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
2
  import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
3
  import { GenerateOptions } from "src/generators/types/options";
4
- import { Endpoint } from "../../types/endpoint";
4
+ import { Endpoint } from "src/generators/types/endpoint";
5
5
  export declare const getEndpointName: (endpoint: Endpoint) => string;
6
6
  export declare function getImportedEndpointName(endpoint: Endpoint, options: GenerateOptions): string;
7
7
  export declare const getEndpointPath: (endpoint: Endpoint) => string;
@@ -1,7 +1,7 @@
1
1
  import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
- import { Endpoint } from "../../types/endpoint";
3
- import { GenerateType, Import } from "../../types/generate";
4
- import { GenerateOptions } from "../../types/options";
2
+ import { Endpoint } from "src/generators/types/endpoint";
3
+ import { GenerateType, Import } from "src/generators/types/generate";
4
+ import { GenerateOptions } from "src/generators/types/options";
5
5
  export declare function getModelsImports({ resolver, tag, zodSchemas, zodSchemasAsTypes, }: {
6
6
  resolver: SchemaResolver;
7
7
  tag: string;
@@ -1,3 +1,3 @@
1
- import { Endpoint } from "../../types/endpoint";
1
+ import { Endpoint } from "src/generators/types/endpoint";
2
2
  export declare const getQueryName: (endpoint: Endpoint, mutation?: boolean) => string;
3
3
  export declare const getInfiniteQueryName: (endpoint: Endpoint) => string;
@@ -1,5 +1,5 @@
1
- import { GenerateFile, GenerateType } from "../../types/generate";
2
- import { GenerateOptions } from "../../types/options";
1
+ import { GenerateFile, GenerateType } from "src/generators/types/generate";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
3
  export declare function getFileNameWithExtension({ fileName, extension }: GenerateFile): string;
4
4
  declare function getTagFileNameWithoutExtension({ type, tag, options, includeTagDir, }: {
5
5
  type: GenerateType;
@@ -1,5 +1,5 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
2
- import { GenerateData, GenerateFileData } from "../types/generate";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateData, GenerateFileData } from "src/generators/types/generate";
3
3
  export declare function getAclFiles(appAclTags: string[], resolver: SchemaResolver): GenerateFileData[];
4
4
  export declare function getMutationEffectsFiles(data: GenerateData, resolver: SchemaResolver): GenerateFileData[];
5
5
  export declare function getStandaloneFiles(resolver: SchemaResolver): GenerateFileData[];
@@ -1,6 +1,13 @@
1
1
  import { Get } from "type-fest";
2
- import { HasNestedPath, ObjectLiteral } from "../types/common";
2
+ import { HasNestedPath, ObjectLiteral } from "src/generators/types/common";
3
3
  /** Get a nested property value from a dot-delimited path. */
4
4
  export declare function getNested<Path extends string, From extends ObjectLiteral, Return = HasNestedPath<Path> extends 1 ? From[Path] : Get<From, Path>>(obj: From, path: Path): Return;
5
5
  /** Pick given properties in object */
6
6
  export declare function pick<T extends ObjectLiteral, K extends keyof T>(obj: T, paths: K[]): Pick<T, K>;
7
+ /**
8
+ * Deep merge two or more objects/arrays recursively.
9
+ * Arrays are concatenated, objects are merged recursively.
10
+ * Later arguments take precedence over earlier ones.
11
+ * Returns a new object/array without mutating the originals.
12
+ */
13
+ export declare function deepMerge<T>(source: T, ...sources: Partial<T>[]): T;
@@ -1,5 +1,5 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- export declare function isReferenceObject(obj: any): obj is OpenAPIV3.ReferenceObject;
2
+ export declare function isReferenceObject(obj: unknown): obj is OpenAPIV3.ReferenceObject;
3
3
  export declare function isSchemaObject(schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject): schema is OpenAPIV3.SchemaObject;
4
4
  export declare function isArraySchemaObject(schema: OpenAPIV3.SchemaObject): schema is OpenAPIV3.ArraySchemaObject;
5
5
  export declare function inferRequiredSchema(schema: OpenAPIV3.SchemaObject): {
@@ -1,5 +1,5 @@
1
- import { ALLOWED_PARAM_MEDIA_TYPES } from "../const/openapi.const";
2
- import { ParameterObject, PrimitiveType, SingleType, SortingParameterObject } from "../types/openapi";
1
+ import { ALLOWED_PARAM_MEDIA_TYPES } from "src/generators/const/openapi.const";
2
+ import { ParameterObject, PrimitiveType, SingleType, SortingParameterObject } from "src/generators/types/openapi";
3
3
  export declare const getSchemaRef: (schemaName: string) => string;
4
4
  export declare const autocorrectRef: (ref: string) => string;
5
5
  export declare const getSchemaNameByRef: (ref: string) => string;
@@ -1,6 +1,6 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { OperationObject } from "../types/openapi";
3
- import { GenerateOptions } from "../types/options";
2
+ import { OperationObject } from "src/generators/types/openapi";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
4
  export declare function isOperationExcluded(operation: OperationObject, options: GenerateOptions): boolean;
5
5
  export declare function getOperationName({ path, method, operation, options, tag, keepOperationTag, keepOperationPrefix, }: {
6
6
  path: string;
@@ -1,5 +1,5 @@
1
- import { SchemaResolver } from "../core/SchemaResolver.class";
2
- import { Endpoint } from "../types/endpoint";
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { Endpoint } from "src/generators/types/endpoint";
3
3
  export declare const isQuery: (endpoint: Endpoint) => boolean;
4
4
  export declare const isMutation: (endpoint: Endpoint) => boolean;
5
5
  export declare const isInfiniteQuery: (endpoint: Endpoint, infiniteQueryParams?: string[]) => boolean;
@@ -1,4 +1,4 @@
1
- import { ObjectLiteral } from "../types/common";
1
+ import { ObjectLiteral } from "src/generators/types/common";
2
2
  /** @see https://gist.github.com/RubyTuesdayDONO/5006455 */
3
3
  export declare function topologicalSort(graph: Record<string, Set<string>>): string[];
4
4
  /** Sort object keys using a reference order array, sort keys not in reference order in lasts positions */
@@ -1,5 +1,5 @@
1
- import { OperationObject } from "../types/openapi";
2
- import { GenerateOptions } from "../types/options";
1
+ import { OperationObject } from "src/generators/types/openapi";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
3
  export declare function formatTag(tag: string): string;
4
4
  export declare function getOperationTag(operation: OperationObject, options: GenerateOptions): string;
5
5
  export declare function isTagExcluded(tag: string, options: GenerateOptions): boolean;
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- import { SchemaResolver } from "../core/SchemaResolver.class";
3
- import { TsMetaType, TsTypeBase } from "../types/metadata";
4
- import { PrimitiveType } from "../types/openapi";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
+ import { TsMetaType, TsTypeBase } from "src/generators/types/metadata";
4
+ import { PrimitiveType } from "src/generators/types/openapi";
5
5
  export declare function primitiveTypeToTsType(type: PrimitiveType): string;
6
6
  export declare function getTsTypeBase({ zodSchemaName, schema, resolver, }: {
7
7
  zodSchemaName?: string;
@@ -1,7 +1,7 @@
1
- import { HttpStatusCode } from "../const/validation.const";
2
- import { Endpoint, EndpointParameter } from "../types/endpoint";
3
- import { OperationObject } from "../types/openapi";
4
- import { ValidationError, ValidationErrorType } from "../types/validation";
1
+ import { HttpStatusCode } from "src/generators/const/validation.const";
2
+ import { Endpoint, EndpointParameter } from "src/generators/types/endpoint";
3
+ import { OperationObject } from "src/generators/types/openapi";
4
+ import { ValidationError, ValidationErrorType } from "src/generators/types/validation";
5
5
  export declare function getInvalidSchemaError(message: string): ValidationError;
6
6
  export declare function getInvalidOperationIdError(operationId: string): ValidationError;
7
7
  export declare function getMissingPathParameterError(params: EndpointParameter[], path: string): ValidationError;
@@ -5,8 +5,8 @@
5
5
  * @param defaultValue
6
6
  */
7
7
  export declare function logVariable(name: string, value: any, defaultValue?: string | number): void;
8
+ export declare function log(message: string): void;
8
9
  export declare function logInfo(message: string): void;
9
- export declare function logVerbose(message: string): void;
10
10
  export declare function logNotice(message: string): void;
11
11
  export declare function logSuccess(message: string): void;
12
12
  export declare function logWarning(message: string): void;
@@ -0,0 +1,2 @@
1
+ import { OpenAPICodegenConfig } from "src/generators/types/config";
2
+ export declare function loadConfig(configPath?: string): Promise<OpenAPICodegenConfig | null>;
package/dist/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export declare function getGenerateMetadata({ input, options: genOptions }: Gene
3
3
  export declare function getGenerateFilesData({ input, options: genOptions }: GenerateParams): Promise<import("./generators/types/generate").GenerateFileData[]>;
4
4
  export { GenerateFileData } from "./generators/types/generate";
5
5
  export * from "./generators/types/metadata";
6
+ export * from "./generators/types/config";