swagger-typescript-api 13.2.8 → 13.2.9

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # swagger-typescript-api
2
2
 
3
+ ## 13.2.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1384](https://github.com/acacode/swagger-typescript-api/pull/1384) [`0caea2c`](https://github.com/acacode/swagger-typescript-api/commit/0caea2c9c1132b2ba5e74ec51d9cb12b73e32f5e) Thanks [@smorimoto](https://github.com/smorimoto)! - Fix enum const parsing for substrings of primitive types.
8
+
9
+ - [#1381](https://github.com/acacode/swagger-typescript-api/pull/1381) [`ba052f4`](https://github.com/acacode/swagger-typescript-api/commit/ba052f4038b53358381caa0a20d1edc07a59e7bd) Thanks [@smorimoto](https://github.com/smorimoto)! - Support extracting request parameters for routes that only declare path parameters, such as `DELETE` methods.
10
+
11
+ - [#1382](https://github.com/acacode/swagger-typescript-api/pull/1382) [`792e96c`](https://github.com/acacode/swagger-typescript-api/commit/792e96c44255bd5e2f26a5043959a9e1693df896) Thanks [@smorimoto](https://github.com/smorimoto)! - Fix enum string value quoting when schema type mismatches.
12
+
13
+ - [#1385](https://github.com/acacode/swagger-typescript-api/pull/1385) [`859fc64`](https://github.com/acacode/swagger-typescript-api/commit/859fc64aa4fd58f024d17d516cb82c916abacfe6) Thanks [@smorimoto](https://github.com/smorimoto)! - Avoid response cloning in fetch HTTP client to prevent memory leaks (#779).
14
+
15
+ - [#1383](https://github.com/acacode/swagger-typescript-api/pull/1383) [`8191970`](https://github.com/acacode/swagger-typescript-api/commit/8191970c479d24236c80b5068bcab2f5f10597cd) Thanks [@smorimoto](https://github.com/smorimoto)! - Automatically extract enums when using enum names as values.
16
+
17
+ - [#1376](https://github.com/acacode/swagger-typescript-api/pull/1376) [`bec35e8`](https://github.com/acacode/swagger-typescript-api/commit/bec35e8b885a6b69dceec06487690f1ea81dbea0) Thanks [@smorimoto](https://github.com/smorimoto)! - Merge `GenerateApiParamsBase` into `GenerateApiConfiguration` to remove duplicated type definitions and expose missing configuration fields. Document configuration defaults with JSDoc tags.
18
+
19
+ - [#1378](https://github.com/acacode/swagger-typescript-api/pull/1378) [`912e521`](https://github.com/acacode/swagger-typescript-api/commit/912e5217868973943197b03dd67b26108e430c6f) Thanks [@smorimoto](https://github.com/smorimoto)! - Allow partial `extractingOptions` in `generateApi` configuration.
20
+
21
+ - [#1380](https://github.com/acacode/swagger-typescript-api/pull/1380) [`fec0a09`](https://github.com/acacode/swagger-typescript-api/commit/fec0a09774512d7254bbc5bbebee22858812adb8) Thanks [@smorimoto](https://github.com/smorimoto)! - Add test verifying primitive + object `anyOf` unions.
22
+
23
+ - [#1376](https://github.com/acacode/swagger-typescript-api/pull/1376) [`bec35e8`](https://github.com/acacode/swagger-typescript-api/commit/bec35e8b885a6b69dceec06487690f1ea81dbea0) Thanks [@smorimoto](https://github.com/smorimoto)! - Restore `modular` option typing in `generateApi` parameters.
24
+
25
+ - [#1379](https://github.com/acacode/swagger-typescript-api/pull/1379) [`339a167`](https://github.com/acacode/swagger-typescript-api/commit/339a167d5dc46e128d8e960490c701fb85aa4cef) Thanks [@smorimoto](https://github.com/smorimoto)! - Support synchronous `require` in templates using Node's `createRequire`.
26
+
3
27
  ## 13.2.8
4
28
 
5
29
  ### Patch Changes
package/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_src = require('./src-BtVFSrff.cjs');
2
+ const require_src = require('./src-B-cU8h_Y.cjs');
3
3
  const node_path = require_src.__toESM(require("node:path"));
4
4
  const c12 = require_src.__toESM(require("c12"));
5
5
  const citty = require_src.__toESM(require("citty"));
package/dist/cli.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.cjs","names":["TemplatesGenConfig","HTTP_CLIENT","CodeGenConfig","packageJson"],"sources":["../index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as path from \"node:path\";\nimport { loadConfig } from \"c12\";\nimport { defineCommand, runMain } from \"citty\";\nimport packageJson from \"./package.json\" with { type: \"json\" };\nimport { TemplatesGenConfig } from \"./src/commands/generate-templates/configuration.js\";\nimport { CodeGenConfig } from \"./src/configuration.js\";\nimport { HTTP_CLIENT } from \"./src/constants.js\";\nimport { generateApi, generateTemplates } from \"./src/index.js\";\nimport type { GenerateApiParams, HttpClientType } from \"./types/index.js\";\n\nconst templateGenBaseConfig = new TemplatesGenConfig({});\n\nconst generateTemplatesCommand = defineCommand({\n meta: {\n name: \"generate-templates\",\n description: 'Generate \".ejs\" templates needed for generate api',\n },\n args: {\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate template. WARNING: May cause data loss\",\n default: templateGenBaseConfig.cleanOutput,\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: templateGenBaseConfig.debug,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n default: templateGenBaseConfig.httpClientType,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate templates needed to separate files for http client, data contracts, and routes\",\n default: templateGenBaseConfig.modular,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of generated templates\",\n default: templateGenBaseConfig.output,\n },\n rewrite: {\n type: \"boolean\",\n alias: \"r\",\n description: \"rewrite content in existing templates\",\n default: templateGenBaseConfig.rewrite,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: templateGenBaseConfig.silent,\n },\n },\n run: async ({ args }) => {\n await generateTemplates({\n cleanOutput: args[\"clean-output\"],\n httpClientType: args[\"http-client\"] as HttpClientType,\n modular: args.modular,\n output: args.output,\n rewrite: args.rewrite,\n silent: args.silent,\n debug: args.debug,\n });\n },\n});\n\nconst codeGenBaseConfig = new CodeGenConfig({});\n\nconst generateCommand = defineCommand({\n meta: {\n name: \"generate\",\n description: packageJson.description,\n },\n args: {\n \"add-readonly\": {\n type: \"boolean\",\n description: \"generate readonly properties\",\n default: codeGenBaseConfig.addReadonly,\n },\n \"another-array-type\": {\n type: \"boolean\",\n description: \"generate array types as Array<Type> (by default Type[])\",\n default: codeGenBaseConfig.anotherArrayType,\n },\n \"api-class-name\": {\n type: \"string\",\n description: \"name of the api class\",\n default: codeGenBaseConfig.apiClassName,\n },\n axios: {\n type: \"boolean\",\n description: \"generate axios http client\",\n default: false,\n },\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate api. WARNING: May cause data loss\",\n default: codeGenBaseConfig.cleanOutput,\n },\n client: {\n type: \"boolean\",\n description: \"do not generate an API class\",\n default: codeGenBaseConfig.generateClient,\n },\n \"custom-config\": {\n type: \"string\",\n description: \"custom config: primitiveTypeConstructs, hooks, ... \",\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: codeGenBaseConfig.debug,\n },\n \"default-as-success\": {\n type: \"boolean\",\n alias: \"d\",\n description:\n 'use \"default\" response status code as success response too. some swagger schemas use \"default\" response status code as success response type by default.',\n default: codeGenBaseConfig.defaultResponseAsSuccess,\n },\n \"default-response\": {\n type: \"string\",\n description: \"default type for empty response schema\",\n default: codeGenBaseConfig.defaultResponseType,\n },\n \"disable-throw-on-error\": {\n type: \"boolean\",\n description: \"Do not throw an error when response.ok is not true\",\n default: codeGenBaseConfig.disableThrowOnError,\n },\n \"enum-names-as-values\": {\n type: \"boolean\",\n description:\n \"use values in 'x-enumNames' as enum values (not only as keys)\",\n default: codeGenBaseConfig.enumNamesAsValues,\n },\n \"extract-enums\": {\n type: \"boolean\",\n description:\n \"extract all enums from inline interface/type content to typescript enum construction\",\n default: codeGenBaseConfig.extractEnums,\n },\n \"extract-request-body\": {\n type: \"boolean\",\n description: \"extract request body type to data contract\",\n default: codeGenBaseConfig.extractRequestBody,\n },\n \"extract-request-params\": {\n type: \"boolean\",\n description:\n \"extract request params to data contract (Also combine path params and query params into one object)\",\n default: codeGenBaseConfig.extractRequestParams,\n },\n \"extract-response-body\": {\n type: \"boolean\",\n description: \"extract response body type to data contract\",\n default: codeGenBaseConfig.extractResponseBody,\n },\n \"extract-response-error\": {\n type: \"boolean\",\n description: \"extract response error type to data contract\",\n default: codeGenBaseConfig.extractResponseError,\n },\n \"extract-responses\": {\n type: \"boolean\",\n description: \"extract all responses described in /components/responses\",\n default: codeGenBaseConfig.extractResponses,\n },\n \"generate-union-enums\": {\n type: \"boolean\",\n description: 'generate all \"enum\" types as union types (T1 | T2 | TN)',\n default: codeGenBaseConfig.generateUnionEnums,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n },\n js: {\n type: \"boolean\",\n description: \"generate js api module with declaration file\",\n default: codeGenBaseConfig.toJS,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate separated files for http client, data contracts, and routes\",\n default: codeGenBaseConfig.modular,\n },\n \"module-name-first-tag\": {\n type: \"boolean\",\n description: \"splits routes based on the first tag\",\n default: codeGenBaseConfig.moduleNameFirstTag,\n },\n \"module-name-index\": {\n type: \"string\",\n description:\n \"determines which path index should be used for routes separation (example: GET:/fruits/getFruit -> index:0 -> moduleName -> fruits)\",\n default: codeGenBaseConfig.moduleNameIndex.toString(),\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"name of output typescript api file\",\n default: codeGenBaseConfig.fileName,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of typescript api file\",\n default: \"./\",\n },\n patch: {\n type: \"boolean\",\n description: \"fix up small errors in the swagger source definition\",\n default: codeGenBaseConfig.patch,\n },\n path: {\n type: \"string\",\n alias: \"p\",\n description: \"path/url to swagger schema\",\n },\n responses: {\n type: \"boolean\",\n alias: \"r\",\n description:\n \"generate additional information about request responses also add typings for bad responses\",\n default: codeGenBaseConfig.generateResponses,\n },\n \"route-types\": {\n type: \"boolean\",\n description: \"generate type definitions for API routes\",\n default: codeGenBaseConfig.generateRouteTypes,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: codeGenBaseConfig.silent,\n },\n \"single-http-client\": {\n type: \"boolean\",\n description: \"Ability to send HttpClient instance to Api constructor\",\n default: codeGenBaseConfig.singleHttpClient,\n },\n \"sort-routes\": {\n type: \"boolean\",\n description: \"sort routes in alphabetical order\",\n default: codeGenBaseConfig.sortRoutes,\n },\n \"sort-types\": {\n type: \"boolean\",\n description: \"sort fields and types\",\n default: codeGenBaseConfig.sortTypes,\n },\n templates: {\n type: \"string\",\n alias: \"t\",\n description: \"path to folder containing templates\",\n },\n \"type-prefix\": {\n type: \"string\",\n description: \"data contract name prefix\",\n default: codeGenBaseConfig.typePrefix,\n },\n \"type-suffix\": {\n type: \"string\",\n description: \"data contract name suffix\",\n default: codeGenBaseConfig.typeSuffix,\n },\n \"unwrap-response-data\": {\n type: \"boolean\",\n description: \"unwrap the data item from the response\",\n default: codeGenBaseConfig.unwrapResponseData,\n },\n },\n run: async ({ args }) => {\n const customConfig = await loadConfig<GenerateApiParams>({\n name: \"swagger-typescript-api\",\n configFile: args[\"custom-config\"],\n });\n\n await generateApi({\n addReadonly: args[\"add-readonly\"],\n anotherArrayType: args[\"another-array-type\"],\n apiClassName: args[\"api-class-name\"],\n cleanOutput: args[\"clean-output\"],\n debug: args.debug,\n defaultResponseAsSuccess: args[\"default-as-success\"],\n defaultResponseType: args[\"default-response\"],\n disableThrowOnError: args[\"disable-throw-on-error\"],\n enumNamesAsValues: args[\"enum-names-as-values\"],\n extractEnums: args[\"extract-enums\"],\n extractRequestBody: args[\"extract-request-body\"],\n extractRequestParams: args[\"extract-request-params\"],\n extractResponseBody: args[\"extract-response-body\"],\n extractResponseError: args[\"extract-response-error\"],\n extractResponses: args[\"extract-responses\"],\n fileName: args.name,\n generateClient: args.client,\n generateResponses: args.responses,\n generateRouteTypes: args[\"route-types\"],\n generateUnionEnums: args[\"generate-union-enums\"],\n httpClientType:\n args[\"http-client\"] || args.axios\n ? HTTP_CLIENT.AXIOS\n : HTTP_CLIENT.FETCH,\n input: path.resolve(process.cwd(), args.path as string),\n modular: args.modular,\n moduleNameFirstTag: args[\"module-name-first-tag\"],\n moduleNameIndex: +args[\"module-name-index\"] || 0,\n output: path.resolve(process.cwd(), (args.output as string) || \".\"),\n patch: args.patch,\n silent: args.silent,\n singleHttpClient: args[\"single-http-client\"],\n sortRoutes: args[\"sort-routes\"],\n sortTypes: args[\"sort-types\"],\n templates: args.templates,\n toJS: args.js,\n typePrefix: args[\"type-prefix\"],\n typeSuffix: args[\"type-suffix\"],\n unwrapResponseData: args[\"unwrap-response-data\"],\n url: args.path,\n ...customConfig.config,\n });\n },\n});\n\nconst main = defineCommand({\n meta: {\n name: packageJson.name,\n description: packageJson.description,\n version: packageJson.version,\n },\n subCommands: {\n generate: generateCommand,\n \"generate-templates\": generateTemplatesCommand,\n },\n});\n\nrunMain(main);\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli.cjs","names":["TemplatesGenConfig","HTTP_CLIENT","generateTemplates","CodeGenConfig","packageJson","generateApi","path"],"sources":["../index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as path from \"node:path\";\nimport { loadConfig } from \"c12\";\nimport { defineCommand, runMain } from \"citty\";\nimport packageJson from \"./package.json\" with { type: \"json\" };\nimport { TemplatesGenConfig } from \"./src/commands/generate-templates/configuration.js\";\nimport { CodeGenConfig } from \"./src/configuration.js\";\nimport { HTTP_CLIENT } from \"./src/constants.js\";\nimport { generateApi, generateTemplates } from \"./src/index.js\";\nimport type { GenerateApiParams, HttpClientType } from \"./types/index.js\";\n\nconst templateGenBaseConfig = new TemplatesGenConfig({});\n\nconst generateTemplatesCommand = defineCommand({\n meta: {\n name: \"generate-templates\",\n description: 'Generate \".ejs\" templates needed for generate api',\n },\n args: {\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate template. WARNING: May cause data loss\",\n default: templateGenBaseConfig.cleanOutput,\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: templateGenBaseConfig.debug,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n default: templateGenBaseConfig.httpClientType,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate templates needed to separate files for http client, data contracts, and routes\",\n default: templateGenBaseConfig.modular,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of generated templates\",\n default: templateGenBaseConfig.output,\n },\n rewrite: {\n type: \"boolean\",\n alias: \"r\",\n description: \"rewrite content in existing templates\",\n default: templateGenBaseConfig.rewrite,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: templateGenBaseConfig.silent,\n },\n },\n run: async ({ args }) => {\n await generateTemplates({\n cleanOutput: args[\"clean-output\"],\n httpClientType: args[\"http-client\"] as HttpClientType,\n modular: args.modular,\n output: args.output,\n rewrite: args.rewrite,\n silent: args.silent,\n debug: args.debug,\n });\n },\n});\n\nconst codeGenBaseConfig = new CodeGenConfig({});\n\nconst generateCommand = defineCommand({\n meta: {\n name: \"generate\",\n description: packageJson.description,\n },\n args: {\n \"add-readonly\": {\n type: \"boolean\",\n description: \"generate readonly properties\",\n default: codeGenBaseConfig.addReadonly,\n },\n \"another-array-type\": {\n type: \"boolean\",\n description: \"generate array types as Array<Type> (by default Type[])\",\n default: codeGenBaseConfig.anotherArrayType,\n },\n \"api-class-name\": {\n type: \"string\",\n description: \"name of the api class\",\n default: codeGenBaseConfig.apiClassName,\n },\n axios: {\n type: \"boolean\",\n description: \"generate axios http client\",\n default: false,\n },\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate api. WARNING: May cause data loss\",\n default: codeGenBaseConfig.cleanOutput,\n },\n client: {\n type: \"boolean\",\n description: \"do not generate an API class\",\n default: codeGenBaseConfig.generateClient,\n },\n \"custom-config\": {\n type: \"string\",\n description: \"custom config: primitiveTypeConstructs, hooks, ... \",\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: codeGenBaseConfig.debug,\n },\n \"default-as-success\": {\n type: \"boolean\",\n alias: \"d\",\n description:\n 'use \"default\" response status code as success response too. some swagger schemas use \"default\" response status code as success response type by default.',\n default: codeGenBaseConfig.defaultResponseAsSuccess,\n },\n \"default-response\": {\n type: \"string\",\n description: \"default type for empty response schema\",\n default: codeGenBaseConfig.defaultResponseType,\n },\n \"disable-throw-on-error\": {\n type: \"boolean\",\n description: \"Do not throw an error when response.ok is not true\",\n default: codeGenBaseConfig.disableThrowOnError,\n },\n \"enum-names-as-values\": {\n type: \"boolean\",\n description:\n \"use values in 'x-enumNames' as enum values (not only as keys)\",\n default: codeGenBaseConfig.enumNamesAsValues,\n },\n \"extract-enums\": {\n type: \"boolean\",\n description:\n \"extract all enums from inline interface/type content to typescript enum construction\",\n default: codeGenBaseConfig.extractEnums,\n },\n \"extract-request-body\": {\n type: \"boolean\",\n description: \"extract request body type to data contract\",\n default: codeGenBaseConfig.extractRequestBody,\n },\n \"extract-request-params\": {\n type: \"boolean\",\n description:\n \"extract request params to data contract (Also combine path params and query params into one object)\",\n default: codeGenBaseConfig.extractRequestParams,\n },\n \"extract-response-body\": {\n type: \"boolean\",\n description: \"extract response body type to data contract\",\n default: codeGenBaseConfig.extractResponseBody,\n },\n \"extract-response-error\": {\n type: \"boolean\",\n description: \"extract response error type to data contract\",\n default: codeGenBaseConfig.extractResponseError,\n },\n \"extract-responses\": {\n type: \"boolean\",\n description: \"extract all responses described in /components/responses\",\n default: codeGenBaseConfig.extractResponses,\n },\n \"generate-union-enums\": {\n type: \"boolean\",\n description: 'generate all \"enum\" types as union types (T1 | T2 | TN)',\n default: codeGenBaseConfig.generateUnionEnums,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n },\n js: {\n type: \"boolean\",\n description: \"generate js api module with declaration file\",\n default: codeGenBaseConfig.toJS,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate separated files for http client, data contracts, and routes\",\n default: codeGenBaseConfig.modular,\n },\n \"module-name-first-tag\": {\n type: \"boolean\",\n description: \"splits routes based on the first tag\",\n default: codeGenBaseConfig.moduleNameFirstTag,\n },\n \"module-name-index\": {\n type: \"string\",\n description:\n \"determines which path index should be used for routes separation (example: GET:/fruits/getFruit -> index:0 -> moduleName -> fruits)\",\n default: codeGenBaseConfig.moduleNameIndex.toString(),\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"name of output typescript api file\",\n default: codeGenBaseConfig.fileName,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of typescript api file\",\n default: \"./\",\n },\n patch: {\n type: \"boolean\",\n description: \"fix up small errors in the swagger source definition\",\n default: codeGenBaseConfig.patch,\n },\n path: {\n type: \"string\",\n alias: \"p\",\n description: \"path/url to swagger schema\",\n },\n responses: {\n type: \"boolean\",\n alias: \"r\",\n description:\n \"generate additional information about request responses also add typings for bad responses\",\n default: codeGenBaseConfig.generateResponses,\n },\n \"route-types\": {\n type: \"boolean\",\n description: \"generate type definitions for API routes\",\n default: codeGenBaseConfig.generateRouteTypes,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: codeGenBaseConfig.silent,\n },\n \"single-http-client\": {\n type: \"boolean\",\n description: \"Ability to send HttpClient instance to Api constructor\",\n default: codeGenBaseConfig.singleHttpClient,\n },\n \"sort-routes\": {\n type: \"boolean\",\n description: \"sort routes in alphabetical order\",\n default: codeGenBaseConfig.sortRoutes,\n },\n \"sort-types\": {\n type: \"boolean\",\n description: \"sort fields and types\",\n default: codeGenBaseConfig.sortTypes,\n },\n templates: {\n type: \"string\",\n alias: \"t\",\n description: \"path to folder containing templates\",\n },\n \"type-prefix\": {\n type: \"string\",\n description: \"data contract name prefix\",\n default: codeGenBaseConfig.typePrefix,\n },\n \"type-suffix\": {\n type: \"string\",\n description: \"data contract name suffix\",\n default: codeGenBaseConfig.typeSuffix,\n },\n \"unwrap-response-data\": {\n type: \"boolean\",\n description: \"unwrap the data item from the response\",\n default: codeGenBaseConfig.unwrapResponseData,\n },\n },\n run: async ({ args }) => {\n const customConfig = await loadConfig<GenerateApiParams>({\n name: \"swagger-typescript-api\",\n configFile: args[\"custom-config\"],\n });\n\n await generateApi({\n addReadonly: args[\"add-readonly\"],\n anotherArrayType: args[\"another-array-type\"],\n apiClassName: args[\"api-class-name\"],\n cleanOutput: args[\"clean-output\"],\n debug: args.debug,\n defaultResponseAsSuccess: args[\"default-as-success\"],\n defaultResponseType: args[\"default-response\"],\n disableThrowOnError: args[\"disable-throw-on-error\"],\n enumNamesAsValues: args[\"enum-names-as-values\"],\n extractEnums: args[\"extract-enums\"],\n extractRequestBody: args[\"extract-request-body\"],\n extractRequestParams: args[\"extract-request-params\"],\n extractResponseBody: args[\"extract-response-body\"],\n extractResponseError: args[\"extract-response-error\"],\n extractResponses: args[\"extract-responses\"],\n fileName: args.name,\n generateClient: args.client,\n generateResponses: args.responses,\n generateRouteTypes: args[\"route-types\"],\n generateUnionEnums: args[\"generate-union-enums\"],\n httpClientType:\n args[\"http-client\"] || args.axios\n ? HTTP_CLIENT.AXIOS\n : HTTP_CLIENT.FETCH,\n input: path.resolve(process.cwd(), args.path as string),\n modular: args.modular,\n moduleNameFirstTag: args[\"module-name-first-tag\"],\n moduleNameIndex: +args[\"module-name-index\"] || 0,\n output: path.resolve(process.cwd(), (args.output as string) || \".\"),\n patch: args.patch,\n silent: args.silent,\n singleHttpClient: args[\"single-http-client\"],\n sortRoutes: args[\"sort-routes\"],\n sortTypes: args[\"sort-types\"],\n templates: args.templates,\n toJS: args.js,\n typePrefix: args[\"type-prefix\"],\n typeSuffix: args[\"type-suffix\"],\n unwrapResponseData: args[\"unwrap-response-data\"],\n url: args.path,\n ...customConfig.config,\n });\n },\n});\n\nconst main = defineCommand({\n meta: {\n name: packageJson.name,\n description: packageJson.description,\n version: packageJson.version,\n },\n subCommands: {\n generate: generateCommand,\n \"generate-templates\": generateTemplatesCommand,\n },\n});\n\nrunMain(main);\n"],"mappings":"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"}
package/dist/cli.d.cts CHANGED
@@ -1 +1,2 @@
1
- export { };
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { };
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { CodeGenConfig, HTTP_CLIENT, TemplatesGenConfig, generateApi, generateTemplates, package_default } from "./src-4gUT3jPg.js";
2
+ import { CodeGenConfig, HTTP_CLIENT, TemplatesGenConfig, generateApi, generateTemplates, package_default } from "./src-BGOGeWR6.js";
3
3
  import * as path$1 from "node:path";
4
4
  import { loadConfig } from "c12";
5
5
  import { defineCommand, runMain } from "citty";
@@ -323,4 +323,5 @@ const main = defineCommand({
323
323
  runMain(main);
324
324
 
325
325
  //#endregion
326
+ export { };
326
327
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","names":["packageJson"],"sources":["../index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as path from \"node:path\";\nimport { loadConfig } from \"c12\";\nimport { defineCommand, runMain } from \"citty\";\nimport packageJson from \"./package.json\" with { type: \"json\" };\nimport { TemplatesGenConfig } from \"./src/commands/generate-templates/configuration.js\";\nimport { CodeGenConfig } from \"./src/configuration.js\";\nimport { HTTP_CLIENT } from \"./src/constants.js\";\nimport { generateApi, generateTemplates } from \"./src/index.js\";\nimport type { GenerateApiParams, HttpClientType } from \"./types/index.js\";\n\nconst templateGenBaseConfig = new TemplatesGenConfig({});\n\nconst generateTemplatesCommand = defineCommand({\n meta: {\n name: \"generate-templates\",\n description: 'Generate \".ejs\" templates needed for generate api',\n },\n args: {\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate template. WARNING: May cause data loss\",\n default: templateGenBaseConfig.cleanOutput,\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: templateGenBaseConfig.debug,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n default: templateGenBaseConfig.httpClientType,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate templates needed to separate files for http client, data contracts, and routes\",\n default: templateGenBaseConfig.modular,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of generated templates\",\n default: templateGenBaseConfig.output,\n },\n rewrite: {\n type: \"boolean\",\n alias: \"r\",\n description: \"rewrite content in existing templates\",\n default: templateGenBaseConfig.rewrite,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: templateGenBaseConfig.silent,\n },\n },\n run: async ({ args }) => {\n await generateTemplates({\n cleanOutput: args[\"clean-output\"],\n httpClientType: args[\"http-client\"] as HttpClientType,\n modular: args.modular,\n output: args.output,\n rewrite: args.rewrite,\n silent: args.silent,\n debug: args.debug,\n });\n },\n});\n\nconst codeGenBaseConfig = new CodeGenConfig({});\n\nconst generateCommand = defineCommand({\n meta: {\n name: \"generate\",\n description: packageJson.description,\n },\n args: {\n \"add-readonly\": {\n type: \"boolean\",\n description: \"generate readonly properties\",\n default: codeGenBaseConfig.addReadonly,\n },\n \"another-array-type\": {\n type: \"boolean\",\n description: \"generate array types as Array<Type> (by default Type[])\",\n default: codeGenBaseConfig.anotherArrayType,\n },\n \"api-class-name\": {\n type: \"string\",\n description: \"name of the api class\",\n default: codeGenBaseConfig.apiClassName,\n },\n axios: {\n type: \"boolean\",\n description: \"generate axios http client\",\n default: false,\n },\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate api. WARNING: May cause data loss\",\n default: codeGenBaseConfig.cleanOutput,\n },\n client: {\n type: \"boolean\",\n description: \"do not generate an API class\",\n default: codeGenBaseConfig.generateClient,\n },\n \"custom-config\": {\n type: \"string\",\n description: \"custom config: primitiveTypeConstructs, hooks, ... \",\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: codeGenBaseConfig.debug,\n },\n \"default-as-success\": {\n type: \"boolean\",\n alias: \"d\",\n description:\n 'use \"default\" response status code as success response too. some swagger schemas use \"default\" response status code as success response type by default.',\n default: codeGenBaseConfig.defaultResponseAsSuccess,\n },\n \"default-response\": {\n type: \"string\",\n description: \"default type for empty response schema\",\n default: codeGenBaseConfig.defaultResponseType,\n },\n \"disable-throw-on-error\": {\n type: \"boolean\",\n description: \"Do not throw an error when response.ok is not true\",\n default: codeGenBaseConfig.disableThrowOnError,\n },\n \"enum-names-as-values\": {\n type: \"boolean\",\n description:\n \"use values in 'x-enumNames' as enum values (not only as keys)\",\n default: codeGenBaseConfig.enumNamesAsValues,\n },\n \"extract-enums\": {\n type: \"boolean\",\n description:\n \"extract all enums from inline interface/type content to typescript enum construction\",\n default: codeGenBaseConfig.extractEnums,\n },\n \"extract-request-body\": {\n type: \"boolean\",\n description: \"extract request body type to data contract\",\n default: codeGenBaseConfig.extractRequestBody,\n },\n \"extract-request-params\": {\n type: \"boolean\",\n description:\n \"extract request params to data contract (Also combine path params and query params into one object)\",\n default: codeGenBaseConfig.extractRequestParams,\n },\n \"extract-response-body\": {\n type: \"boolean\",\n description: \"extract response body type to data contract\",\n default: codeGenBaseConfig.extractResponseBody,\n },\n \"extract-response-error\": {\n type: \"boolean\",\n description: \"extract response error type to data contract\",\n default: codeGenBaseConfig.extractResponseError,\n },\n \"extract-responses\": {\n type: \"boolean\",\n description: \"extract all responses described in /components/responses\",\n default: codeGenBaseConfig.extractResponses,\n },\n \"generate-union-enums\": {\n type: \"boolean\",\n description: 'generate all \"enum\" types as union types (T1 | T2 | TN)',\n default: codeGenBaseConfig.generateUnionEnums,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n },\n js: {\n type: \"boolean\",\n description: \"generate js api module with declaration file\",\n default: codeGenBaseConfig.toJS,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate separated files for http client, data contracts, and routes\",\n default: codeGenBaseConfig.modular,\n },\n \"module-name-first-tag\": {\n type: \"boolean\",\n description: \"splits routes based on the first tag\",\n default: codeGenBaseConfig.moduleNameFirstTag,\n },\n \"module-name-index\": {\n type: \"string\",\n description:\n \"determines which path index should be used for routes separation (example: GET:/fruits/getFruit -> index:0 -> moduleName -> fruits)\",\n default: codeGenBaseConfig.moduleNameIndex.toString(),\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"name of output typescript api file\",\n default: codeGenBaseConfig.fileName,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of typescript api file\",\n default: \"./\",\n },\n patch: {\n type: \"boolean\",\n description: \"fix up small errors in the swagger source definition\",\n default: codeGenBaseConfig.patch,\n },\n path: {\n type: \"string\",\n alias: \"p\",\n description: \"path/url to swagger schema\",\n },\n responses: {\n type: \"boolean\",\n alias: \"r\",\n description:\n \"generate additional information about request responses also add typings for bad responses\",\n default: codeGenBaseConfig.generateResponses,\n },\n \"route-types\": {\n type: \"boolean\",\n description: \"generate type definitions for API routes\",\n default: codeGenBaseConfig.generateRouteTypes,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: codeGenBaseConfig.silent,\n },\n \"single-http-client\": {\n type: \"boolean\",\n description: \"Ability to send HttpClient instance to Api constructor\",\n default: codeGenBaseConfig.singleHttpClient,\n },\n \"sort-routes\": {\n type: \"boolean\",\n description: \"sort routes in alphabetical order\",\n default: codeGenBaseConfig.sortRoutes,\n },\n \"sort-types\": {\n type: \"boolean\",\n description: \"sort fields and types\",\n default: codeGenBaseConfig.sortTypes,\n },\n templates: {\n type: \"string\",\n alias: \"t\",\n description: \"path to folder containing templates\",\n },\n \"type-prefix\": {\n type: \"string\",\n description: \"data contract name prefix\",\n default: codeGenBaseConfig.typePrefix,\n },\n \"type-suffix\": {\n type: \"string\",\n description: \"data contract name suffix\",\n default: codeGenBaseConfig.typeSuffix,\n },\n \"unwrap-response-data\": {\n type: \"boolean\",\n description: \"unwrap the data item from the response\",\n default: codeGenBaseConfig.unwrapResponseData,\n },\n },\n run: async ({ args }) => {\n const customConfig = await loadConfig<GenerateApiParams>({\n name: \"swagger-typescript-api\",\n configFile: args[\"custom-config\"],\n });\n\n await generateApi({\n addReadonly: args[\"add-readonly\"],\n anotherArrayType: args[\"another-array-type\"],\n apiClassName: args[\"api-class-name\"],\n cleanOutput: args[\"clean-output\"],\n debug: args.debug,\n defaultResponseAsSuccess: args[\"default-as-success\"],\n defaultResponseType: args[\"default-response\"],\n disableThrowOnError: args[\"disable-throw-on-error\"],\n enumNamesAsValues: args[\"enum-names-as-values\"],\n extractEnums: args[\"extract-enums\"],\n extractRequestBody: args[\"extract-request-body\"],\n extractRequestParams: args[\"extract-request-params\"],\n extractResponseBody: args[\"extract-response-body\"],\n extractResponseError: args[\"extract-response-error\"],\n extractResponses: args[\"extract-responses\"],\n fileName: args.name,\n generateClient: args.client,\n generateResponses: args.responses,\n generateRouteTypes: args[\"route-types\"],\n generateUnionEnums: args[\"generate-union-enums\"],\n httpClientType:\n args[\"http-client\"] || args.axios\n ? HTTP_CLIENT.AXIOS\n : HTTP_CLIENT.FETCH,\n input: path.resolve(process.cwd(), args.path as string),\n modular: args.modular,\n moduleNameFirstTag: args[\"module-name-first-tag\"],\n moduleNameIndex: +args[\"module-name-index\"] || 0,\n output: path.resolve(process.cwd(), (args.output as string) || \".\"),\n patch: args.patch,\n silent: args.silent,\n singleHttpClient: args[\"single-http-client\"],\n sortRoutes: args[\"sort-routes\"],\n sortTypes: args[\"sort-types\"],\n templates: args.templates,\n toJS: args.js,\n typePrefix: args[\"type-prefix\"],\n typeSuffix: args[\"type-suffix\"],\n unwrapResponseData: args[\"unwrap-response-data\"],\n url: args.path,\n ...customConfig.config,\n });\n },\n});\n\nconst main = defineCommand({\n meta: {\n name: packageJson.name,\n description: packageJson.description,\n version: packageJson.version,\n },\n subCommands: {\n generate: generateCommand,\n \"generate-templates\": generateTemplatesCommand,\n },\n});\n\nrunMain(main);\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","names":["packageJson","path"],"sources":["../index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport * as path from \"node:path\";\nimport { loadConfig } from \"c12\";\nimport { defineCommand, runMain } from \"citty\";\nimport packageJson from \"./package.json\" with { type: \"json\" };\nimport { TemplatesGenConfig } from \"./src/commands/generate-templates/configuration.js\";\nimport { CodeGenConfig } from \"./src/configuration.js\";\nimport { HTTP_CLIENT } from \"./src/constants.js\";\nimport { generateApi, generateTemplates } from \"./src/index.js\";\nimport type { GenerateApiParams, HttpClientType } from \"./types/index.js\";\n\nconst templateGenBaseConfig = new TemplatesGenConfig({});\n\nconst generateTemplatesCommand = defineCommand({\n meta: {\n name: \"generate-templates\",\n description: 'Generate \".ejs\" templates needed for generate api',\n },\n args: {\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate template. WARNING: May cause data loss\",\n default: templateGenBaseConfig.cleanOutput,\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: templateGenBaseConfig.debug,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n default: templateGenBaseConfig.httpClientType,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate templates needed to separate files for http client, data contracts, and routes\",\n default: templateGenBaseConfig.modular,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of generated templates\",\n default: templateGenBaseConfig.output,\n },\n rewrite: {\n type: \"boolean\",\n alias: \"r\",\n description: \"rewrite content in existing templates\",\n default: templateGenBaseConfig.rewrite,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: templateGenBaseConfig.silent,\n },\n },\n run: async ({ args }) => {\n await generateTemplates({\n cleanOutput: args[\"clean-output\"],\n httpClientType: args[\"http-client\"] as HttpClientType,\n modular: args.modular,\n output: args.output,\n rewrite: args.rewrite,\n silent: args.silent,\n debug: args.debug,\n });\n },\n});\n\nconst codeGenBaseConfig = new CodeGenConfig({});\n\nconst generateCommand = defineCommand({\n meta: {\n name: \"generate\",\n description: packageJson.description,\n },\n args: {\n \"add-readonly\": {\n type: \"boolean\",\n description: \"generate readonly properties\",\n default: codeGenBaseConfig.addReadonly,\n },\n \"another-array-type\": {\n type: \"boolean\",\n description: \"generate array types as Array<Type> (by default Type[])\",\n default: codeGenBaseConfig.anotherArrayType,\n },\n \"api-class-name\": {\n type: \"string\",\n description: \"name of the api class\",\n default: codeGenBaseConfig.apiClassName,\n },\n axios: {\n type: \"boolean\",\n description: \"generate axios http client\",\n default: false,\n },\n \"clean-output\": {\n type: \"boolean\",\n description:\n \"clean output folder before generate api. WARNING: May cause data loss\",\n default: codeGenBaseConfig.cleanOutput,\n },\n client: {\n type: \"boolean\",\n description: \"do not generate an API class\",\n default: codeGenBaseConfig.generateClient,\n },\n \"custom-config\": {\n type: \"string\",\n description: \"custom config: primitiveTypeConstructs, hooks, ... \",\n },\n debug: {\n type: \"boolean\",\n description: \"additional information about processes inside this tool\",\n default: codeGenBaseConfig.debug,\n },\n \"default-as-success\": {\n type: \"boolean\",\n alias: \"d\",\n description:\n 'use \"default\" response status code as success response too. some swagger schemas use \"default\" response status code as success response type by default.',\n default: codeGenBaseConfig.defaultResponseAsSuccess,\n },\n \"default-response\": {\n type: \"string\",\n description: \"default type for empty response schema\",\n default: codeGenBaseConfig.defaultResponseType,\n },\n \"disable-throw-on-error\": {\n type: \"boolean\",\n description: \"Do not throw an error when response.ok is not true\",\n default: codeGenBaseConfig.disableThrowOnError,\n },\n \"enum-names-as-values\": {\n type: \"boolean\",\n description:\n \"use values in 'x-enumNames' as enum values (not only as keys)\",\n default: codeGenBaseConfig.enumNamesAsValues,\n },\n \"extract-enums\": {\n type: \"boolean\",\n description:\n \"extract all enums from inline interface/type content to typescript enum construction\",\n default: codeGenBaseConfig.extractEnums,\n },\n \"extract-request-body\": {\n type: \"boolean\",\n description: \"extract request body type to data contract\",\n default: codeGenBaseConfig.extractRequestBody,\n },\n \"extract-request-params\": {\n type: \"boolean\",\n description:\n \"extract request params to data contract (Also combine path params and query params into one object)\",\n default: codeGenBaseConfig.extractRequestParams,\n },\n \"extract-response-body\": {\n type: \"boolean\",\n description: \"extract response body type to data contract\",\n default: codeGenBaseConfig.extractResponseBody,\n },\n \"extract-response-error\": {\n type: \"boolean\",\n description: \"extract response error type to data contract\",\n default: codeGenBaseConfig.extractResponseError,\n },\n \"extract-responses\": {\n type: \"boolean\",\n description: \"extract all responses described in /components/responses\",\n default: codeGenBaseConfig.extractResponses,\n },\n \"generate-union-enums\": {\n type: \"boolean\",\n description: 'generate all \"enum\" types as union types (T1 | T2 | TN)',\n default: codeGenBaseConfig.generateUnionEnums,\n },\n \"http-client\": {\n type: \"string\",\n description: `http client type (possible values: ${Object.values(\n HTTP_CLIENT,\n )})`,\n },\n js: {\n type: \"boolean\",\n description: \"generate js api module with declaration file\",\n default: codeGenBaseConfig.toJS,\n },\n modular: {\n type: \"boolean\",\n description:\n \"generate separated files for http client, data contracts, and routes\",\n default: codeGenBaseConfig.modular,\n },\n \"module-name-first-tag\": {\n type: \"boolean\",\n description: \"splits routes based on the first tag\",\n default: codeGenBaseConfig.moduleNameFirstTag,\n },\n \"module-name-index\": {\n type: \"string\",\n description:\n \"determines which path index should be used for routes separation (example: GET:/fruits/getFruit -> index:0 -> moduleName -> fruits)\",\n default: codeGenBaseConfig.moduleNameIndex.toString(),\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"name of output typescript api file\",\n default: codeGenBaseConfig.fileName,\n },\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"output path of typescript api file\",\n default: \"./\",\n },\n patch: {\n type: \"boolean\",\n description: \"fix up small errors in the swagger source definition\",\n default: codeGenBaseConfig.patch,\n },\n path: {\n type: \"string\",\n alias: \"p\",\n description: \"path/url to swagger schema\",\n },\n responses: {\n type: \"boolean\",\n alias: \"r\",\n description:\n \"generate additional information about request responses also add typings for bad responses\",\n default: codeGenBaseConfig.generateResponses,\n },\n \"route-types\": {\n type: \"boolean\",\n description: \"generate type definitions for API routes\",\n default: codeGenBaseConfig.generateRouteTypes,\n },\n silent: {\n type: \"boolean\",\n description: \"Output only errors to console\",\n default: codeGenBaseConfig.silent,\n },\n \"single-http-client\": {\n type: \"boolean\",\n description: \"Ability to send HttpClient instance to Api constructor\",\n default: codeGenBaseConfig.singleHttpClient,\n },\n \"sort-routes\": {\n type: \"boolean\",\n description: \"sort routes in alphabetical order\",\n default: codeGenBaseConfig.sortRoutes,\n },\n \"sort-types\": {\n type: \"boolean\",\n description: \"sort fields and types\",\n default: codeGenBaseConfig.sortTypes,\n },\n templates: {\n type: \"string\",\n alias: \"t\",\n description: \"path to folder containing templates\",\n },\n \"type-prefix\": {\n type: \"string\",\n description: \"data contract name prefix\",\n default: codeGenBaseConfig.typePrefix,\n },\n \"type-suffix\": {\n type: \"string\",\n description: \"data contract name suffix\",\n default: codeGenBaseConfig.typeSuffix,\n },\n \"unwrap-response-data\": {\n type: \"boolean\",\n description: \"unwrap the data item from the response\",\n default: codeGenBaseConfig.unwrapResponseData,\n },\n },\n run: async ({ args }) => {\n const customConfig = await loadConfig<GenerateApiParams>({\n name: \"swagger-typescript-api\",\n configFile: args[\"custom-config\"],\n });\n\n await generateApi({\n addReadonly: args[\"add-readonly\"],\n anotherArrayType: args[\"another-array-type\"],\n apiClassName: args[\"api-class-name\"],\n cleanOutput: args[\"clean-output\"],\n debug: args.debug,\n defaultResponseAsSuccess: args[\"default-as-success\"],\n defaultResponseType: args[\"default-response\"],\n disableThrowOnError: args[\"disable-throw-on-error\"],\n enumNamesAsValues: args[\"enum-names-as-values\"],\n extractEnums: args[\"extract-enums\"],\n extractRequestBody: args[\"extract-request-body\"],\n extractRequestParams: args[\"extract-request-params\"],\n extractResponseBody: args[\"extract-response-body\"],\n extractResponseError: args[\"extract-response-error\"],\n extractResponses: args[\"extract-responses\"],\n fileName: args.name,\n generateClient: args.client,\n generateResponses: args.responses,\n generateRouteTypes: args[\"route-types\"],\n generateUnionEnums: args[\"generate-union-enums\"],\n httpClientType:\n args[\"http-client\"] || args.axios\n ? HTTP_CLIENT.AXIOS\n : HTTP_CLIENT.FETCH,\n input: path.resolve(process.cwd(), args.path as string),\n modular: args.modular,\n moduleNameFirstTag: args[\"module-name-first-tag\"],\n moduleNameIndex: +args[\"module-name-index\"] || 0,\n output: path.resolve(process.cwd(), (args.output as string) || \".\"),\n patch: args.patch,\n silent: args.silent,\n singleHttpClient: args[\"single-http-client\"],\n sortRoutes: args[\"sort-routes\"],\n sortTypes: args[\"sort-types\"],\n templates: args.templates,\n toJS: args.js,\n typePrefix: args[\"type-prefix\"],\n typeSuffix: args[\"type-suffix\"],\n unwrapResponseData: args[\"unwrap-response-data\"],\n url: args.path,\n ...customConfig.config,\n });\n },\n});\n\nconst main = defineCommand({\n meta: {\n name: packageJson.name,\n description: packageJson.description,\n version: packageJson.version,\n },\n subCommands: {\n generate: generateCommand,\n \"generate-templates\": generateTemplatesCommand,\n },\n});\n\nrunMain(main);\n"],"mappings":"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"}
package/dist/lib.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_src = require('./src-BtVFSrff.cjs');
1
+ const require_src = require('./src-B-cU8h_Y.cjs');
2
2
 
3
3
  Object.defineProperty(exports, 'constants', {
4
4
  enumerable: true,
package/dist/lib.d.cts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { OpenAPI } from "openapi-types";
2
- import * as typescript$1 from "typescript";
3
2
  import * as typescript from "typescript";
4
- import * as lodash0$1 from "lodash";
5
3
  import * as lodash0 from "lodash";
6
4
  import lodash from "lodash";
7
5
  import * as swagger_schema_official0 from "swagger-schema-official";
@@ -381,7 +379,7 @@ declare class JavascriptTranslator extends Translator {
381
379
  compileTSCode: (input: TranslatorIO) => Record<string, string>;
382
380
  translate: (input: any) => Promise<{
383
381
  fileName: any;
384
- fileExtension: typescript$1.Extension;
382
+ fileExtension: typescript.Extension;
385
383
  fileContent: string;
386
384
  }[]>;
387
385
  }
@@ -530,7 +528,7 @@ declare class CodeGenProcess {
530
528
  }) => string;
531
529
  NameResolver: typeof NameResolver;
532
530
  _: lodash.LoDashStatic;
533
- require: (packageOrPath: string) => Promise<any>;
531
+ require: (packageOrPath: string) => any;
534
532
  };
535
533
  };
536
534
  getTemplate: (name: string, fileName: string, path?: string) => string | undefined;
@@ -635,7 +633,7 @@ declare class CodeGenProcess {
635
633
  }) => string;
636
634
  NameResolver: typeof NameResolver;
637
635
  _: lodash.LoDashStatic;
638
- require: (packageOrPath: string) => Promise<any>;
636
+ require: (packageOrPath: string) => any;
639
637
  };
640
638
  config: CodeGenConfig;
641
639
  };
@@ -672,7 +670,7 @@ declare class TemplatesWorker {
672
670
  getTemplatePaths: (config: CodeGenConfig) => CodeGenConfig["templatePaths"];
673
671
  cropExtension: (path: string) => string;
674
672
  getTemplateFullPath: (path_: string, fileName: string) => string | undefined;
675
- requireFnFromTemplate: (packageOrPath: string) => Promise<any>;
673
+ requireFnFromTemplate: (packageOrPath: string) => any;
676
674
  getTemplate: (name: string, fileName: string, path?: string) => string | undefined;
677
675
  getTemplates: ({
678
676
  templatePaths
@@ -776,6 +774,54 @@ declare class MonoSchemaParser {
776
774
  //#endregion
777
775
  //#region types/index.d.ts
778
776
  type HttpClientType = (typeof HTTP_CLIENT)[keyof typeof HTTP_CLIENT];
777
+ type CodeGenConstruct = {
778
+ Keyword: {
779
+ Number: string;
780
+ String: string;
781
+ Boolean: string;
782
+ Any: string;
783
+ Void: string;
784
+ Unknown: string;
785
+ Null: string;
786
+ Undefined: string;
787
+ Object: string;
788
+ File: string;
789
+ Date: string;
790
+ Type: string;
791
+ Enum: string;
792
+ Interface: string;
793
+ Array: string;
794
+ Record: string;
795
+ Intersection: string;
796
+ Union: string;
797
+ };
798
+ CodeGenKeyword: {
799
+ UtilRequiredKeys: string;
800
+ };
801
+ ArrayType: (content: unknown) => string;
802
+ StringValue: (content: unknown) => string;
803
+ BooleanValue: (content: unknown) => string;
804
+ NumberValue: (content: unknown) => string;
805
+ NullValue: (content: unknown) => string;
806
+ UnionType: (content: unknown) => string;
807
+ ExpressionGroup: (content: unknown) => string;
808
+ IntersectionType: (content: unknown) => string;
809
+ RecordType: (content: unknown) => string;
810
+ TypeField: (content: unknown) => string;
811
+ InterfaceDynamicField: (content: unknown) => string;
812
+ EnumUsageKey: (enumStruct: unknown, key: unknown) => string;
813
+ EnumField: (content: unknown) => string;
814
+ EnumFieldDescription: (content: unknown) => string;
815
+ EnumFieldsWrapper: (content: unknown) => string;
816
+ ObjectWrapper: (content: unknown) => string;
817
+ MultilineComment: (content: unknown) => string;
818
+ TypeWithGeneric: (content: unknown) => string;
819
+ Tuple: (content: unknown) => string;
820
+ };
821
+ type PrimitiveTypeStructValue = string | ((schema: Record<string, unknown>, parser: SchemaParser) => string);
822
+ type PrimitiveTypeStruct = Record<"integer" | "number" | "boolean" | "object" | "file" | "string" | "array", string | ({
823
+ $default: PrimitiveTypeStructValue;
824
+ } & Record<string, PrimitiveTypeStructValue>)>;
779
825
  type BuildRouteParam = {
780
826
  /** {bar} */
781
827
  $match: string;
@@ -1014,18 +1060,45 @@ type ExtractingOptions = {
1014
1060
  };
1015
1061
  interface GenerateApiConfiguration {
1016
1062
  apiConfig: {
1063
+ /** base url from schema */
1017
1064
  baseUrl: string;
1065
+ /** document title */
1018
1066
  title: string;
1067
+ /** document version */
1019
1068
  version: string;
1069
+ /** description split into lines */
1020
1070
  description: string[];
1071
+ /** flag that description is present */
1021
1072
  hasDescription: boolean;
1022
1073
  };
1023
1074
  config: {
1075
+ /** path to swagger schema */
1024
1076
  input: string;
1077
+ /**
1078
+ * generate separated files for http client, data contracts, and routes
1079
+ * @default false
1080
+ */
1081
+ modular: boolean;
1082
+ /**
1083
+ * path to folder where the created api module will be placed.
1084
+ * may be set to `false` to skip writing content to disk; in this case
1085
+ * the `files` array on the return value will contain the generated contents.
1086
+ */
1025
1087
  output: string | false;
1088
+ /** url to swagger schema */
1026
1089
  url: string;
1090
+ /** swagger schema JSON */
1027
1091
  spec: unknown;
1092
+ /**
1093
+ * file name for the generated API module
1094
+ * @default 'Api.ts'
1095
+ */
1028
1096
  fileName: string;
1097
+ /**
1098
+ * path to folder containing custom templates
1099
+ * @default ""
1100
+ */
1101
+ templates: string;
1029
1102
  templatePaths: {
1030
1103
  /** `templates/base` */
1031
1104
  base: string;
@@ -1038,66 +1111,176 @@ interface GenerateApiConfiguration {
1038
1111
  /** custom path to templates (`--templates`) */
1039
1112
  custom: string | null;
1040
1113
  };
1114
+ /** authorisation token for private swagger schema access */
1041
1115
  authorizationToken?: string;
1116
+ /** generate additional information about request responses and error typings */
1042
1117
  generateResponses: boolean;
1118
+ /**
1119
+ * use "default" response status code as success response.
1120
+ * some swagger schemas treat "default" as a successful response.
1121
+ */
1043
1122
  defaultResponseAsSuccess: boolean;
1123
+ /** generate type definitions for API routes */
1044
1124
  generateRouteTypes: boolean;
1125
+ /** generate an API client */
1045
1126
  generateClient: boolean;
1127
+ /** generate all "enum" types as union types (T1 | T2 | TN) */
1046
1128
  generateUnionEnums: boolean;
1129
+ /** parsed swagger schema */
1047
1130
  swaggerSchema: object;
1131
+ /** original swagger schema */
1048
1132
  originalSchema: object;
1133
+ /** map of schema component references */
1049
1134
  componentsMap: Record<string, SchemaComponent>;
1135
+ /** flag indicating the schema was converted from Swagger 2.0 */
1050
1136
  convertedFromSwagger2: boolean;
1137
+ /** determines which path index should be used for routes separation */
1051
1138
  moduleNameIndex: number;
1139
+ /** use the first tag for the module name */
1052
1140
  moduleNameFirstTag: boolean;
1141
+ /** extra templates */
1053
1142
  extraTemplates: {
1054
1143
  name: string;
1055
1144
  path: string;
1056
1145
  }[];
1146
+ /** extract request params to data contract */
1057
1147
  extractRequestParams: boolean;
1148
+ /** unwrap the data item from the response */
1058
1149
  unwrapResponseData: boolean;
1150
+ /** sort data contracts in alphabetical order */
1059
1151
  sortTypes: boolean;
1152
+ /** sort routes in alphabetical order */
1060
1153
  sortRoutes: boolean;
1154
+ /** ability to send HttpClient instance to Api constructor */
1061
1155
  singleHttpClient: boolean;
1156
+ /** prefix string value for type names */
1062
1157
  typePrefix: string;
1158
+ /** suffix string value for type names */
1063
1159
  typeSuffix: string;
1160
+ /** prefix string value for enum keys */
1064
1161
  enumKeyPrefix: string;
1162
+ /** suffix string value for enum keys */
1065
1163
  enumKeySuffix: string;
1164
+ /** fix up small errors in the swagger source definition */
1066
1165
  patch: boolean;
1166
+ /** remove output directory before generating */
1067
1167
  cleanOutput: boolean;
1168
+ /** output debug messages */
1068
1169
  debug: boolean;
1170
+ /**
1171
+ * generate array types as Array<Type>
1172
+ * @default false
1173
+ */
1069
1174
  anotherArrayType: boolean;
1175
+ /** extract request body type to data contract */
1070
1176
  extractRequestBody: boolean;
1177
+ /** generated http client type */
1071
1178
  httpClientType: "axios" | "fetch";
1179
+ /** generate readonly properties */
1072
1180
  addReadonly: boolean;
1181
+ /** customise primitive type mappings */
1182
+ primitiveTypeConstructs?: (struct: PrimitiveTypeStruct) => Partial<PrimitiveTypeStruct>;
1183
+ /** customise code generation constructs */
1184
+ codeGenConstructs?: (struct: CodeGenConstruct) => Partial<CodeGenConstruct>;
1185
+ /** extract response body type to data contract */
1073
1186
  extractResponseBody: boolean;
1187
+ /** extract response error type to data contract */
1074
1188
  extractResponseError: boolean;
1189
+ /** extract all enums from nested types/interfaces to `enum` construction */
1075
1190
  extractEnums: boolean;
1191
+ /** extract all enums from inline interface/type content to typescript enum construction */
1076
1192
  extractResponses: boolean;
1193
+ /**
1194
+ * prefix string value needed to fix invalid type names
1195
+ * @default "Type"
1196
+ */
1077
1197
  fixInvalidTypeNamePrefix: string;
1198
+ /**
1199
+ * prefix string value needed to fix invalid enum keys
1200
+ * @default "Value"
1201
+ */
1078
1202
  fixInvalidEnumKeyPrefix: string;
1203
+ /**
1204
+ * default type for empty response schema
1205
+ * @default "void"
1206
+ */
1079
1207
  defaultResponseType: string;
1208
+ /**
1209
+ * generate js api module with declaration file
1210
+ * @default false
1211
+ */
1080
1212
  toJS: boolean;
1213
+ /** disable throwing on a non-successful response */
1081
1214
  disableThrowOnError: boolean;
1215
+ /**
1216
+ * output only errors to console
1217
+ * @default false
1218
+ */
1082
1219
  silent: boolean;
1220
+ /** hooks for customising the generation process */
1083
1221
  hooks: Partial<Hooks>;
1222
+ /** use enum names as values */
1084
1223
  enumNamesAsValues: boolean;
1224
+ /** package version */
1085
1225
  version: string;
1226
+ /** ts compiler configuration object (for --to-js option) */
1086
1227
  compilerTsConfig: Record<string, unknown>;
1228
+ /** enum key resolver name */
1087
1229
  enumKeyResolverName: string;
1230
+ /** type name resolver name */
1088
1231
  typeNameResolverName: string;
1232
+ /** specific argument name resolver name */
1089
1233
  specificArgNameResolverName: string;
1234
+ /**
1235
+ * custom ts->* translator
1236
+ * do not use constructor args, just send class reference
1237
+ */
1090
1238
  customTranslator?: new () => Translator;
1239
+ /** internal constants */
1240
+ constants: typeof constants_d_exports;
1241
+ /** code generation constructs for TypeScript */
1242
+ Ts: CodeGenConstruct;
1243
+ /**
1244
+ * swagger schema type -> typescript type
1245
+ * https://json-schema.org/understanding-json-schema/reference/string.html#dates-and-times
1246
+ */
1247
+ primitiveTypes: PrimitiveTypeStruct;
1248
+ /** built-in template info */
1249
+ templateInfos: {
1250
+ name: string;
1251
+ fileName: string;
1252
+ }[];
1253
+ /** supported template file extensions */
1254
+ templateExtensions: string[];
1255
+ /** range of HTTP status codes treated as success */
1256
+ successResponseStatusRange: [number, number];
1257
+ /** custom schema parsers */
1258
+ schemaParsers?: {
1259
+ complexOneOf?: MonoSchemaParser;
1260
+ complexAllOf?: MonoSchemaParser;
1261
+ complexAnyOf?: MonoSchemaParser;
1262
+ complexNot?: MonoSchemaParser;
1263
+ enum?: MonoSchemaParser;
1264
+ object?: MonoSchemaParser;
1265
+ complex?: MonoSchemaParser;
1266
+ primitive?: MonoSchemaParser;
1267
+ discriminator?: MonoSchemaParser;
1268
+ array?: MonoSchemaParser;
1269
+ };
1270
+ /** internal options for templates */
1091
1271
  internalTemplateOptions: {
1092
1272
  addUtilRequiredKeysType: boolean;
1093
1273
  };
1274
+ /** resolver for component type names */
1094
1275
  componentTypeNameResolver: ComponentTypeNameResolver;
1276
+ /** generated file names */
1095
1277
  fileNames: {
1096
1278
  dataContracts: string;
1097
1279
  routeTypes: string;
1098
1280
  httpClient: string;
1099
1281
  outOfModuleApi: string;
1100
1282
  };
1283
+ /** Record<templateName, templateContent> */
1101
1284
  templatesToRender: {
1102
1285
  api: string;
1103
1286
  dataContracts: string;
@@ -1110,10 +1293,16 @@ interface GenerateApiConfiguration {
1110
1293
  enumDataContract: string;
1111
1294
  objectFieldJsDoc: string;
1112
1295
  };
1296
+ /** map of duplicate route names */
1113
1297
  routeNameDuplicatesMap: Map<string, string>;
1298
+ /** name of the main exported class */
1114
1299
  apiClassName: string;
1115
- requestOptions?: RequestInit;
1116
- extractingOptions: ExtractingOptions;
1300
+ /** configuration for fetching swagger schema requests */
1301
+ requestOptions?: Partial<RequestInit>;
1302
+ /** extra configuration for extracting type names operations */
1303
+ extractingOptions: Partial<ExtractingOptions>;
1304
+ /** update configuration object during generation */
1305
+ update: (update: Partial<GenerateApiConfiguration["config"]>) => void;
1117
1306
  };
1118
1307
  modelTypes: ModelType[];
1119
1308
  hasFormDataRoutes: boolean;
@@ -1144,7 +1333,7 @@ interface GenerateApiConfiguration {
1144
1333
  fmtToJSDocLine: (line: string, params?: {
1145
1334
  eol?: boolean;
1146
1335
  }) => string;
1147
- _: lodash0$1.LoDashStatic;
1336
+ _: lodash0.LoDashStatic;
1148
1337
  require: (path: string) => unknown;
1149
1338
  };
1150
1339
  }
@@ -1588,7 +1777,7 @@ declare function generateApi(config: Partial<GenerateApiConfiguration["config"]>
1588
1777
  }) => string;
1589
1778
  NameResolver: typeof NameResolver;
1590
1779
  _: lodash0.LoDashStatic;
1591
- require: (packageOrPath: string) => Promise<any>;
1780
+ require: (packageOrPath: string) => any;
1592
1781
  };
1593
1782
  };
1594
1783
  getTemplate: (name: string, fileName: string, path?: string) => string | undefined;